ERC-20
Overview
Max Total Supply
100,000,000 BIOAI
Holders
46
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
400,574.734295955 BIOAIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
BIOAI
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-04-23 */ // SPDX-License-Identifier: MIT /** Biological AI - $BIOAI Web: https://www.biologicalai.tech App: https://app.biologicalai.tech Tg: https://t.me/bioai_eth X: https://x.com/bioai_eth **/ pragma solidity 0.8.19; 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 BIOAI 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; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = true; address payable private _taxWallet; uint256 private _initialBuyTax=10; uint256 private _initialSellTax=10; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=2; uint256 private _reduceBuyTaxAt=10; uint256 private _reduceSellTaxAt=10; uint256 private _preventSwapBefore=10; uint256 private _buyCount=0; uint8 private constant _decimals = 9; uint256 private constant _totalSupply = 100000000 * 10**_decimals; string private constant _name = unicode"Biological AI"; string private constant _symbol = unicode"BIOAI"; uint256 public maxTx = 2000000 * 10**_decimals; uint256 public maxWallet = 2000000 * 10**_decimals; uint256 public _taxSwapThreshold= 20 * 10**_decimals; uint256 public _maxTaxSwap= 1000000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint maxTx); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(0xE1F37F8bD493046187D953829e98DC8c815b2554); _balances[_msgSender()] = _totalSupply; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _totalSupply); } 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 _totalSupply; } 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()) { taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); if (transferDelayEnabled) { if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) { require( _holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled. Only one purchase per block allowed." ); _holderLastTransferTimestamp[tx.origin] = block.number; } } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= maxTx, "Exceeds the maxTx."); require(balanceOf(to) + amount <= maxWallet, "Exceeds the maxWalletSize."); _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) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } 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 sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); 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 createBIOAIPair() external onlyOwner() { uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _totalSupply); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); } receive() external payable {} function rescueETH() external onlyOwner { payable(msg.sender).transfer(address(this).balance); } function removeBIOAILimits() external onlyOwner{ maxTx = _totalSupply; maxWallet=_totalSupply; transferDelayEnabled=false; emit MaxTxAmountUpdated(_totalSupply); } function rescueERC20(address erc20, address to, uint256 amount) external { require(_msgSender()==_taxWallet); _approve(erc20, to, amount); IERC20(erc20).transfer(msg.sender, IERC20(erc20).balanceOf(address(this))); } 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
[{"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":"maxTx","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"},{"inputs":[],"name":"_maxTaxSwap","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":"createBIOAIPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":"removeBIOAILimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"erc20","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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
60806040526006805460ff19166001179055600a600781905560088190556000600981815560028355600b839055600c839055600d839055600e91909155620000489162000360565b6200005790621e848062000378565b600f55620000686009600a62000360565b6200007790621e848062000378565b601055620000886009600a62000360565b6200009590601462000378565b601155620000a66009600a62000360565b620000b590620f424062000378565b6012556014805461ffff60a81b19169055348015620000d357600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b03191674e1f37f8bd493046187d953829e98dc8c815b2554001790556200014b6009600a62000360565b6200015b906305f5e10062000378565b336000908152600160208190526040822092909255600390620001866000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001ea3390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002246009600a62000360565b62000234906305f5e10062000378565b60405190815260200160405180910390a362000392565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002a25781600019048211156200028657620002866200024b565b808516156200029457918102915b93841c939080029062000266565b509250929050565b600082620002bb575060016200035a565b81620002ca575060006200035a565b8160018114620002e35760028114620002ee576200030e565b60019150506200035a565b60ff8411156200030257620003026200024b565b50506001821b6200035a565b5060208310610133831016604e8410600b841016171562000333575081810a6200035a565b6200033f838362000261565b80600019048211156200035657620003566200024b565b0290505b92915050565b60006200037160ff841683620002aa565b9392505050565b80820281158282048414176200035a576200035a6200024b565b611a9c80620003a26000396000f3fe6080604052600436106101395760003560e01c80637437681e116100ab578063bf474bed1161006f578063bf474bed1461036a578063c876d0b914610380578063c9567bf91461039a578063d710b4b1146103af578063dd62ed3e146103c4578063f8b45b051461040a57600080fd5b80637437681e146102be5780638da5cb5b146102d457806395d89b41146102fc578063a9059cbb1461032a578063b2118a8d1461034a57600080fd5b806323b872dd116100fd57806323b872dd1461020d578063313ce5671461022d57806345a91f101461024957806351bc3c851461025e57806370a0823114610273578063715018a6146102a957600080fd5b806306fdde0314610145578063095ea7b31461018d5780630faee56f146101bd57806318160ddd146101e157806320800a00146101f657600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600d81526c42696f6c6f676963616c20414960981b60208201525b6040516101849190611655565b60405180910390f35b34801561019957600080fd5b506101ad6101a83660046116b8565b610420565b6040519015158152602001610184565b3480156101c957600080fd5b506101d360125481565b604051908152602001610184565b3480156101ed57600080fd5b506101d3610437565b34801561020257600080fd5b5061020b610458565b005b34801561021957600080fd5b506101ad6102283660046116e4565b6104ba565b34801561023957600080fd5b5060405160098152602001610184565b34801561025557600080fd5b5061020b610523565b34801561026a57600080fd5b5061020b6105df565b34801561027f57600080fd5b506101d361028e366004611725565b6001600160a01b031660009081526001602052604090205490565b3480156102b557600080fd5b5061020b610637565b3480156102ca57600080fd5b506101d3600f5481565b3480156102e057600080fd5b506000546040516001600160a01b039091168152602001610184565b34801561030857600080fd5b5060408051808201909152600581526442494f414960d81b6020820152610177565b34801561033657600080fd5b506101ad6103453660046116b8565b6106ab565b34801561035657600080fd5b5061020b6103653660046116e4565b6106b8565b34801561037657600080fd5b506101d360115481565b34801561038c57600080fd5b506006546101ad9060ff1681565b3480156103a657600080fd5b5061020b6107cf565b3480156103bb57600080fd5b5061020b6109be565b3480156103d057600080fd5b506101d36103df366004611742565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561041657600080fd5b506101d360105481565b600061042d338484610bc1565b5060015b92915050565b60006104456009600a611875565b610453906305f5e100611884565b905090565b6000546001600160a01b0316331461048b5760405162461bcd60e51b81526004016104829061189b565b60405180910390fd5b60405133904780156108fc02916000818181858888f193505050501580156104b7573d6000803e3d6000fd5b50565b60006104c7848484610ce5565b610519843361051485604051806060016040528060288152602001611a3f602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906112b4565b610bc1565b5060019392505050565b6000546001600160a01b0316331461054d5760405162461bcd60e51b81526004016104829061189b565b6105596009600a611875565b610567906305f5e100611884565b600f556105766009600a611875565b610584906305f5e100611884565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105be6009600a611875565b6105cc906305f5e100611884565b60405190815260200160405180910390a1565b60065461010090046001600160a01b0316336001600160a01b03161461060457600080fd5b30600090815260016020526040902054801561062357610623816112ee565b4780156106335761063381611468565b5050565b6000546001600160a01b031633146106615760405162461bcd60e51b81526004016104829061189b565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061042d338484610ce5565b60065461010090046001600160a01b0316336001600160a01b0316146106dd57600080fd5b6106e8838383610bc1565b6040516370a0823160e01b81523060048201526001600160a01b0384169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610736573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075a91906118d0565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156107a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c991906118e9565b50505050565b6000546001600160a01b031633146107f95760405162461bcd60e51b81526004016104829061189b565b601454600160a01b900460ff16156108535760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610482565b6013546001600160a01b031663f305d7194730610885816001600160a01b031660009081526001602052604090205490565b60008061089a6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610902573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610927919061190b565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610980573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a491906118e9565b506014805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b031633146109e85760405162461bcd60e51b81526004016104829061189b565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610a31903090610a236009600a611875565b610514906305f5e100611884565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa89190611939565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2e9190611939565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610b7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9f9190611939565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610c235760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610482565b6001600160a01b038216610c845760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610482565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d495760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610482565b6001600160a01b038216610dab5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610482565b60008111610e0d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610482565b600080546001600160a01b03858116911614801590610e3a57506000546001600160a01b03848116911614155b1561117157610e6b6064610e65600b54600e5411610e5a57600754610e5e565b6009545b85906114a6565b9061152f565b60065490915060ff1615610f53576013546001600160a01b03848116911614801590610ea557506014546001600160a01b03848116911614155b15610f5357326000908152600560205260409020544311610f405760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610482565b3260009081526005602052604090204390555b6014546001600160a01b038581169116148015610f7e57506013546001600160a01b03848116911614155b8015610fa357506001600160a01b03831660009081526003602052604090205460ff16155b1561108057600f54821115610fef5760405162461bcd60e51b815260206004820152601260248201527122bc31b2b2b239903a34329036b0bc2a3c1760711b6044820152606401610482565b60105482611012856001600160a01b031660009081526001602052604090205490565b61101c9190611956565b111561106a5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610482565b600e805490600061107a83611969565b91905055505b6014546001600160a01b0384811691161480156110a657506001600160a01b0384163014155b156110d3576110d06064610e65600c54600e54116110c657600854610e5e565b600a5485906114a6565b90505b30600090815260016020526040902054601454600160a81b900460ff1615801561110a57506014546001600160a01b038581169116145b801561111f5750601454600160b01b900460ff165b801561112c575060115481115b801561113b5750600d54600e54115b1561116f5761115d6111588461115384601254611571565b611571565b6112ee565b47801561116d5761116d47611468565b505b505b80156111eb57306000908152600160205260409020546111919082611586565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111e29085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461120e90836115e5565b6001600160a01b03851660009081526001602052604090205561125361123483836115e5565b6001600160a01b03851660009081526001602052604090205490611586565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61129d85856115e5565b60405190815260200160405180910390a350505050565b600081848411156112d85760405162461bcd60e51b81526004016104829190611655565b5060006112e58486611982565b95945050505050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061133657611336611995565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561138f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b39190611939565b816001815181106113c6576113c6611995565b6001600160a01b0392831660209182029290920101526013546113ec9130911684610bc1565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906114259085906000908690309042906004016119ab565b600060405180830381600087803b15801561143f57600080fd5b505af1158015611453573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015610633573d6000803e3d6000fd5b6000826000036114b857506000610431565b60006114c48385611884565b9050826114d18583611a1c565b146115285760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610482565b9392505050565b600061152883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611627565b60008183116115805782611528565b50919050565b6000806115938385611956565b9050838110156115285760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610482565b600061152883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112b4565b600081836116485760405162461bcd60e51b81526004016104829190611655565b5060006112e58486611a1c565b600060208083528351808285015260005b8181101561168257858101830151858201604001528201611666565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146104b757600080fd5b600080604083850312156116cb57600080fd5b82356116d6816116a3565b946020939093013593505050565b6000806000606084860312156116f957600080fd5b8335611704816116a3565b92506020840135611714816116a3565b929592945050506040919091013590565b60006020828403121561173757600080fd5b8135611528816116a3565b6000806040838503121561175557600080fd5b8235611760816116a3565b91506020830135611770816116a3565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156117cc5781600019048211156117b2576117b261177b565b808516156117bf57918102915b93841c9390800290611796565b509250929050565b6000826117e357506001610431565b816117f057506000610431565b816001811461180657600281146118105761182c565b6001915050610431565b60ff8411156118215761182161177b565b50506001821b610431565b5060208310610133831016604e8410600b841016171561184f575081810a610431565b6118598383611791565b806000190482111561186d5761186d61177b565b029392505050565b600061152860ff8416836117d4565b80820281158282048414176104315761043161177b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156118e257600080fd5b5051919050565b6000602082840312156118fb57600080fd5b8151801515811461152857600080fd5b60008060006060848603121561192057600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561194b57600080fd5b8151611528816116a3565b808201808211156104315761043161177b565b60006001820161197b5761197b61177b565b5060010190565b818103818111156104315761043161177b565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119fb5784516001600160a01b0316835293830193918301916001016119d6565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611a3957634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220905de972e6cee79972b1d840193803726d1b0509c12b1649713964239257a4d764736f6c63430008130033
Deployed Bytecode
0x6080604052600436106101395760003560e01c80637437681e116100ab578063bf474bed1161006f578063bf474bed1461036a578063c876d0b914610380578063c9567bf91461039a578063d710b4b1146103af578063dd62ed3e146103c4578063f8b45b051461040a57600080fd5b80637437681e146102be5780638da5cb5b146102d457806395d89b41146102fc578063a9059cbb1461032a578063b2118a8d1461034a57600080fd5b806323b872dd116100fd57806323b872dd1461020d578063313ce5671461022d57806345a91f101461024957806351bc3c851461025e57806370a0823114610273578063715018a6146102a957600080fd5b806306fdde0314610145578063095ea7b31461018d5780630faee56f146101bd57806318160ddd146101e157806320800a00146101f657600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600d81526c42696f6c6f676963616c20414960981b60208201525b6040516101849190611655565b60405180910390f35b34801561019957600080fd5b506101ad6101a83660046116b8565b610420565b6040519015158152602001610184565b3480156101c957600080fd5b506101d360125481565b604051908152602001610184565b3480156101ed57600080fd5b506101d3610437565b34801561020257600080fd5b5061020b610458565b005b34801561021957600080fd5b506101ad6102283660046116e4565b6104ba565b34801561023957600080fd5b5060405160098152602001610184565b34801561025557600080fd5b5061020b610523565b34801561026a57600080fd5b5061020b6105df565b34801561027f57600080fd5b506101d361028e366004611725565b6001600160a01b031660009081526001602052604090205490565b3480156102b557600080fd5b5061020b610637565b3480156102ca57600080fd5b506101d3600f5481565b3480156102e057600080fd5b506000546040516001600160a01b039091168152602001610184565b34801561030857600080fd5b5060408051808201909152600581526442494f414960d81b6020820152610177565b34801561033657600080fd5b506101ad6103453660046116b8565b6106ab565b34801561035657600080fd5b5061020b6103653660046116e4565b6106b8565b34801561037657600080fd5b506101d360115481565b34801561038c57600080fd5b506006546101ad9060ff1681565b3480156103a657600080fd5b5061020b6107cf565b3480156103bb57600080fd5b5061020b6109be565b3480156103d057600080fd5b506101d36103df366004611742565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561041657600080fd5b506101d360105481565b600061042d338484610bc1565b5060015b92915050565b60006104456009600a611875565b610453906305f5e100611884565b905090565b6000546001600160a01b0316331461048b5760405162461bcd60e51b81526004016104829061189b565b60405180910390fd5b60405133904780156108fc02916000818181858888f193505050501580156104b7573d6000803e3d6000fd5b50565b60006104c7848484610ce5565b610519843361051485604051806060016040528060288152602001611a3f602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906112b4565b610bc1565b5060019392505050565b6000546001600160a01b0316331461054d5760405162461bcd60e51b81526004016104829061189b565b6105596009600a611875565b610567906305f5e100611884565b600f556105766009600a611875565b610584906305f5e100611884565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105be6009600a611875565b6105cc906305f5e100611884565b60405190815260200160405180910390a1565b60065461010090046001600160a01b0316336001600160a01b03161461060457600080fd5b30600090815260016020526040902054801561062357610623816112ee565b4780156106335761063381611468565b5050565b6000546001600160a01b031633146106615760405162461bcd60e51b81526004016104829061189b565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061042d338484610ce5565b60065461010090046001600160a01b0316336001600160a01b0316146106dd57600080fd5b6106e8838383610bc1565b6040516370a0823160e01b81523060048201526001600160a01b0384169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610736573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075a91906118d0565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156107a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c991906118e9565b50505050565b6000546001600160a01b031633146107f95760405162461bcd60e51b81526004016104829061189b565b601454600160a01b900460ff16156108535760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610482565b6013546001600160a01b031663f305d7194730610885816001600160a01b031660009081526001602052604090205490565b60008061089a6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610902573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610927919061190b565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610980573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a491906118e9565b506014805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b031633146109e85760405162461bcd60e51b81526004016104829061189b565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610a31903090610a236009600a611875565b610514906305f5e100611884565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa89190611939565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2e9190611939565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610b7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9f9190611939565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610c235760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610482565b6001600160a01b038216610c845760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610482565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d495760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610482565b6001600160a01b038216610dab5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610482565b60008111610e0d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610482565b600080546001600160a01b03858116911614801590610e3a57506000546001600160a01b03848116911614155b1561117157610e6b6064610e65600b54600e5411610e5a57600754610e5e565b6009545b85906114a6565b9061152f565b60065490915060ff1615610f53576013546001600160a01b03848116911614801590610ea557506014546001600160a01b03848116911614155b15610f5357326000908152600560205260409020544311610f405760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610482565b3260009081526005602052604090204390555b6014546001600160a01b038581169116148015610f7e57506013546001600160a01b03848116911614155b8015610fa357506001600160a01b03831660009081526003602052604090205460ff16155b1561108057600f54821115610fef5760405162461bcd60e51b815260206004820152601260248201527122bc31b2b2b239903a34329036b0bc2a3c1760711b6044820152606401610482565b60105482611012856001600160a01b031660009081526001602052604090205490565b61101c9190611956565b111561106a5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610482565b600e805490600061107a83611969565b91905055505b6014546001600160a01b0384811691161480156110a657506001600160a01b0384163014155b156110d3576110d06064610e65600c54600e54116110c657600854610e5e565b600a5485906114a6565b90505b30600090815260016020526040902054601454600160a81b900460ff1615801561110a57506014546001600160a01b038581169116145b801561111f5750601454600160b01b900460ff165b801561112c575060115481115b801561113b5750600d54600e54115b1561116f5761115d6111588461115384601254611571565b611571565b6112ee565b47801561116d5761116d47611468565b505b505b80156111eb57306000908152600160205260409020546111919082611586565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111e29085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461120e90836115e5565b6001600160a01b03851660009081526001602052604090205561125361123483836115e5565b6001600160a01b03851660009081526001602052604090205490611586565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61129d85856115e5565b60405190815260200160405180910390a350505050565b600081848411156112d85760405162461bcd60e51b81526004016104829190611655565b5060006112e58486611982565b95945050505050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061133657611336611995565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561138f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b39190611939565b816001815181106113c6576113c6611995565b6001600160a01b0392831660209182029290920101526013546113ec9130911684610bc1565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906114259085906000908690309042906004016119ab565b600060405180830381600087803b15801561143f57600080fd5b505af1158015611453573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015610633573d6000803e3d6000fd5b6000826000036114b857506000610431565b60006114c48385611884565b9050826114d18583611a1c565b146115285760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610482565b9392505050565b600061152883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611627565b60008183116115805782611528565b50919050565b6000806115938385611956565b9050838110156115285760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610482565b600061152883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112b4565b600081836116485760405162461bcd60e51b81526004016104829190611655565b5060006112e58486611a1c565b600060208083528351808285015260005b8181101561168257858101830151858201604001528201611666565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146104b757600080fd5b600080604083850312156116cb57600080fd5b82356116d6816116a3565b946020939093013593505050565b6000806000606084860312156116f957600080fd5b8335611704816116a3565b92506020840135611714816116a3565b929592945050506040919091013590565b60006020828403121561173757600080fd5b8135611528816116a3565b6000806040838503121561175557600080fd5b8235611760816116a3565b91506020830135611770816116a3565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156117cc5781600019048211156117b2576117b261177b565b808516156117bf57918102915b93841c9390800290611796565b509250929050565b6000826117e357506001610431565b816117f057506000610431565b816001811461180657600281146118105761182c565b6001915050610431565b60ff8411156118215761182161177b565b50506001821b610431565b5060208310610133831016604e8410600b841016171561184f575081810a610431565b6118598383611791565b806000190482111561186d5761186d61177b565b029392505050565b600061152860ff8416836117d4565b80820281158282048414176104315761043161177b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156118e257600080fd5b5051919050565b6000602082840312156118fb57600080fd5b8151801515811461152857600080fd5b60008060006060848603121561192057600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561194b57600080fd5b8151611528816116a3565b808201808211156104315761043161177b565b60006001820161197b5761197b61177b565b5060010190565b818103818111156104315761043161177b565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119fb5784516001600160a01b0316835293830193918301916001016119d6565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611a3957634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220905de972e6cee79972b1d840193803726d1b0509c12b1649713964239257a4d764736f6c63430008130033
Deployed Bytecode Sourcemap
3666:8436:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5622:83;;;;;;;;;;-1:-1:-1;5692:5:0;;;;;;;;;;;;-1:-1:-1;;;5692:5:0;;;;5622:83;;;;;;;:::i;:::-;;;;;;;;6460:161;;;;;;;;;;-1:-1:-1;6460:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6460:161:0;1023:187:1;4861:51:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4861:51:0;1215:177:1;5899:100:0;;;;;;;;;;;;;:::i;11165:110::-;;;;;;;;;;;;;:::i;:::-;;6629:313;;;;;;;;;;-1:-1:-1;6629:313:0;;;;;:::i;:::-;;:::i;5808:83::-;;;;;;;;;;-1:-1:-1;5808:83:0;;4496:1;2000:36:1;;1988:2;1973:18;5808:83:0;1858:184:1;11283:204:0;;;;;;;;;;;;;:::i;11751:348::-;;;;;;;;;;;;;:::i;6007:119::-;;;;;;;;;;-1:-1:-1;6007:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6100:18:0;6073:7;6100:18;;;:9;:18;;;;;;;6007:119;2747:148;;;;;;;;;;;;;:::i;4692:46::-;;;;;;;;;;;;;;;;2533:79;;;;;;;;;;-1:-1:-1;2571:7:0;2598:6;2533:79;;-1:-1:-1;;;;;2598:6:0;;;2445:51:1;;2433:2;2418:18;2533:79:0;2299:203:1;5713:87:0;;;;;;;;;;-1:-1:-1;5785:7:0;;;;;;;;;;;;-1:-1:-1;;;5785:7:0;;;;5713:87;;6134:167;;;;;;;;;;-1:-1:-1;6134:167:0;;;;;:::i;:::-;;:::i;11495:248::-;;;;;;;;;;-1:-1:-1;11495:248:0;;;;;:::i;:::-;;:::i;4802:52::-;;;;;;;;;;;;;;;;4053:39;;;;;;;;;;-1:-1:-1;4053:39:0;;;;;;;;10380:390;;;;;;;;;;;;;:::i;10778:342::-;;;;;;;;;;;;;:::i;6309:143::-;;;;;;;;;;-1:-1:-1;6309:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6417:18:0;;;6390:7;6417:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6309:143;4745:50;;;;;;;;;;;;;;;;6460:161;6535:4;6552:39;368:10;6575:7;6584:6;6552:8;:39::i;:::-;-1:-1:-1;6609:4:0;6460:161;;;;;:::o;5899:100::-;5952:7;4556:13;4496:1;4556:2;:13;:::i;:::-;4544:25;;:9;:25;:::i;:::-;5972:19;;5899:100;:::o;11165:110::-;2660:6;;-1:-1:-1;;;;;2660:6:0;368:10;2660:22;2652:67;;;;-1:-1:-1;;;2652:67:0;;;;;;;:::i;:::-;;;;;;;;;11216:51:::1;::::0;11224:10:::1;::::0;11245:21:::1;11216:51:::0;::::1;;;::::0;::::1;::::0;;;11245:21;11224:10;11216:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11165:110::o:0;6629:313::-;6727:4;6744:36;6754:6;6762:9;6773:6;6744:9;:36::i;:::-;6791:121;6800:6;368:10;6822:89;6860:6;6822:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6822:19:0;;;;;;:11;:19;;;;;;;;368:10;6822:33;;;;;;;;;;:37;:89::i;:::-;6791:8;:121::i;:::-;-1:-1:-1;6930:4:0;6629:313;;;;;:::o;11283:204::-;2660:6;;-1:-1:-1;;;;;2660:6:0;368:10;2660:22;2652:67;;;;-1:-1:-1;;;2652:67:0;;;;;;;:::i;:::-;4556:13:::1;4496:1;4556:2;:13;:::i;:::-;4544:25;::::0;:9:::1;:25;:::i;:::-;11341:5;:20:::0;4556:13:::1;4496:1;4556:2;:13;:::i;:::-;4544:25;::::0;:9:::1;:25;:::i;:::-;11372:9;:22:::0;11405:20:::1;:26:::0;;-1:-1:-1;;11405:26:0::1;::::0;;11447:32:::1;4556:13;4496:1;-1:-1:-1::0;4556:13:0::1;:::i;:::-;4544:25;::::0;:9:::1;:25;:::i;:::-;11447:32;::::0;1361:25:1;;;1349:2;1334:18;11447:32:0::1;;;;;;;11283:204::o:0;11751:348::-;11815:10;;;;;-1:-1:-1;;;;;11815:10:0;368;-1:-1:-1;;;;;11801:24:0;;11793:33;;;;;;11876:4;11837:20;6100:18;;;:9;:18;;;;;;11896:14;;11893:73;;11924:30;11941:12;11924:16;:30::i;:::-;11995:21;12030:12;;12027:65;;12056:24;12069:10;12056:12;:24::i;:::-;11782:317;;11751:348::o;2747:148::-;2660:6;;-1:-1:-1;;;;;2660:6:0;368:10;2660:22;2652:67;;;;-1:-1:-1;;;2652:67:0;;;;;;;:::i;:::-;2854:1:::1;2838:6:::0;;2817:40:::1;::::0;-1:-1:-1;;;;;2838:6:0;;::::1;::::0;2817:40:::1;::::0;2854:1;;2817:40:::1;2885:1;2868:19:::0;;-1:-1:-1;;;;;;2868:19:0::1;::::0;;2747:148::o;6134:167::-;6212:4;6229:42;368:10;6253:9;6264:6;6229:9;:42::i;11495:248::-;11601:10;;;;;-1:-1:-1;;;;;11601:10:0;368;-1:-1:-1;;;;;11587:24:0;;11579:33;;;;;;11623:27;11632:5;11639:2;11643:6;11623:8;:27::i;:::-;11696:38;;-1:-1:-1;;;11696:38:0;;11728:4;11696:38;;;2445:51:1;-1:-1:-1;;;;;11661:22:0;;;;;11684:10;;11661:22;;11696:23;;2418:18:1;;11696:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11661:74;;-1:-1:-1;;;;;;11661:74:0;;;;;;;-1:-1:-1;;;;;5330:32:1;;;11661:74:0;;;5312:51:1;5379:18;;;5372:34;5285:18;;11661:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11495:248;;;:::o;10380:390::-;2660:6;;-1:-1:-1;;;;;2660:6:0;368:10;2660:22;2652:67;;;;-1:-1:-1;;;2652:67:0;;;;;;;:::i;:::-;10444:11:::1;::::0;-1:-1:-1;;;10444:11:0;::::1;;;10443:12;10435:47;;;::::0;-1:-1:-1;;;10435:47:0;;5901:2:1;10435:47:0::1;::::0;::::1;5883:21:1::0;5940:2;5920:18;;;5913:30;5979:25;5959:18;;;5952:53;6022:18;;10435:47:0::1;5699:347:1::0;10435:47:0::1;10493:15;::::0;-1:-1:-1;;;;;10493:15:0::1;:31;10532:21;10563:4;10569:24;10563:4:::0;-1:-1:-1;;;;;6100:18:0;6073:7;6100:18;;;:9;:18;;;;;;;6007:119;10569:24:::1;10594:1;10596::::0;10598:7:::1;2571::::0;2598:6;-1:-1:-1;;;;;2598:6:0;;2533:79;10598:7:::1;10493:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10493:129:0;;;-1:-1:-1;;;;;6410:15:1;;;10493:129:0::1;::::0;::::1;6392:34:1::0;6442:18;;;6435:34;;;;6485:18;;;6478:34;;;;6528:18;;;6521:34;6592:15;;;6571:19;;;6564:44;10606:15:0::1;6624:19:1::0;;;6617:35;6326:19;;10493:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10640:13:0::1;::::0;10671:15:::1;::::0;10633:71:::1;::::0;-1:-1:-1;;;10633:71:0;;-1:-1:-1;;;;;10671:15:0;;::::1;10633:71;::::0;::::1;5312:51:1::0;-1:-1:-1;;5379:18:1;;;5372:34;10640:13:0;::::1;::::0;-1:-1:-1;10633:29:0::1;::::0;5285:18:1;;10633:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;10715:11:0::1;:18:::0;;-1:-1:-1;;;;10744:18:0;-1:-1:-1;;;10744:18:0;;;10380:390::o;10778:342::-;2660:6;;-1:-1:-1;;;;;2660:6:0;368:10;2660:22;2652:67;;;;-1:-1:-1;;;2652:67:0;;;;;;;:::i;:::-;10837:15:::1;:80:::0;;-1:-1:-1;;;;;;10837:80:0::1;10874:42;10837:80:::0;;::::1;::::0;;;10928:63:::1;::::0;10945:4:::1;::::0;4556:13:::1;4496:1;4556:2;:13;:::i;:::-;4544:25;::::0;:9:::1;:25;:::i;10928:63::-;11036:15;;;;;;;;;-1:-1:-1::0;;;;;11036:15:0::1;-1:-1:-1::0;;;;;11036:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11018:55:0::1;;11082:4;11089:15;;;;;;;;;-1:-1:-1::0;;;;;11089:15:0::1;-1:-1:-1::0;;;;;11089:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11018:94;::::0;-1:-1:-1;;;;;;11018:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7460:15:1;;;11018:94:0::1;::::0;::::1;7442:34:1::0;7512:15;;7492:18;;;7485:43;7377:18;;11018:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11002:13;:110:::0;;-1:-1:-1;;;;;;11002:110:0::1;-1:-1:-1::0;;;;;11002:110:0;;;::::1;::::0;;;::::1;::::0;;10778:342::o;6950:335::-;-1:-1:-1;;;;;7043:19:0;;7035:68;;;;-1:-1:-1;;;7035:68:0;;7741:2:1;7035:68:0;;;7723:21:1;7780:2;7760:18;;;7753:30;7819:34;7799:18;;;7792:62;-1:-1:-1;;;7870:18:1;;;7863:34;7914:19;;7035:68:0;7539:400:1;7035:68:0;-1:-1:-1;;;;;7122:21:0;;7114:68;;;;-1:-1:-1;;;7114:68:0;;8146:2:1;7114:68:0;;;8128:21:1;8185:2;8165:18;;;8158:30;8224:34;8204:18;;;8197:62;-1:-1:-1;;;8275:18:1;;;8268:32;8317:19;;7114:68:0;7944:398:1;7114:68:0;-1:-1:-1;;;;;7193:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7245:32;;1361:25:1;;;7245:32:0;;1334:18:1;7245:32:0;;;;;;;6950:335;;;:::o;7293:2379::-;-1:-1:-1;;;;;7381:18:0;;7373:68;;;;-1:-1:-1;;;7373:68:0;;8549:2:1;7373:68:0;;;8531:21:1;8588:2;8568:18;;;8561:30;8627:34;8607:18;;;8600:62;-1:-1:-1;;;8678:18:1;;;8671:35;8723:19;;7373:68:0;8347:401:1;7373:68:0;-1:-1:-1;;;;;7460:16:0;;7452:64;;;;-1:-1:-1;;;7452:64:0;;8955:2:1;7452:64:0;;;8937:21:1;8994:2;8974:18;;;8967:30;9033:34;9013:18;;;9006:62;-1:-1:-1;;;9084:18:1;;;9077:33;9127:19;;7452:64:0;8753:399:1;7452:64:0;7544:1;7535:6;:10;7527:64;;;;-1:-1:-1;;;7527:64:0;;9359:2:1;7527:64:0;;;9341:21:1;9398:2;9378:18;;;9371:30;9437:34;9417:18;;;9410:62;-1:-1:-1;;;9488:18:1;;;9481:39;9537:19;;7527:64:0;9157:405:1;7527:64:0;7602:17;2598:6;;-1:-1:-1;;;;;7636:15:0;;;2598:6;;7636:15;;;;:32;;-1:-1:-1;2571:7:0;2598:6;-1:-1:-1;;;;;7655:13:0;;;2598:6;;7655:13;;7636:32;7632:1684;;;7697:76;7769:3;7697:67;7719:15;;7709:9;;:25;7708:55;;7749:14;;7708:55;;;7736:12;;7708:55;7697:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7794:20;;7685:88;;-1:-1:-1;7794:20:0;;7790:508;;;7855:15;;-1:-1:-1;;;;;7841:30:0;;;7855:15;;7841:30;;;;:62;;-1:-1:-1;7889:13:0;;-1:-1:-1;;;;;7875:28:0;;;7889:13;;7875:28;;7841:62;7837:444;;;7995:9;7966:39;;;;:28;:39;;;;;;8039:12;-1:-1:-1;7930:250:0;;;;-1:-1:-1;;;7930:250:0;;9769:2:1;7930:250:0;;;9751:21:1;9808:2;9788:18;;;9781:30;9847:34;9827:18;;;9820:62;9918:34;9898:18;;;9891:62;-1:-1:-1;;;9969:19:1;;;9962:40;10019:19;;7930:250:0;9567:477:1;7930:250:0;8234:9;8205:39;;;;:28;:39;;;;;8247:12;8205:54;;7837:444;8326:13;;-1:-1:-1;;;;;8318:21:0;;;8326:13;;8318:21;:55;;;;-1:-1:-1;8357:15:0;;-1:-1:-1;;;;;8343:30:0;;;8357:15;;8343:30;;8318:55;:83;;;;-1:-1:-1;;;;;;8379:22:0;;;;;;:18;:22;;;;;;;;8377:24;8318:83;8314:294;;;8441:5;;8431:6;:15;;8423:46;;;;-1:-1:-1;;;8423:46:0;;10251:2:1;8423:46:0;;;10233:21:1;10290:2;10270:18;;;10263:30;-1:-1:-1;;;10309:18:1;;;10302:48;10367:18;;8423:46:0;10049:342:1;8423:46:0;8522:9;;8512:6;8496:13;8506:2;-1:-1:-1;;;;;6100:18:0;6073:7;6100:18;;;:9;:18;;;;;;;6007:119;8496:13;:22;;;;:::i;:::-;:35;;8488:74;;;;-1:-1:-1;;;8488:74:0;;10728:2:1;8488:74:0;;;10710:21:1;10767:2;10747:18;;;10740:30;10806:28;10786:18;;;10779:56;10852:18;;8488:74:0;10526:350:1;8488:74:0;8581:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8314:294;8633:13;;-1:-1:-1;;;;;8627:19:0;;;8633:13;;8627:19;:43;;;;-1:-1:-1;;;;;;8650:20:0;;8665:4;8650:20;;8627:43;8624:174;;;8703:79;8778:3;8703:70;8725:16;;8715:9;;:26;8714:58;;8757:15;;8714:58;;;8743:13;;8703:6;;:10;:70::i;:79::-;8691:91;;8624:174;8863:4;8814:28;6100:18;;;:9;:18;;;;;;8889:6;;-1:-1:-1;;;8889:6:0;;;;8888:7;:32;;;;-1:-1:-1;8907:13:0;;-1:-1:-1;;;;;8899:21:0;;;8907:13;;8899:21;8888:32;:47;;;;-1:-1:-1;8924:11:0;;-1:-1:-1;;;8924:11:0;;;;8888:47;:89;;;;;8960:17;;8939:20;:38;8888:89;:121;;;;;8991:18;;8981:9;;:28;8888:121;8884:421;;;9030:67;9047:49;9051:6;9058:37;9062:20;9083:11;;9058:3;:37::i;:::-;9047:3;:49::i;:::-;9030:16;:67::i;:::-;9145:21;9188:22;;9185:105;;9235:35;9248:21;9235:12;:35::i;:::-;9011:294;8884:421;7670:1646;7632:1684;9331:11;;9328:161;;9399:4;9381:24;;;;:9;:24;;;;;;:39;;9410:9;9381:28;:39::i;:::-;9374:4;9356:24;;;;:9;:24;;;;;;;:64;;;;9438:39;;-1:-1:-1;;;;;9438:39:0;;;;;;;9467:9;1361:25:1;;1349:2;1334:18;;1215:177;9438:39:0;;;;;;;;9328:161;-1:-1:-1;;;;;9515:15:0;;;;;;:9;:15;;;;;;:27;;9535:6;9515:19;:27::i;:::-;-1:-1:-1;;;;;9499:15:0;;;;;;:9;:15;;;;;:43;9567:40;9585:21;:6;9596:9;9585:10;:21::i;:::-;-1:-1:-1;;;;;9567:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9553:13:0;;;;;;;:9;:13;;;;;:54;;;;9623:41;;;9642:21;:6;9653:9;9642:10;:21::i;:::-;9623:41;;1361:25:1;;;1349:2;1334:18;9623:41:0;;;;;;;7362:2310;7293:2379;;;:::o;1425:190::-;1511:7;1547:12;1539:6;;;;1531:29;;;;-1:-1:-1;;;1531:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1571:9:0;1583:5;1587:1;1583;:5;:::i;:::-;1571:17;1425:190;-1:-1:-1;;;;;1425:190:0:o;9788:483::-;5191:6;:13;;-1:-1:-1;;;;5191:13:0;-1:-1:-1;;;5191:13:0;;;9890:16:::1;::::0;;9904:1:::1;9890:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9890:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9890:16:0::1;9866:40;;9935:4;9917;9922:1;9917:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9917:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9961:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9961:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9917:7;;9961:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9951:4;9956:1;9951:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9951:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10026:15:::1;::::0;9994:62:::1;::::0;10011:4:::1;::::0;10026:15:::1;10044:11:::0;9994:8:::1;:62::i;:::-;10067:15;::::0;:196:::1;::::0;-1:-1:-1;;;10067:196:0;;-1:-1:-1;;;;;10067:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10148:11;;10067:15:::1;::::0;10190:4;;10217::::1;::::0;10237:15:::1;::::0;10067:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5227:6:0;:14;;-1:-1:-1;;;;5227:14:0;;;-1:-1:-1;;;;9788:483:0:o;10279:92::-;10336:10;;:27;;:10;;;;-1:-1:-1;;;;;10336:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;1623:246;1681:7;1705:1;1710;1705:6;1701:47;;-1:-1:-1;1735:1:0;1728:8;;1701:47;1758:9;1770:5;1774:1;1770;:5;:::i;:::-;1758:17;-1:-1:-1;1803:1:0;1794:5;1798:1;1758:17;1794:5;:::i;:::-;:10;1786:56;;;;-1:-1:-1;;;1786:56:0;;12827:2:1;1786:56:0;;;12809:21:1;12866:2;12846:18;;;12839:30;12905:34;12885:18;;;12878:62;-1:-1:-1;;;12956:18:1;;;12949:31;12997:19;;1786:56:0;12625:397:1;1786:56:0;1860:1;1623:246;-1:-1:-1;;;1623:246:0:o;1877:132::-;1935:7;1962:39;1966:1;1969;1962:39;;;;;;;;;;;;;;;;;:3;:39::i;9682:98::-;9739:7;9766:1;9764;:3;9763:9;;9771:1;9763:9;;;-1:-1:-1;9769:1:0;9682:98;-1:-1:-1;9682:98:0:o;1094:179::-;1152:7;;1184:5;1188:1;1184;:5;:::i;:::-;1172:17;;1213:1;1208;:6;;1200:46;;;;-1:-1:-1;;;1200:46:0;;13229:2:1;1200:46:0;;;13211:21:1;13268:2;13248:18;;;13241:30;13307:29;13287:18;;;13280:57;13354:18;;1200:46:0;13027:351:1;1281:136:0;1339:7;1366:43;1370:1;1373;1366:43;;;;;;;;;;;;;;;;;:3;:43::i;2017:189::-;2103:7;2138:12;2131:5;2123:28;;;;-1:-1:-1;;;2123:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2162:9:0;2174:5;2178:1;2174;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:356::-;4790:2;4772:21;;;4809:18;;;4802:30;4868:34;4863:2;4848:18;;4841:62;4935:2;4920:18;;4588:356::o;4949:184::-;5019:6;5072:2;5060:9;5051:7;5047:23;5043:32;5040:52;;;5088:1;5085;5078:12;5040:52;-1:-1:-1;5111:16:1;;4949:184;-1:-1:-1;4949:184:1:o;5417:277::-;5484:6;5537:2;5525:9;5516:7;5512:23;5508:32;5505:52;;;5553:1;5550;5543:12;5505:52;5585:9;5579:16;5638:5;5631:13;5624:21;5617:5;5614:32;5604:60;;5660:1;5657;5650:12;6663:306;6751:6;6759;6767;6820:2;6808:9;6799:7;6795:23;6791:32;6788:52;;;6836:1;6833;6826:12;6788:52;6865:9;6859:16;6849:26;;6915:2;6904:9;6900:18;6894:25;6884:35;;6959:2;6948:9;6944:18;6938:25;6928:35;;6663:306;;;;;:::o;6974:251::-;7044:6;7097:2;7085:9;7076:7;7072:23;7068:32;7065:52;;;7113:1;7110;7103:12;7065:52;7145:9;7139:16;7164:31;7189:5;7164:31;:::i;10396:125::-;10461:9;;;10482:10;;;10479:36;;;10495:18;;:::i;10881:135::-;10920:3;10941:17;;;10938:43;;10961:18;;:::i;:::-;-1:-1:-1;11008:1:1;10997:13;;10881:135::o;11021:128::-;11088:9;;;11109:11;;;11106:37;;;11123:18;;:::i;11286:127::-;11347:10;11342:3;11338:20;11335:1;11328:31;11378:4;11375:1;11368:15;11402:4;11399:1;11392:15;11418:980;11680:4;11728:3;11717:9;11713:19;11759:6;11748:9;11741:25;11785:2;11823:6;11818:2;11807:9;11803:18;11796:34;11866:3;11861:2;11850:9;11846:18;11839:31;11890:6;11925;11919:13;11956:6;11948;11941:22;11994:3;11983:9;11979:19;11972:26;;12033:2;12025:6;12021:15;12007:29;;12054:1;12064:195;12078:6;12075:1;12072:13;12064:195;;;12143:13;;-1:-1:-1;;;;;12139:39:1;12127:52;;12234:15;;;;12199:12;;;;12175:1;12093:9;12064:195;;;-1:-1:-1;;;;;;;12315:32:1;;;;12310:2;12295:18;;12288:60;-1:-1:-1;;;12379:3:1;12364:19;12357:35;12276:3;11418:980;-1:-1:-1;;;11418:980:1:o;12403:217::-;12443:1;12469;12459:132;;12513:10;12508:3;12504:20;12501:1;12494:31;12548:4;12545:1;12538:15;12576:4;12573:1;12566:15;12459:132;-1:-1:-1;12605:9:1;;12403:217::o
Swarm Source
ipfs://905de972e6cee79972b1d840193803726d1b0509c12b1649713964239257a4d7
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.