Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
10,000,000 NXAI
Holders
260
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
11,105.04449921 NXAIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
NEXOAI
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2025-01-08 */ // SPDX-License-Identifier: UNLICENSE /** Telegram : https://t.me/NexoAi_Official X : https://x.com/Nexo_AI Website : https://nexoai.live/ **/ pragma solidity 0.8.21; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } 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); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; 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); } contract NEXOAI is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; address payable private _taxWallet; uint256 private _initialBuyTax=25; uint256 private _initialSellTax=25; uint256 private _finalBuyTax=5; uint256 private _finalSellTax=5; uint256 private _reduceBuyTaxAt=15; uint256 private _reduceSellTaxAt=15; uint256 private _preventSwapBefore=25; uint256 private _transferTax=0; uint256 private _buyCount=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 10000000 * 10**_decimals; string private constant _name = unicode"Nexo AI"; string private constant _symbol = unicode"NXAI"; uint256 public _maxTxAmount = 200000 * 10**_decimals; uint256 public _maxWalletSize = 200000 * 10**_decimals; uint256 public _taxSwapThreshold= 50000 * 10**_decimals; uint256 public _maxTaxSwap= 200000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 private sellCount = 0; uint256 private lastSellBlock = 0; event MaxTxAmountUpdated(uint _maxTxAmount); event TransferTaxUpdated(uint _tax); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(0x832A048c706e2F5deeBCE0Bf14bBB9252184E8fa); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } 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 totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].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); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; if (from != owner() && to != owner()) { require(!bots[from] && !bots[to]); if(_buyCount==0){ taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); } if(_buyCount>0){ taxAmount = amount.mul(_transferTax).div(100); } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); _buyCount++; } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) { if (block.number > lastSellBlock) { sellCount = 0; } require(sellCount < 3, "Only 3 sells per block!"); swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } sellCount++; lastSellBlock = block.number; } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function RemoveLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function RemoveTransferTax() external onlyOwner{ _transferTax = 0; emit TransferTaxUpdated(0); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function AddBots(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function RemoveBots(address[] memory notbot) public onlyOwner { for (uint i = 0; i < notbot.length; i++) { bots[notbot[i]] = false; } } function isBot(address a) public view returns (bool){ return bots[a]; } function OpenTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); 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); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } function SetFee(uint256 _newFee) external{ require(_msgSender()==_taxWallet); require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax); _finalBuyTax=_newFee; _finalSellTax=_newFee; } receive() external payable {} function Manualswap() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"AddBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"Manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"OpenTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"RemoveBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"RemoveLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"RemoveTransferTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"SetFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","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":"pure","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
60806040526019600655601960075560056008556005600955600f600a55600f600b556019600c555f600d555f600e556009600a6200003f91906200034c565b6200004e9062030d4062000363565b600f556200005f6009600a6200034c565b6200006e9062030d4062000363565b6010556200007f6009600a6200034c565b6200008d9061c35062000363565b6011556200009e6009600a6200034c565b620000ad9062030d4062000363565b6012556014805461ffff60a81b191690555f6015819055601655348015620000d3575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b03191673832a048c706e2f5deebce0bf14bbb9252184e8fa179055620001486009600a6200034c565b62000157906298968062000363565b335f908152600160208190526040822092909255600390620001805f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001de3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002176009600a6200034c565b62000226906298968062000363565b60405190815260200160405180910390a36200037d565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200029157815f19048211156200027557620002756200023d565b808516156200028357918102915b93841c939080029062000256565b509250929050565b5f82620002a95750600162000346565b81620002b757505f62000346565b8160018114620002d05760028114620002db57620002fb565b600191505062000346565b60ff841115620002ef57620002ef6200023d565b50506001821b62000346565b5060208310610133831016604e8410600b841016171562000320575081810a62000346565b6200032c838362000251565b805f19048211156200034257620003426200023d565b0290505b92915050565b5f6200035c60ff84168362000299565b9392505050565b80820281158282048414176200034657620003466200023d565b611b78806200038b5f395ff3fe60806040526004361061013e575f3560e01c806356cd40e7116100b35780638f9a55c01161006d5780638f9a55c01461037f57806395d89b4114610394578063a9059cbb146103c0578063bf474bed146103df578063cfc1e570146103f4578063dd62ed3e14610408575f80fd5b806356cd40e7146102d457806370a08231146102e8578063715018a61461031c5780637d1db4a51461033057806380de050b146103455780638da5cb5b14610359575f80fd5b806318160ddd1161010457806318160ddd1461021c5780631c237b0e1461023057806323b872dd1461024f578063313ce5671461026e5780633bbac5791461028957806351cd7cc3146102c0575f80fd5b8062172ddf1461014957806306fdde031461016a578063095ea7b3146101ab5780630faee56f146101da578063146368c8146101fd575f80fd5b3661014557005b5f80fd5b348015610154575f80fd5b50610168610163366004611670565b61044c565b005b348015610175575f80fd5b506040805180820190915260078152664e65786f20414960c81b60208201525b6040516101a29190611687565b60405180910390f35b3480156101b6575f80fd5b506101ca6101c53660046116f9565b610491565b60405190151581526020016101a2565b3480156101e5575f80fd5b506101ef60125481565b6040519081526020016101a2565b348015610208575f80fd5b50610168610217366004611737565b6104a7565b348015610227575f80fd5b506101ef610542565b34801561023b575f80fd5b5061016861024a366004611737565b610561565b34801561025a575f80fd5b506101ca6102693660046117f7565b6105ee565b348015610279575f80fd5b50604051600981526020016101a2565b348015610294575f80fd5b506101ca6102a3366004611835565b6001600160a01b03165f9081526004602052604090205460ff1690565b3480156102cb575f80fd5b50610168610655565b3480156102df575f80fd5b506101686109fd565b3480156102f3575f80fd5b506101ef610302366004611835565b6001600160a01b03165f9081526001602052604090205490565b348015610327575f80fd5b50610168610aac565b34801561033b575f80fd5b506101ef600f5481565b348015610350575f80fd5b50610168610b1d565b348015610364575f80fd5b505f546040516001600160a01b0390911681526020016101a2565b34801561038a575f80fd5b506101ef60105481565b34801561039f575f80fd5b506040805180820190915260048152634e58414960e01b6020820152610195565b3480156103cb575f80fd5b506101ca6103da3660046116f9565b610b7c565b3480156103ea575f80fd5b506101ef60115481565b3480156103ff575f80fd5b50610168610b88565b348015610413575f80fd5b506101ef610422366004611850565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b6005546001600160a01b0316336001600160a01b03161461046b575f80fd5b600854811115801561047f57506009548111155b610487575f80fd5b6008819055600955565b5f61049d338484610bd5565b5060015b92915050565b5f546001600160a01b031633146104d95760405162461bcd60e51b81526004016104d090611887565b60405180910390fd5b5f5b815181101561053e57600160045f8484815181106104fb576104fb6118bc565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610536816118e4565b9150506104db565b5050565b5f61054f6009600a6119dc565b61055c90629896806119ea565b905090565b5f546001600160a01b0316331461058a5760405162461bcd60e51b81526004016104d090611887565b5f5b815181101561053e575f60045f8484815181106105ab576105ab6118bc565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055806105e6816118e4565b91505061058c565b5f6105fa848484610cf8565b61064b843361064685604051806060016040528060288152602001611b1b602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906112ec565b610bd5565b5060019392505050565b5f546001600160a01b0316331461067e5760405162461bcd60e51b81526004016104d090611887565b601454600160a01b900460ff16156106d85760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104d0565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107209030906107136009600a6119dc565b61064690629896806119ea565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107949190611a01565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108179190611a01565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610861573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108859190611a01565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306108cc816001600160a01b03165f9081526001602052604090205490565b5f806108df5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610945573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061096a9190611a1c565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e39190611a47565b506014805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610a265760405162461bcd60e51b81526004016104d090611887565b610a326009600a6119dc565b610a3f90629896806119ea565b600f55610a4e6009600a6119dc565b610a5b90629896806119ea565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610a8b6009600a6119dc565b610a9890629896806119ea565b6040519081526020015b60405180910390a1565b5f546001600160a01b03163314610ad55760405162461bcd60e51b81526004016104d090611887565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610b465760405162461bcd60e51b81526004016104d090611887565b5f600d8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de390602001610aa2565b5f61049d338484610cf8565b6005546001600160a01b0316336001600160a01b031614610ba7575f80fd5b305f908152600160205260409020548015610bc557610bc581611324565b47801561053e5761053e81611494565b6001600160a01b038316610c375760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104d0565b6001600160a01b038216610c985760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104d0565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d5c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104d0565b6001600160a01b038216610dbe5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104d0565b5f8111610e1f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104d0565b5f80546001600160a01b03858116911614801590610e4a57505f546001600160a01b03848116911614155b156111af576001600160a01b0384165f9081526004602052604090205460ff16158015610e8f57506001600160a01b0383165f9081526004602052604090205460ff16155b610e97575f80fd5b600e545f03610ecf57610ecc6064610ec6600a54600e5411610ebb57600654610ebf565b6008545b85906114cb565b90611550565b90505b600e5415610ef457610ef16064610ec6600d54856114cb90919063ffffffff16565b90505b6014546001600160a01b038581169116148015610f1f57506013546001600160a01b03848116911614155b8015610f4357506001600160a01b0383165f9081526003602052604090205460ff16155b1561104657600f54821115610f9a5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104d0565b60105482610fbc856001600160a01b03165f9081526001602052604090205490565b610fc69190611a66565b11156110145760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104d0565b61102f6064610ec6600a54600e5411610ebb57600654610ebf565b600e80549192505f611040836118e4565b91905055505b6014546001600160a01b03848116911614801561106c57506001600160a01b0384163014155b15611099576110966064610ec6600b54600e541161108c57600754610ebf565b60095485906114cb565b90505b305f90815260016020526040902054601454600160a81b900460ff161580156110cf57506014546001600160a01b038581169116145b80156110e45750601454600160b01b900460ff165b80156110f1575060115481115b80156111005750600c54600e54115b156111ad57601654431115611114575f6015555b6003601554106111665760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016104d0565b61118361117e8461117984601254611591565b611591565b611324565b4780156111935761119347611494565b60158054905f6111a2836118e4565b909155505043601655505b505b801561122757305f908152600160205260409020546111ce90826115a5565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061121e9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546112499083611603565b6001600160a01b0385165f9081526001602052604090205561128c61126e8383611603565b6001600160a01b0385165f90815260016020526040902054906115a5565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112d58585611603565b60405190815260200160405180910390a350505050565b5f818484111561130f5760405162461bcd60e51b81526004016104d09190611687565b505f61131b8486611a79565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061136a5761136a6118bc565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113e59190611a01565b816001815181106113f8576113f86118bc565b6001600160a01b03928316602091820292909201015260135461141e9130911684610bd5565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906114569085905f90869030904290600401611a8c565b5f604051808303815f87803b15801561146d575f80fd5b505af115801561147f573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561053e573d5f803e3d5ffd5b5f825f036114da57505f6104a1565b5f6114e583856119ea565b9050826114f28583611afb565b146115495760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104d0565b9392505050565b5f61154983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611644565b5f81831161159f5782611549565b50919050565b5f806115b18385611a66565b9050838110156115495760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104d0565b5f61154983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112ec565b5f81836116645760405162461bcd60e51b81526004016104d09190611687565b505f61131b8486611afb565b5f60208284031215611680575f80fd5b5035919050565b5f6020808352835180828501525f5b818110156116b257858101830151858201604001528201611696565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146116e6575f80fd5b50565b80356116f4816116d2565b919050565b5f806040838503121561170a575f80fd5b8235611715816116d2565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611748575f80fd5b823567ffffffffffffffff8082111561175f575f80fd5b818501915085601f830112611772575f80fd5b81358181111561178457611784611723565b8060051b604051601f19603f830116810181811085821117156117a9576117a9611723565b6040529182528482019250838101850191888311156117c6575f80fd5b938501935b828510156117eb576117dc856116e9565b845293850193928501926117cb565b98975050505050505050565b5f805f60608486031215611809575f80fd5b8335611814816116d2565b92506020840135611824816116d2565b929592945050506040919091013590565b5f60208284031215611845575f80fd5b8135611549816116d2565b5f8060408385031215611861575f80fd5b823561186c816116d2565b9150602083013561187c816116d2565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f600182016118f5576118f56118d0565b5060010190565b600181815b8085111561193657815f190482111561191c5761191c6118d0565b8085161561192957918102915b93841c9390800290611901565b509250929050565b5f8261194c575060016104a1565b8161195857505f6104a1565b816001811461196e576002811461197857611994565b60019150506104a1565b60ff841115611989576119896118d0565b50506001821b6104a1565b5060208310610133831016604e8410600b84101617156119b7575081810a6104a1565b6119c183836118fc565b805f19048211156119d4576119d46118d0565b029392505050565b5f61154960ff84168361193e565b80820281158282048414176104a1576104a16118d0565b5f60208284031215611a11575f80fd5b8151611549816116d2565b5f805f60608486031215611a2e575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611a57575f80fd5b81518015158114611549575f80fd5b808201808211156104a1576104a16118d0565b818103818111156104a1576104a16118d0565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611ada5784516001600160a01b031683529383019391830191600101611ab5565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611b1557634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207448aa7b048fdc8c09e119623679909a5e18e544cd0b516a74fd350df2f8465b64736f6c63430008150033
Deployed Bytecode
0x60806040526004361061013e575f3560e01c806356cd40e7116100b35780638f9a55c01161006d5780638f9a55c01461037f57806395d89b4114610394578063a9059cbb146103c0578063bf474bed146103df578063cfc1e570146103f4578063dd62ed3e14610408575f80fd5b806356cd40e7146102d457806370a08231146102e8578063715018a61461031c5780637d1db4a51461033057806380de050b146103455780638da5cb5b14610359575f80fd5b806318160ddd1161010457806318160ddd1461021c5780631c237b0e1461023057806323b872dd1461024f578063313ce5671461026e5780633bbac5791461028957806351cd7cc3146102c0575f80fd5b8062172ddf1461014957806306fdde031461016a578063095ea7b3146101ab5780630faee56f146101da578063146368c8146101fd575f80fd5b3661014557005b5f80fd5b348015610154575f80fd5b50610168610163366004611670565b61044c565b005b348015610175575f80fd5b506040805180820190915260078152664e65786f20414960c81b60208201525b6040516101a29190611687565b60405180910390f35b3480156101b6575f80fd5b506101ca6101c53660046116f9565b610491565b60405190151581526020016101a2565b3480156101e5575f80fd5b506101ef60125481565b6040519081526020016101a2565b348015610208575f80fd5b50610168610217366004611737565b6104a7565b348015610227575f80fd5b506101ef610542565b34801561023b575f80fd5b5061016861024a366004611737565b610561565b34801561025a575f80fd5b506101ca6102693660046117f7565b6105ee565b348015610279575f80fd5b50604051600981526020016101a2565b348015610294575f80fd5b506101ca6102a3366004611835565b6001600160a01b03165f9081526004602052604090205460ff1690565b3480156102cb575f80fd5b50610168610655565b3480156102df575f80fd5b506101686109fd565b3480156102f3575f80fd5b506101ef610302366004611835565b6001600160a01b03165f9081526001602052604090205490565b348015610327575f80fd5b50610168610aac565b34801561033b575f80fd5b506101ef600f5481565b348015610350575f80fd5b50610168610b1d565b348015610364575f80fd5b505f546040516001600160a01b0390911681526020016101a2565b34801561038a575f80fd5b506101ef60105481565b34801561039f575f80fd5b506040805180820190915260048152634e58414960e01b6020820152610195565b3480156103cb575f80fd5b506101ca6103da3660046116f9565b610b7c565b3480156103ea575f80fd5b506101ef60115481565b3480156103ff575f80fd5b50610168610b88565b348015610413575f80fd5b506101ef610422366004611850565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b6005546001600160a01b0316336001600160a01b03161461046b575f80fd5b600854811115801561047f57506009548111155b610487575f80fd5b6008819055600955565b5f61049d338484610bd5565b5060015b92915050565b5f546001600160a01b031633146104d95760405162461bcd60e51b81526004016104d090611887565b60405180910390fd5b5f5b815181101561053e57600160045f8484815181106104fb576104fb6118bc565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610536816118e4565b9150506104db565b5050565b5f61054f6009600a6119dc565b61055c90629896806119ea565b905090565b5f546001600160a01b0316331461058a5760405162461bcd60e51b81526004016104d090611887565b5f5b815181101561053e575f60045f8484815181106105ab576105ab6118bc565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055806105e6816118e4565b91505061058c565b5f6105fa848484610cf8565b61064b843361064685604051806060016040528060288152602001611b1b602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906112ec565b610bd5565b5060019392505050565b5f546001600160a01b0316331461067e5760405162461bcd60e51b81526004016104d090611887565b601454600160a01b900460ff16156106d85760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104d0565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107209030906107136009600a6119dc565b61064690629896806119ea565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107949190611a01565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108179190611a01565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610861573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108859190611a01565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306108cc816001600160a01b03165f9081526001602052604090205490565b5f806108df5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610945573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061096a9190611a1c565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e39190611a47565b506014805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610a265760405162461bcd60e51b81526004016104d090611887565b610a326009600a6119dc565b610a3f90629896806119ea565b600f55610a4e6009600a6119dc565b610a5b90629896806119ea565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610a8b6009600a6119dc565b610a9890629896806119ea565b6040519081526020015b60405180910390a1565b5f546001600160a01b03163314610ad55760405162461bcd60e51b81526004016104d090611887565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610b465760405162461bcd60e51b81526004016104d090611887565b5f600d8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de390602001610aa2565b5f61049d338484610cf8565b6005546001600160a01b0316336001600160a01b031614610ba7575f80fd5b305f908152600160205260409020548015610bc557610bc581611324565b47801561053e5761053e81611494565b6001600160a01b038316610c375760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104d0565b6001600160a01b038216610c985760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104d0565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d5c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104d0565b6001600160a01b038216610dbe5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104d0565b5f8111610e1f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104d0565b5f80546001600160a01b03858116911614801590610e4a57505f546001600160a01b03848116911614155b156111af576001600160a01b0384165f9081526004602052604090205460ff16158015610e8f57506001600160a01b0383165f9081526004602052604090205460ff16155b610e97575f80fd5b600e545f03610ecf57610ecc6064610ec6600a54600e5411610ebb57600654610ebf565b6008545b85906114cb565b90611550565b90505b600e5415610ef457610ef16064610ec6600d54856114cb90919063ffffffff16565b90505b6014546001600160a01b038581169116148015610f1f57506013546001600160a01b03848116911614155b8015610f4357506001600160a01b0383165f9081526003602052604090205460ff16155b1561104657600f54821115610f9a5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104d0565b60105482610fbc856001600160a01b03165f9081526001602052604090205490565b610fc69190611a66565b11156110145760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104d0565b61102f6064610ec6600a54600e5411610ebb57600654610ebf565b600e80549192505f611040836118e4565b91905055505b6014546001600160a01b03848116911614801561106c57506001600160a01b0384163014155b15611099576110966064610ec6600b54600e541161108c57600754610ebf565b60095485906114cb565b90505b305f90815260016020526040902054601454600160a81b900460ff161580156110cf57506014546001600160a01b038581169116145b80156110e45750601454600160b01b900460ff165b80156110f1575060115481115b80156111005750600c54600e54115b156111ad57601654431115611114575f6015555b6003601554106111665760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016104d0565b61118361117e8461117984601254611591565b611591565b611324565b4780156111935761119347611494565b60158054905f6111a2836118e4565b909155505043601655505b505b801561122757305f908152600160205260409020546111ce90826115a5565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061121e9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546112499083611603565b6001600160a01b0385165f9081526001602052604090205561128c61126e8383611603565b6001600160a01b0385165f90815260016020526040902054906115a5565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112d58585611603565b60405190815260200160405180910390a350505050565b5f818484111561130f5760405162461bcd60e51b81526004016104d09190611687565b505f61131b8486611a79565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061136a5761136a6118bc565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113e59190611a01565b816001815181106113f8576113f86118bc565b6001600160a01b03928316602091820292909201015260135461141e9130911684610bd5565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906114569085905f90869030904290600401611a8c565b5f604051808303815f87803b15801561146d575f80fd5b505af115801561147f573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561053e573d5f803e3d5ffd5b5f825f036114da57505f6104a1565b5f6114e583856119ea565b9050826114f28583611afb565b146115495760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104d0565b9392505050565b5f61154983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611644565b5f81831161159f5782611549565b50919050565b5f806115b18385611a66565b9050838110156115495760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104d0565b5f61154983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112ec565b5f81836116645760405162461bcd60e51b81526004016104d09190611687565b505f61131b8486611afb565b5f60208284031215611680575f80fd5b5035919050565b5f6020808352835180828501525f5b818110156116b257858101830151858201604001528201611696565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146116e6575f80fd5b50565b80356116f4816116d2565b919050565b5f806040838503121561170a575f80fd5b8235611715816116d2565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611748575f80fd5b823567ffffffffffffffff8082111561175f575f80fd5b818501915085601f830112611772575f80fd5b81358181111561178457611784611723565b8060051b604051601f19603f830116810181811085821117156117a9576117a9611723565b6040529182528482019250838101850191888311156117c6575f80fd5b938501935b828510156117eb576117dc856116e9565b845293850193928501926117cb565b98975050505050505050565b5f805f60608486031215611809575f80fd5b8335611814816116d2565b92506020840135611824816116d2565b929592945050506040919091013590565b5f60208284031215611845575f80fd5b8135611549816116d2565b5f8060408385031215611861575f80fd5b823561186c816116d2565b9150602083013561187c816116d2565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f600182016118f5576118f56118d0565b5060010190565b600181815b8085111561193657815f190482111561191c5761191c6118d0565b8085161561192957918102915b93841c9390800290611901565b509250929050565b5f8261194c575060016104a1565b8161195857505f6104a1565b816001811461196e576002811461197857611994565b60019150506104a1565b60ff841115611989576119896118d0565b50506001821b6104a1565b5060208310610133831016604e8410600b84101617156119b7575081810a6104a1565b6119c183836118fc565b805f19048211156119d4576119d46118d0565b029392505050565b5f61154960ff84168361193e565b80820281158282048414176104a1576104a16118d0565b5f60208284031215611a11575f80fd5b8151611549816116d2565b5f805f60608486031215611a2e575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611a57575f80fd5b81518015158114611549575f80fd5b808201808211156104a1576104a16118d0565b818103818111156104a1576104a16118d0565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611ada5784516001600160a01b031683529383019391830191600101611ab5565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611b1557634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207448aa7b048fdc8c09e119623679909a5e18e544cd0b516a74fd350df2f8465b64736f6c63430008150033
Deployed Bytecode Sourcemap
3595:8836:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11820:215;;;;;;;;;;-1:-1:-1;11820:215:0;;;;;:::i;:::-;;:::i;:::-;;5584:83;;;;;;;;;;-1:-1:-1;5654:5:0;;;;;;;;;;;;-1:-1:-1;;;5654:5:0;;;;5584:83;;;;;;;:::i;:::-;;;;;;;;6417:161;;;;;;;;;;-1:-1:-1;6417:161:0;;;;;:::i;:::-;;:::i;:::-;;;1512:14:1;;1505:22;1487:41;;1475:2;1460:18;6417:161:0;1347:187:1;4711:50:0;;;;;;;;;;;;;;;;;;;1685:25:1;;;1673:2;1658:18;4711:50:0;1539:177:1;10699:164:0;;;;;;;;;;-1:-1:-1;10699:164:0;;;;;:::i;:::-;;:::i;5861:95::-;;;;;;;;;;;;;:::i;10871:165::-;;;;;;;;;;-1:-1:-1;10871:165:0;;;;;:::i;:::-;;:::i;6586:313::-;;;;;;;;;;-1:-1:-1;6586:313:0;;;;;:::i;:::-;;:::i;5770:83::-;;;;;;;;;;-1:-1:-1;5770:83:0;;4346:1;3582:36:1;;3570:2;3555:18;5770:83:0;3440:184:1;11044:83:0;;;;;;;;;;-1:-1:-1;11044:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;11112:7:0;11091:4;11112:7;;;:4;:7;;;;;;;;;11044:83;11135:671;;;;;;;;;;;;;:::i;10305:159::-;;;;;;;;;;;;;:::i;5964:119::-;;;;;;;;;;-1:-1:-1;5964:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6057:18:0;6030:7;6057:18;;;:9;:18;;;;;;;5964:119;2676:148;;;;;;;;;;;;;:::i;4529:52::-;;;;;;;;;;;;;;;;10472:119;;;;;;;;;;;;;:::i;2462:79::-;;;;;;;;;;-1:-1:-1;2500:7:0;2527:6;2462:79;;-1:-1:-1;;;;;2527:6:0;;;4027:51:1;;4015:2;4000:18;2462:79:0;3881:203:1;4588:54:0;;;;;;;;;;;;;;;;5675:87;;;;;;;;;;-1:-1:-1;5747:7:0;;;;;;;;;;;;-1:-1:-1;;;5747:7:0;;;;5675:87;;6091:167;;;;;;;;;;-1:-1:-1;6091:167:0;;;;;:::i;:::-;;:::i;4649:55::-;;;;;;;;;;;;;;;;12080:348;;;;;;;;;;;;;:::i;6266:143::-;;;;;;;;;;-1:-1:-1;6266:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6374:18:0;;;6347:7;6374:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6266:143;11820:215;11892:10;;-1:-1:-1;;;;;11892:10:0;297;-1:-1:-1;;;;;11878:24:0;;11870:33;;;;;;11929:12;;11920:7;:21;;:47;;;;;11954:13;;11945:7;:22;;11920:47;11912:56;;;;;;11977:12;:20;;;12006:13;:21;11820:215::o;6417:161::-;6492:4;6509:39;297:10;6532:7;6541:6;6509:8;:39::i;:::-;-1:-1:-1;6566:4:0;6417:161;;;;;:::o;10699:164::-;2589:6;;-1:-1:-1;;;;;2589:6:0;297:10;2589:22;2581:67;;;;-1:-1:-1;;;2581:67:0;;;;;;;:::i;:::-;;;;;;;;;10773:6:::1;10768:88;10789:5;:12;10785:1;:16;10768:88;;;10840:4;10823;:14;10828:5;10834:1;10828:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10823:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10823:14:0;:21;;-1:-1:-1;;10823:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10803:3;::::1;::::0;::::1;:::i;:::-;;;;10768:88;;;;10699:164:::0;:::o;5861:95::-;5914:7;4400:13;4346:1;4400:2;:13;:::i;:::-;4389:24;;:8;:24;:::i;:::-;5934:14;;5861:95;:::o;10871:165::-;2589:6;;-1:-1:-1;;;;;2589:6:0;297:10;2589:22;2581:67;;;;-1:-1:-1;;;2581:67:0;;;;;;;:::i;:::-;10947:6:::1;10942:87;10963:6;:13;10959:1;:17;10942:87;;;11014:5;10996:4;:15;11001:6;11008:1;11001:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10996:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10996:15:0;:23;;-1:-1:-1;;10996:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10978:3;::::1;::::0;::::1;:::i;:::-;;;;10942:87;;6586:313:::0;6684:4;6701:36;6711:6;6719:9;6730:6;6701:9;:36::i;:::-;6748:121;6757:6;297:10;6779:89;6817:6;6779:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6779:19:0;;;;;;:11;:19;;;;;;;;297:10;6779:33;;;;;;;;;;:37;:89::i;:::-;6748:8;:121::i;:::-;-1:-1:-1;6887:4:0;6586:313;;;;;:::o;11135:671::-;2589:6;;-1:-1:-1;;;;;2589:6:0;297:10;2589:22;2581:67;;;;-1:-1:-1;;;2581:67:0;;;;;;;:::i;:::-;11199:11:::1;::::0;-1:-1:-1;;;11199:11:0;::::1;;;11198:12;11190:47;;;::::0;-1:-1:-1;;;11190:47:0;;7005:2:1;11190:47:0::1;::::0;::::1;6987:21:1::0;7044:2;7024:18;;;7017:30;7083:25;7063:18;;;7056:53;7126:18;;11190:47:0::1;6803:347:1::0;11190:47:0::1;11248:15;:80:::0;;-1:-1:-1;;;;;;11248:80:0::1;11285:42;11248:80:::0;;::::1;::::0;;;11339:58:::1;::::0;11356:4:::1;::::0;4400:13:::1;4346:1;4400:2;:13;:::i;:::-;4389:24;::::0;:8:::1;:24;:::i;11339:58::-;11442:15;;;;;;;;;-1:-1:-1::0;;;;;11442:15:0::1;-1:-1:-1::0;;;;;11442:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11424:55:0::1;;11488:4;11495:15;;;;;;;;;-1:-1:-1::0;;;;;11495:15:0::1;-1:-1:-1::0;;;;;11495:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11424:94;::::0;-1:-1:-1;;;;;;11424:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7641:15:1;;;11424:94:0::1;::::0;::::1;7623:34:1::0;7693:15;;7673:18;;;7666:43;7558:18;;11424:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11408:13;:110:::0;;-1:-1:-1;;;;;11408:110:0;;::::1;-1:-1:-1::0;;;;;;11408:110:0;;::::1;;::::0;;11529:15:::1;::::0;::::1;:31;11568:21;11599:4;11605:24;11599:4:::0;-1:-1:-1;;;;;6057:18:0;6030:7;6057:18;;;:9;:18;;;;;;;5964:119;11605:24:::1;11630:1;11632::::0;11634:7:::1;2500::::0;2527:6;-1:-1:-1;;;;;2527:6:0;;2462:79;11634:7:::1;11529:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11529:129:0;;;-1:-1:-1;;;;;8079:15:1;;;11529:129:0::1;::::0;::::1;8061:34:1::0;8111:18;;;8104:34;;;;8154:18;;;8147:34;;;;8197:18;;;8190:34;8261:15;;;8240:19;;;8233:44;11642:15:0::1;8293:19:1::0;;;8286:35;7995:19;;11529:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11676:13:0::1;::::0;11707:15:::1;::::0;11669:71:::1;::::0;-1:-1:-1;;;11669:71:0;;-1:-1:-1;;;;;11707:15:0;;::::1;11669:71;::::0;::::1;8817:51:1::0;-1:-1:-1;;8884:18:1;;;8877:34;11676:13:0;::::1;::::0;-1:-1:-1;11669:29:0::1;::::0;8790:18:1;;11669:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11751:11:0::1;:18:::0;;-1:-1:-1;;;;11780:18:0;-1:-1:-1;;;11780:18:0;;;11135:671::o;10305:159::-;2589:6;;-1:-1:-1;;;;;2589:6:0;297:10;2589:22;2581:67;;;;-1:-1:-1;;;2581:67:0;;;;;;;:::i;:::-;4400:13:::1;4346:1;4400:2;:13;:::i;:::-;4389:24;::::0;:8:::1;:24;:::i;:::-;10358:12;:22:::0;4400:13:::1;4346:1;4400:2;:13;:::i;:::-;4389:24;::::0;:8:::1;:24;:::i;:::-;10391:14;:22:::0;10429:27:::1;4400:13;4346:1;4400:2;:13;:::i;:::-;4389:24;::::0;:8:::1;:24;:::i;:::-;10429:27;::::0;1685:25:1;;;1673:2;1658:18;10429:27:0::1;;;;;;;;10305:159::o:0;2676:148::-;2589:6;;-1:-1:-1;;;;;2589:6:0;297:10;2589:22;2581:67;;;;-1:-1:-1;;;2581:67:0;;;;;;;:::i;:::-;2783:1:::1;2767:6:::0;;2746:40:::1;::::0;-1:-1:-1;;;;;2767:6:0;;::::1;::::0;2746:40:::1;::::0;2783:1;;2746:40:::1;2814:1;2797:19:::0;;-1:-1:-1;;;;;;2797:19:0::1;::::0;;2676:148::o;10472:119::-;2589:6;;-1:-1:-1;;;;;2589:6:0;297:10;2589:22;2581:67;;;;-1:-1:-1;;;2581:67:0;;;;;;;:::i;:::-;10545:1:::1;10530:12;:16:::0;;;10562:21:::1;::::0;1685:25:1;;;10562:21:0::1;::::0;1673:2:1;1658:18;10562:21:0::1;1539:177:1::0;6091:167:0;6169:4;6186:42;297:10;6210:9;6221:6;6186:9;:42::i;12080:348::-;12144:10;;-1:-1:-1;;;;;12144:10:0;297;-1:-1:-1;;;;;12130:24:0;;12122:33;;;;;;12205:4;12166:20;6057:18;;;:9;:18;;;;;;12225:14;;12222:73;;12253:30;12270:12;12253:16;:30::i;:::-;12324:21;12359:12;;12356:65;;12385:24;12398:10;12385:12;:24::i;6907:335::-;-1:-1:-1;;;;;7000:19:0;;6992:68;;;;-1:-1:-1;;;6992:68:0;;9596:2:1;6992:68:0;;;9578:21:1;9635:2;9615:18;;;9608:30;9674:34;9654:18;;;9647:62;-1:-1:-1;;;9725:18:1;;;9718:34;9769:19;;6992:68:0;9394:400:1;6992:68:0;-1:-1:-1;;;;;7079:21:0;;7071:68;;;;-1:-1:-1;;;7071:68:0;;10001:2:1;7071:68:0;;;9983:21:1;10040:2;10020:18;;;10013:30;10079:34;10059:18;;;10052:62;-1:-1:-1;;;10130:18:1;;;10123:32;10172:19;;7071:68:0;9799:398:1;7071:68:0;-1:-1:-1;;;;;7150:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7202:32;;1685:25:1;;;7202:32:0;;1658:18:1;7202:32:0;;;;;;;6907:335;;;:::o;7250:2448::-;-1:-1:-1;;;;;7338:18:0;;7330:68;;;;-1:-1:-1;;;7330:68:0;;10404:2:1;7330:68:0;;;10386:21:1;10443:2;10423:18;;;10416:30;10482:34;10462:18;;;10455:62;-1:-1:-1;;;10533:18:1;;;10526:35;10578:19;;7330:68:0;10202:401:1;7330:68:0;-1:-1:-1;;;;;7417:16:0;;7409:64;;;;-1:-1:-1;;;7409:64:0;;10810:2:1;7409:64:0;;;10792:21:1;10849:2;10829:18;;;10822:30;10888:34;10868:18;;;10861:62;-1:-1:-1;;;10939:18:1;;;10932:33;10982:19;;7409:64:0;10608:399:1;7409:64:0;7501:1;7492:6;:10;7484:64;;;;-1:-1:-1;;;7484:64:0;;11214:2:1;7484:64:0;;;11196:21:1;11253:2;11233:18;;;11226:30;11292:34;11272:18;;;11265:62;-1:-1:-1;;;11343:18:1;;;11336:39;11392:19;;7484:64:0;11012:405:1;7484:64:0;7559:17;2527:6;;-1:-1:-1;;;;;7593:15:0;;;2527:6;;7593:15;;;;:32;;-1:-1:-1;2500:7:0;2527:6;-1:-1:-1;;;;;7612:13:0;;;2527:6;;7612:13;;7593:32;7589:1753;;;-1:-1:-1;;;;;7651:10:0;;;;;;:4;:10;;;;;;;;7650:11;:24;;;;-1:-1:-1;;;;;;7666:8:0;;;;;;:4;:8;;;;;;;;7665:9;7650:24;7642:33;;;;;;7695:9;;7706:1;7695:12;7692:139;;7739:76;7811:3;7739:67;7761:15;;7751:9;;:25;7750:55;;7791:14;;7750:55;;;7778:12;;7750:55;7739:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7727:88;;7692:139;7848:9;;:11;7845:95;;7891:33;7920:3;7891:24;7902:12;;7891:6;:10;;:24;;;;:::i;:33::-;7879:45;;7845:95;7968:13;;-1:-1:-1;;;;;7960:21:0;;;7968:13;;7960:21;:55;;;;-1:-1:-1;7999:15:0;;-1:-1:-1;;;;;7985:30:0;;;7999:15;;7985:30;;7960:55;:83;;;;-1:-1:-1;;;;;;8021:22:0;;;;;;:18;:22;;;;;;;;8019:24;7960:83;7956:420;;;8083:12;;8073:6;:22;;8065:60;;;;-1:-1:-1;;;8065:60:0;;11624:2:1;8065:60:0;;;11606:21:1;11663:2;11643:18;;;11636:30;11702:27;11682:18;;;11675:55;11747:18;;8065:60:0;11422:349:1;8065:60:0;8178:14;;8168:6;8152:13;8162:2;-1:-1:-1;;;;;6057:18:0;6030:7;6057:18;;;:9;:18;;;;;;;5964:119;8152:13;:22;;;;:::i;:::-;:40;;8144:79;;;;-1:-1:-1;;;8144:79:0;;12108:2:1;8144:79:0;;;12090:21:1;12147:2;12127:18;;;12120:30;12186:28;12166:18;;;12159:56;12232:18;;8144:79:0;11906:350:1;8144:79:0;8254:76;8326:3;8254:67;8276:15;;8266:9;;:25;8265:55;;8306:14;;8265:55;;8254:76;8349:9;:11;;8242:88;;-1:-1:-1;8349:9:0;:11;;;:::i;:::-;;;;;;7956:420;8401:13;;-1:-1:-1;;;;;8395:19:0;;;8401:13;;8395:19;:43;;;;-1:-1:-1;;;;;;8418:20:0;;8433:4;8418:20;;8395:43;8392:174;;;8471:79;8546:3;8471:70;8493:16;;8483:9;;:26;8482:58;;8525:15;;8482:58;;;8511:13;;8471:6;;:10;:70::i;:79::-;8459:91;;8392:174;8631:4;8582:28;6057:18;;;:9;:18;;;;;;8657:6;;-1:-1:-1;;;8657:6:0;;;;8656:7;:30;;;;-1:-1:-1;8673:13:0;;-1:-1:-1;;;;;8667:19:0;;;8673:13;;8667:19;8656:30;:45;;;;-1:-1:-1;8690:11:0;;-1:-1:-1;;;8690:11:0;;;;8656:45;:89;;;;;8728:17;;8705:20;:40;8656:89;:123;;;;;8761:18;;8749:9;;:30;8656:123;8652:679;;;8819:13;;8804:12;:28;8800:90;;;8869:1;8857:9;:13;8800:90;8928:1;8916:9;;:13;8908:49;;;;-1:-1:-1;;;8908:49:0;;12463:2:1;8908:49:0;;;12445:21:1;12502:2;12482:18;;;12475:30;12541:25;12521:18;;;12514:53;12584:18;;8908:49:0;12261:347:1;8908:49:0;8976:69;8993:51;8997:6;9005:38;9009:20;9031:11;;9005:3;:38::i;:::-;8993:3;:51::i;:::-;8976:16;:69::i;:::-;9093:21;9137:22;;9133:106;;9184:35;9197:21;9184:12;:35::i;:::-;9257:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;9303:12:0;9287:13;:28;-1:-1:-1;8652:679:0;7627:1715;7589:1753;9357:11;;9354:161;;9425:4;9407:24;;;;:9;:24;;;;;;:39;;9436:9;9407:28;:39::i;:::-;9400:4;9382:24;;;;:9;:24;;;;;;;:64;;;;9464:39;;-1:-1:-1;;;;;9464:39:0;;;;;;;9493:9;1685:25:1;;1673:2;1658:18;;1539:177;9464:39:0;;;;;;;;9354:161;-1:-1:-1;;;;;9541:15:0;;;;;;:9;:15;;;;;;:27;;9561:6;9541:19;:27::i;:::-;-1:-1:-1;;;;;9525:15:0;;;;;;:9;:15;;;;;:43;9593:40;9611:21;:6;9622:9;9611:10;:21::i;:::-;-1:-1:-1;;;;;9593:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9579:13:0;;;;;;;:9;:13;;;;;:54;;;;9649:41;;;9668:21;:6;9679:9;9668:10;:21::i;:::-;9649:41;;1685:25:1;;;1673:2;1658:18;9649:41:0;;;;;;;7319:2379;7250:2448;;;:::o;1354:190::-;1440:7;1476:12;1468:6;;;;1460:29;;;;-1:-1:-1;;;1460:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1500:9:0;1512:5;1516:1;1512;:5;:::i;:::-;1500:17;1354:190;-1:-1:-1;;;;;1354:190:0:o;9814:483::-;5163:6;:13;;-1:-1:-1;;;;5163:13:0;-1:-1:-1;;;5163:13:0;;;9916:16:::1;::::0;;9930:1:::1;9916:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9916:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9916:16:0::1;9892:40;;9961:4;9943;9948:1;9943:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9943:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9987:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9987:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9943:7;;9987:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9977:4;9982:1;9977:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9977:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10052:15:::1;::::0;10020:62:::1;::::0;10037:4:::1;::::0;10052:15:::1;10070:11:::0;10020:8:::1;:62::i;:::-;10093:15;::::0;:196:::1;::::0;-1:-1:-1;;;10093:196:0;;-1:-1:-1;;;;;10093:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10174:11;;10093:15:::1;::::0;10216:4;;10243::::1;::::0;10263:15:::1;::::0;10093:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5199:6:0;:14;;-1:-1:-1;;;;5199:14:0;;;-1:-1:-1;;;;9814:483:0:o;10599:92::-;10656:10;;:27;;-1:-1:-1;;;;;10656:10:0;;;;:27;;;;;10676:6;;10656:10;:27;:10;:27;10676:6;10656:10;:27;;;;;;;;;;;;;;;;;;;1552:246;1610:7;1634:1;1639;1634:6;1630:47;;-1:-1:-1;1664:1:0;1657:8;;1630:47;1687:9;1699:5;1703:1;1699;:5;:::i;:::-;1687:17;-1:-1:-1;1732:1:0;1723:5;1727:1;1687:17;1723:5;:::i;:::-;:10;1715:56;;;;-1:-1:-1;;;1715:56:0;;14155:2:1;1715:56:0;;;14137:21:1;14194:2;14174:18;;;14167:30;14233:34;14213:18;;;14206:62;-1:-1:-1;;;14284:18:1;;;14277:31;14325:19;;1715:56:0;13953:397:1;1715:56:0;1789:1;1552:246;-1:-1:-1;;;1552:246:0:o;1806:132::-;1864:7;1891:39;1895:1;1898;1891:39;;;;;;;;;;;;;;;;;:3;:39::i;9708:98::-;9765:7;9792:1;9790;:3;9789:9;;9797:1;9789:9;;;-1:-1:-1;9795:1:0;9708:98;-1:-1:-1;9708:98:0:o;1023:179::-;1081:7;;1113:5;1117:1;1113;:5;:::i;:::-;1101:17;;1142:1;1137;:6;;1129:46;;;;-1:-1:-1;;;1129:46:0;;14557:2:1;1129:46:0;;;14539:21:1;14596:2;14576:18;;;14569:30;14635:29;14615:18;;;14608:57;14682:18;;1129:46:0;14355:351:1;1210:136:0;1268:7;1295:43;1299:1;1302;1295:43;;;;;;;;;;;;;;;;;:3;:43::i;1946:189::-;2032:7;2067:12;2060:5;2052:28;;;;-1:-1:-1;;;2052:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2091:9:0;2103:5;2107:1;2103;:5;:::i;14:180:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:1;;14:180;-1:-1:-1;14:180:1:o;199:548::-;311:4;340:2;369;358:9;351:21;401:6;395:13;444:6;439:2;428:9;424:18;417:34;469:1;479:140;493:6;490:1;487:13;479:140;;;588:14;;;584:23;;578:30;554:17;;;573:2;550:26;543:66;508:10;;479:140;;;483:3;668:1;663:2;654:6;643:9;639:22;635:31;628:42;738:2;731;727:7;722:2;714:6;710:15;706:29;695:9;691:45;687:54;679:62;;;;199:548;;;;:::o;752:131::-;-1:-1:-1;;;;;827:31:1;;817:42;;807:70;;873:1;870;863:12;807:70;752:131;:::o;888:134::-;956:20;;985:31;956:20;985:31;:::i;:::-;888:134;;;:::o;1027:315::-;1095:6;1103;1156:2;1144:9;1135:7;1131:23;1127:32;1124:52;;;1172:1;1169;1162:12;1124:52;1211:9;1198:23;1230:31;1255:5;1230:31;:::i;:::-;1280:5;1332:2;1317:18;;;;1304:32;;-1:-1:-1;;;1027:315:1:o;1721:127::-;1782:10;1777:3;1773:20;1770:1;1763:31;1813:4;1810:1;1803:15;1837:4;1834:1;1827:15;1853:1121;1937:6;1968:2;2011;1999:9;1990:7;1986:23;1982:32;1979:52;;;2027:1;2024;2017:12;1979:52;2067:9;2054:23;2096:18;2137:2;2129:6;2126:14;2123:34;;;2153:1;2150;2143:12;2123:34;2191:6;2180:9;2176:22;2166:32;;2236:7;2229:4;2225:2;2221:13;2217:27;2207:55;;2258:1;2255;2248:12;2207:55;2294:2;2281:16;2316:2;2312;2309:10;2306:36;;;2322:18;;:::i;:::-;2368:2;2365:1;2361:10;2400:2;2394:9;2463:2;2459:7;2454:2;2450;2446:11;2442:25;2434:6;2430:38;2518:6;2506:10;2503:22;2498:2;2486:10;2483:18;2480:46;2477:72;;;2529:18;;:::i;:::-;2565:2;2558:22;2615:18;;;2649:15;;;;-1:-1:-1;2691:11:1;;;2687:20;;;2719:19;;;2716:39;;;2751:1;2748;2741:12;2716:39;2775:11;;;;2795:148;2811:6;2806:3;2803:15;2795:148;;;2877:23;2896:3;2877:23;:::i;:::-;2865:36;;2828:12;;;;2921;;;;2795:148;;;2962:6;1853:1121;-1:-1:-1;;;;;;;;1853:1121:1:o;2979:456::-;3056:6;3064;3072;3125:2;3113:9;3104:7;3100:23;3096:32;3093:52;;;3141:1;3138;3131:12;3093:52;3180:9;3167:23;3199:31;3224:5;3199:31;:::i;:::-;3249:5;-1:-1:-1;3306:2:1;3291:18;;3278:32;3319:33;3278:32;3319:33;:::i;:::-;2979:456;;3371:7;;-1:-1:-1;;;3425:2:1;3410:18;;;;3397:32;;2979:456::o;3629:247::-;3688:6;3741:2;3729:9;3720:7;3716:23;3712:32;3709:52;;;3757:1;3754;3747:12;3709:52;3796:9;3783:23;3815:31;3840:5;3815:31;:::i;4089:388::-;4157:6;4165;4218:2;4206:9;4197:7;4193:23;4189:32;4186:52;;;4234:1;4231;4224:12;4186:52;4273:9;4260:23;4292:31;4317:5;4292:31;:::i;:::-;4342:5;-1:-1:-1;4399:2:1;4384:18;;4371:32;4412:33;4371:32;4412:33;:::i;:::-;4464:7;4454:17;;;4089:388;;;;;:::o;4482:356::-;4684:2;4666:21;;;4703:18;;;4696:30;4762:34;4757:2;4742:18;;4735:62;4829:2;4814:18;;4482:356::o;4843:127::-;4904:10;4899:3;4895:20;4892:1;4885:31;4935:4;4932:1;4925:15;4959:4;4956:1;4949:15;4975:127;5036:10;5031:3;5027:20;5024:1;5017:31;5067:4;5064:1;5057:15;5091:4;5088:1;5081:15;5107:135;5146:3;5167:17;;;5164:43;;5187:18;;:::i;:::-;-1:-1:-1;5234:1:1;5223:13;;5107:135::o;5247:422::-;5336:1;5379:5;5336:1;5393:270;5414:7;5404:8;5401:21;5393:270;;;5473:4;5469:1;5465:6;5461:17;5455:4;5452:27;5449:53;;;5482:18;;:::i;:::-;5532:7;5522:8;5518:22;5515:55;;;5552:16;;;;5515:55;5631:22;;;;5591:15;;;;5393:270;;;5397:3;5247:422;;;;;:::o;5674:806::-;5723:5;5753:8;5743:80;;-1:-1:-1;5794:1:1;5808:5;;5743:80;5842:4;5832:76;;-1:-1:-1;5879:1:1;5893:5;;5832:76;5924:4;5942:1;5937:59;;;;6010:1;6005:130;;;;5917:218;;5937:59;5967:1;5958:10;;5981:5;;;6005:130;6042:3;6032:8;6029:17;6026:43;;;6049:18;;:::i;:::-;-1:-1:-1;;6105:1:1;6091:16;;6120:5;;5917:218;;6219:2;6209:8;6206:16;6200:3;6194:4;6191:13;6187:36;6181:2;6171:8;6168:16;6163:2;6157:4;6154:12;6150:35;6147:77;6144:159;;;-1:-1:-1;6256:19:1;;;6288:5;;6144:159;6335:34;6360:8;6354:4;6335:34;:::i;:::-;6405:6;6401:1;6397:6;6393:19;6384:7;6381:32;6378:58;;;6416:18;;:::i;:::-;6454:20;;5674:806;-1:-1:-1;;;5674:806:1:o;6485:140::-;6543:5;6572:47;6613:4;6603:8;6599:19;6593:4;6572:47;:::i;6630:168::-;6703:9;;;6734;;6751:15;;;6745:22;;6731:37;6721:71;;6772:18;;:::i;7155:251::-;7225:6;7278:2;7266:9;7257:7;7253:23;7249:32;7246:52;;;7294:1;7291;7284:12;7246:52;7326:9;7320:16;7345:31;7370:5;7345:31;:::i;8332:306::-;8420:6;8428;8436;8489:2;8477:9;8468:7;8464:23;8460:32;8457:52;;;8505:1;8502;8495:12;8457:52;8534:9;8528:16;8518:26;;8584:2;8573:9;8569:18;8563:25;8553:35;;8628:2;8617:9;8613:18;8607:25;8597:35;;8332:306;;;;;:::o;8922:277::-;8989:6;9042:2;9030:9;9021:7;9017:23;9013:32;9010:52;;;9058:1;9055;9048:12;9010:52;9090:9;9084:16;9143:5;9136:13;9129:21;9122:5;9119:32;9109:60;;9165:1;9162;9155:12;11776:125;11841:9;;;11862:10;;;11859:36;;;11875:18;;:::i;12613:128::-;12680:9;;;12701:11;;;12698:37;;;12715:18;;:::i;12746:980::-;13008:4;13056:3;13045:9;13041:19;13087:6;13076:9;13069:25;13113:2;13151:6;13146:2;13135:9;13131:18;13124:34;13194:3;13189:2;13178:9;13174:18;13167:31;13218:6;13253;13247:13;13284:6;13276;13269:22;13322:3;13311:9;13307:19;13300:26;;13361:2;13353:6;13349:15;13335:29;;13382:1;13392:195;13406:6;13403:1;13400:13;13392:195;;;13471:13;;-1:-1:-1;;;;;13467:39:1;13455:52;;13562:15;;;;13527:12;;;;13503:1;13421:9;13392:195;;;-1:-1:-1;;;;;;;13643:32:1;;;;13638:2;13623:18;;13616:60;-1:-1:-1;;;13707:3:1;13692:19;13685:35;13604:3;12746:980;-1:-1:-1;;;12746:980:1:o;13731:217::-;13771:1;13797;13787:132;;13841:10;13836:3;13832:20;13829:1;13822:31;13876:4;13873:1;13866:15;13904:4;13901:1;13894:15;13787:132;-1:-1:-1;13933:9:1;;13731:217::o
Swarm Source
ipfs://7448aa7b048fdc8c09e119623679909a5e18e544cd0b516a74fd350df2f8465b
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.