Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000 ETHGRAND
Holders
59
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
5,471.213247612 ETHGRANDValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DmitryButerin
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-12-16 */ /** * https://t.me/dmitrybuterin **/ pragma solidity 0.8.7; // SPDX-License-Identifier: UNLICENSED 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; address private _previousOwner; 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 DmitryButerin is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) public bots; mapping (address => uint) private cooldown; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1_000_000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; bool private dBlocksEnabled = true; uint256 public lBlock = 0; uint256 private dBlocks = 0; //bDelay + 1 uint256 private _feeAddr1; uint256 private _feeAddr2; uint256 private _initialTax = 3; uint256 private _finalTax = 3; uint256 private _reduceTaxCountdown = 30; address payable private _feeAddrWallet; string private constant _name = "Dmitry Buterin"; string private constant _symbol = "ETHGRAND"; uint8 private constant _decimals = 9; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; bool private cooldownEnabled = false; uint256 private _maxTxAmount = 1_000_000 * 10**9; uint256 private _maxWalletSize = 20_000 * 10**9; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_feeAddrWallet] = true; _feeAddrWallet = payable(_msgSender()); 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 tokenFromReflection(_rOwned[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 setCooldownEnabled(bool onoff) external onlyOwner() { cooldownEnabled = onoff; } function tokenFromReflection(uint256 rAmount) private view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } 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"); if (from != owner() && to != owner()) { require(!bots[from], "Blacklisted."); _feeAddr1 = 0; _feeAddr2 = (_reduceTaxCountdown==0)?_finalTax:_initialTax; if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) { // Cooldown require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); if(_reduceTaxCountdown>0){_reduceTaxCountdown--;} if (dBlocksEnabled) { if (block.number <= (lBlock + dBlocks)) { bots[to] = true; } } } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>0) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } }else{ _feeAddr1 = 0; _feeAddr2 = 0; } _tokenTransfer(from,to,amount); } 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; } function sendETHToFee(uint256 amount) private { _feeAddrWallet.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _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); swapEnabled = true; cooldownEnabled = true; lBlock = block.number; tradingOpen = true; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function _tokenTransfer(address sender, address recipient, uint256 amount) private { _transferStandard(sender, recipient, amount); } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function manualswap() external { require(_msgSender() == _feeAddrWallet); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _feeAddrWallet); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } }
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":"_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"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"lBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","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
608060405266038d7ea4c680006000196200001b91906200048b565b6000196200002a919062000446565b6008556001600a60006101000a81548160ff0219169083151502179055506000600b556000600c556003600f556003601055601e6011556000601460156101000a81548160ff0219169083151502179055506000601460166101000a81548160ff0219169083151502179055506000601460176101000a81548160ff02191690831515021790555066038d7ea4c680006015556512309ce54000601655348015620000d457600080fd5b506000620000e7620003e760201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600854600260006200019c620003e760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160056000620001f0620003ef60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000323620003e760201b60201c565b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000373620003e760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef66038d7ea4c68000604051620003d9919062000429565b60405180910390a362000521565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620004238162000481565b82525050565b600060208201905062000440600083018462000418565b92915050565b6000620004538262000481565b9150620004608362000481565b925082821015620004765762000475620004c3565b5b828203905092915050565b6000819050919050565b6000620004988262000481565b9150620004a58362000481565b925082620004b857620004b7620004f2565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6130f380620005316000396000f3fe60806040526004361061010d5760003560e01c8063715018a611610095578063a9059cbb11610064578063a9059cbb14610340578063bfd792841461037d578063c3c8cd80146103ba578063c9567bf9146103d1578063dd62ed3e146103e857610114565b8063715018a6146102bc578063751039fc146102d35780638da5cb5b146102ea57806395d89b411461031557610114565b8063313ce567116100dc578063313ce567146101e95780635932ead11461021457806363d84ba81461023d5780636fc3eaec1461026857806370a082311461027f57610114565b806306fdde0314610119578063095ea7b31461014457806318160ddd1461018157806323b872dd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e610425565b60405161013b91906127df565b60405180910390f35b34801561015057600080fd5b5061016b60048036038101906101669190612339565b610462565b60405161017891906127c4565b60405180910390f35b34801561018d57600080fd5b50610196610480565b6040516101a391906129a1565b60405180910390f35b3480156101b857600080fd5b506101d360048036038101906101ce91906122e6565b61048f565b6040516101e091906127c4565b60405180910390f35b3480156101f557600080fd5b506101fe610568565b60405161020b9190612a16565b60405180910390f35b34801561022057600080fd5b5061023b60048036038101906102369190612379565b610571565b005b34801561024957600080fd5b50610252610623565b60405161025f91906129a1565b60405180910390f35b34801561027457600080fd5b5061027d610629565b005b34801561028b57600080fd5b506102a660048036038101906102a1919061224c565b61069b565b6040516102b391906129a1565b60405180910390f35b3480156102c857600080fd5b506102d16106ec565b005b3480156102df57600080fd5b506102e861083f565b005b3480156102f657600080fd5b506102ff6108f2565b60405161030c91906126f6565b60405180910390f35b34801561032157600080fd5b5061032a61091b565b60405161033791906127df565b60405180910390f35b34801561034c57600080fd5b5061036760048036038101906103629190612339565b610958565b60405161037491906127c4565b60405180910390f35b34801561038957600080fd5b506103a4600480360381019061039f919061224c565b610976565b6040516103b191906127c4565b60405180910390f35b3480156103c657600080fd5b506103cf610996565b005b3480156103dd57600080fd5b506103e6610a10565b005b3480156103f457600080fd5b5061040f600480360381019061040a91906122a6565b610f5f565b60405161041c91906129a1565b60405180910390f35b60606040518060400160405280600e81526020017f446d69747279204275746572696e000000000000000000000000000000000000815250905090565b600061047661046f610fe6565b8484610fee565b6001905092915050565b600066038d7ea4c68000905090565b600061049c8484846111b9565b61055d846104a8610fe6565b6105588560405180606001604052806028815260200161309660289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061050e610fe6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117589092919063ffffffff16565b610fee565b600190509392505050565b60006009905090565b610579610fe6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610606576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105fd906128e1565b60405180910390fd5b80601460176101000a81548160ff02191690831515021790555050565b600b5481565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661066a610fe6565b73ffffffffffffffffffffffffffffffffffffffff161461068a57600080fd5b6000479050610698816117bc565b50565b60006106e5600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611828565b9050919050565b6106f4610fe6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610781576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610778906128e1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610847610fe6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cb906128e1565b60405180910390fd5b66038d7ea4c6800060158190555066038d7ea4c68000601681905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f4554484752414e44000000000000000000000000000000000000000000000000815250905090565b600061096c610965610fe6565b84846111b9565b6001905092915050565b60066020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109d7610fe6565b73ffffffffffffffffffffffffffffffffffffffff16146109f757600080fd5b6000610a023061069b565b9050610a0d81611896565b50565b610a18610fe6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9c906128e1565b60405180910390fd5b60148054906101000a900460ff1615610af3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aea90612981565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b8130601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1666038d7ea4c68000610fee565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610bc757600080fd5b505afa158015610bdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bff9190612279565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6157600080fd5b505afa158015610c75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c999190612279565b6040518363ffffffff1660e01b8152600401610cb6929190612711565b602060405180830381600087803b158015610cd057600080fd5b505af1158015610ce4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d089190612279565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d913061069b565b600080610d9c6108f2565b426040518863ffffffff1660e01b8152600401610dbe96959493929190612763565b6060604051808303818588803b158015610dd757600080fd5b505af1158015610deb573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e1091906123d3565b5050506001601460166101000a81548160ff0219169083151502179055506001601460176101000a81548160ff02191690831515021790555043600b8190555060016014806101000a81548160ff021916908315150217905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f0992919061273a565b602060405180830381600087803b158015610f2357600080fd5b505af1158015610f37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5b91906123a6565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561105e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105590612961565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c590612881565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111ac91906129a1565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611229576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122090612921565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611299576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129090612821565b60405180910390fd5b600081116112dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d390612901565b60405180910390fd5b6112e46108f2565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561135257506113226108f2565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561173757600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156113e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113db90612801565b60405180910390fd5b6000600d819055506000601154146113fe57600f54611402565b6010545b600e81905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156114b35750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115095750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156115215750601460179054906101000a900460ff165b1561166d5760155481111561156b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156290612841565b60405180910390fd5b601654816115788461069b565b6115829190612a86565b11156115c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ba90612941565b60405180910390fd5b600060115411156115e757601160008154809291906115e190612c35565b91905055505b600a60009054906101000a900460ff161561166c57600c54600b5461160c9190612a86565b431161166b576001600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b5b60006116783061069b565b9050601460159054906101000a900460ff161580156116e55750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156116fd5750601460169054906101000a900460ff165b80156117095750600081115b156117315761171781611896565b6000479050600081111561172f5761172e476117bc565b5b505b50611748565b6000600d819055506000600e819055505b611753838383611b1e565b505050565b60008383111582906117a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179791906127df565b60405180910390fd5b50600083856117af9190612b67565b9050809150509392505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611824573d6000803e3d6000fd5b5050565b600060085482111561186f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186690612861565b60405180910390fd5b6000611879611b2e565b905061188e8184611b5990919063ffffffff16565b915050919050565b6001601460156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156118ce576118cd612cec565b5b6040519080825280602002602001820160405280156118fc5781602001602082028036833780820191505090505b509050308160008151811061191457611913612cbd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156119b657600080fd5b505afa1580156119ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ee9190612279565b81600181518110611a0257611a01612cbd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a6930601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610fee565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611acd9594939291906129bc565b600060405180830381600087803b158015611ae757600080fd5b505af1158015611afb573d6000803e3d6000fd5b50505050506000601460156101000a81548160ff02191690831515021790555050565b611b29838383611ba3565b505050565b6000806000611b3b611d6e565b91509150611b528183611b5990919063ffffffff16565b9250505090565b6000611b9b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611dca565b905092915050565b600080600080600080611bb587611e2d565b955095509550955095509550611c1386600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9590919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ca885600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611edf90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cf481611f3d565b611cfe8483611ffa565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611d5b91906129a1565b60405180910390a3505050505050505050565b60008060006008549050600066038d7ea4c680009050611da066038d7ea4c68000600854611b5990919063ffffffff16565b821015611dbd5760085466038d7ea4c68000935093505050611dc6565b81819350935050505b9091565b60008083118290611e11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0891906127df565b60405180910390fd5b5060008385611e209190612adc565b9050809150509392505050565b6000806000806000806000806000611e4a8a600d54600e54612034565b9250925092506000611e5a611b2e565b90506000806000611e6d8e8787876120ca565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611ed783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611758565b905092915050565b6000808284611eee9190612a86565b905083811015611f33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2a906128a1565b60405180910390fd5b8091505092915050565b6000611f47611b2e565b90506000611f5e828461215390919063ffffffff16565b9050611fb281600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611edf90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61200f82600854611e9590919063ffffffff16565b60088190555061202a81600954611edf90919063ffffffff16565b6009819055505050565b6000806000806120606064612052888a61215390919063ffffffff16565b611b5990919063ffffffff16565b9050600061208a606461207c888b61215390919063ffffffff16565b611b5990919063ffffffff16565b905060006120b3826120a5858c611e9590919063ffffffff16565b611e9590919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806120e3858961215390919063ffffffff16565b905060006120fa868961215390919063ffffffff16565b90506000612111878961215390919063ffffffff16565b9050600061213a8261212c8587611e9590919063ffffffff16565b611e9590919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083141561216657600090506121c8565b600082846121749190612b0d565b90508284826121839190612adc565b146121c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ba906128c1565b60405180910390fd5b809150505b92915050565b6000813590506121dd81613050565b92915050565b6000815190506121f281613050565b92915050565b60008135905061220781613067565b92915050565b60008151905061221c81613067565b92915050565b6000813590506122318161307e565b92915050565b6000815190506122468161307e565b92915050565b60006020828403121561226257612261612d1b565b5b6000612270848285016121ce565b91505092915050565b60006020828403121561228f5761228e612d1b565b5b600061229d848285016121e3565b91505092915050565b600080604083850312156122bd576122bc612d1b565b5b60006122cb858286016121ce565b92505060206122dc858286016121ce565b9150509250929050565b6000806000606084860312156122ff576122fe612d1b565b5b600061230d868287016121ce565b935050602061231e868287016121ce565b925050604061232f86828701612222565b9150509250925092565b600080604083850312156123505761234f612d1b565b5b600061235e858286016121ce565b925050602061236f85828601612222565b9150509250929050565b60006020828403121561238f5761238e612d1b565b5b600061239d848285016121f8565b91505092915050565b6000602082840312156123bc576123bb612d1b565b5b60006123ca8482850161220d565b91505092915050565b6000806000606084860312156123ec576123eb612d1b565b5b60006123fa86828701612237565b935050602061240b86828701612237565b925050604061241c86828701612237565b9150509250925092565b6000612432838361243e565b60208301905092915050565b61244781612b9b565b82525050565b61245681612b9b565b82525050565b600061246782612a41565b6124718185612a64565b935061247c83612a31565b8060005b838110156124ad5781516124948882612426565b975061249f83612a57565b925050600181019050612480565b5085935050505092915050565b6124c381612bad565b82525050565b6124d281612bf0565b82525050565b60006124e382612a4c565b6124ed8185612a75565b93506124fd818560208601612c02565b61250681612d20565b840191505092915050565b600061251e600c83612a75565b915061252982612d31565b602082019050919050565b6000612541602383612a75565b915061254c82612d5a565b604082019050919050565b6000612564601983612a75565b915061256f82612da9565b602082019050919050565b6000612587602a83612a75565b915061259282612dd2565b604082019050919050565b60006125aa602283612a75565b91506125b582612e21565b604082019050919050565b60006125cd601b83612a75565b91506125d882612e70565b602082019050919050565b60006125f0602183612a75565b91506125fb82612e99565b604082019050919050565b6000612613602083612a75565b915061261e82612ee8565b602082019050919050565b6000612636602983612a75565b915061264182612f11565b604082019050919050565b6000612659602583612a75565b915061266482612f60565b604082019050919050565b600061267c601a83612a75565b915061268782612faf565b602082019050919050565b600061269f602483612a75565b91506126aa82612fd8565b604082019050919050565b60006126c2601783612a75565b91506126cd82613027565b602082019050919050565b6126e181612bd9565b82525050565b6126f081612be3565b82525050565b600060208201905061270b600083018461244d565b92915050565b6000604082019050612726600083018561244d565b612733602083018461244d565b9392505050565b600060408201905061274f600083018561244d565b61275c60208301846126d8565b9392505050565b600060c082019050612778600083018961244d565b61278560208301886126d8565b61279260408301876124c9565b61279f60608301866124c9565b6127ac608083018561244d565b6127b960a08301846126d8565b979650505050505050565b60006020820190506127d960008301846124ba565b92915050565b600060208201905081810360008301526127f981846124d8565b905092915050565b6000602082019050818103600083015261281a81612511565b9050919050565b6000602082019050818103600083015261283a81612534565b9050919050565b6000602082019050818103600083015261285a81612557565b9050919050565b6000602082019050818103600083015261287a8161257a565b9050919050565b6000602082019050818103600083015261289a8161259d565b9050919050565b600060208201905081810360008301526128ba816125c0565b9050919050565b600060208201905081810360008301526128da816125e3565b9050919050565b600060208201905081810360008301526128fa81612606565b9050919050565b6000602082019050818103600083015261291a81612629565b9050919050565b6000602082019050818103600083015261293a8161264c565b9050919050565b6000602082019050818103600083015261295a8161266f565b9050919050565b6000602082019050818103600083015261297a81612692565b9050919050565b6000602082019050818103600083015261299a816126b5565b9050919050565b60006020820190506129b660008301846126d8565b92915050565b600060a0820190506129d160008301886126d8565b6129de60208301876124c9565b81810360408301526129f0818661245c565b90506129ff606083018561244d565b612a0c60808301846126d8565b9695505050505050565b6000602082019050612a2b60008301846126e7565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612a9182612bd9565b9150612a9c83612bd9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612ad157612ad0612c5f565b5b828201905092915050565b6000612ae782612bd9565b9150612af283612bd9565b925082612b0257612b01612c8e565b5b828204905092915050565b6000612b1882612bd9565b9150612b2383612bd9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b5c57612b5b612c5f565b5b828202905092915050565b6000612b7282612bd9565b9150612b7d83612bd9565b925082821015612b9057612b8f612c5f565b5b828203905092915050565b6000612ba682612bb9565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612bfb82612bd9565b9050919050565b60005b83811015612c20578082015181840152602081019050612c05565b83811115612c2f576000848401525b50505050565b6000612c4082612bd9565b91506000821415612c5457612c53612c5f565b5b600182039050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f426c61636b6c69737465642e0000000000000000000000000000000000000000600082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b61305981612b9b565b811461306457600080fd5b50565b61307081612bad565b811461307b57600080fd5b50565b61308781612bd9565b811461309257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b16dbb1a66d40f09f4280e40d73b871bb1221482b0cade0b82d096ff578c6c7064736f6c63430008070033
Deployed Bytecode
0x60806040526004361061010d5760003560e01c8063715018a611610095578063a9059cbb11610064578063a9059cbb14610340578063bfd792841461037d578063c3c8cd80146103ba578063c9567bf9146103d1578063dd62ed3e146103e857610114565b8063715018a6146102bc578063751039fc146102d35780638da5cb5b146102ea57806395d89b411461031557610114565b8063313ce567116100dc578063313ce567146101e95780635932ead11461021457806363d84ba81461023d5780636fc3eaec1461026857806370a082311461027f57610114565b806306fdde0314610119578063095ea7b31461014457806318160ddd1461018157806323b872dd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e610425565b60405161013b91906127df565b60405180910390f35b34801561015057600080fd5b5061016b60048036038101906101669190612339565b610462565b60405161017891906127c4565b60405180910390f35b34801561018d57600080fd5b50610196610480565b6040516101a391906129a1565b60405180910390f35b3480156101b857600080fd5b506101d360048036038101906101ce91906122e6565b61048f565b6040516101e091906127c4565b60405180910390f35b3480156101f557600080fd5b506101fe610568565b60405161020b9190612a16565b60405180910390f35b34801561022057600080fd5b5061023b60048036038101906102369190612379565b610571565b005b34801561024957600080fd5b50610252610623565b60405161025f91906129a1565b60405180910390f35b34801561027457600080fd5b5061027d610629565b005b34801561028b57600080fd5b506102a660048036038101906102a1919061224c565b61069b565b6040516102b391906129a1565b60405180910390f35b3480156102c857600080fd5b506102d16106ec565b005b3480156102df57600080fd5b506102e861083f565b005b3480156102f657600080fd5b506102ff6108f2565b60405161030c91906126f6565b60405180910390f35b34801561032157600080fd5b5061032a61091b565b60405161033791906127df565b60405180910390f35b34801561034c57600080fd5b5061036760048036038101906103629190612339565b610958565b60405161037491906127c4565b60405180910390f35b34801561038957600080fd5b506103a4600480360381019061039f919061224c565b610976565b6040516103b191906127c4565b60405180910390f35b3480156103c657600080fd5b506103cf610996565b005b3480156103dd57600080fd5b506103e6610a10565b005b3480156103f457600080fd5b5061040f600480360381019061040a91906122a6565b610f5f565b60405161041c91906129a1565b60405180910390f35b60606040518060400160405280600e81526020017f446d69747279204275746572696e000000000000000000000000000000000000815250905090565b600061047661046f610fe6565b8484610fee565b6001905092915050565b600066038d7ea4c68000905090565b600061049c8484846111b9565b61055d846104a8610fe6565b6105588560405180606001604052806028815260200161309660289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061050e610fe6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117589092919063ffffffff16565b610fee565b600190509392505050565b60006009905090565b610579610fe6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610606576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105fd906128e1565b60405180910390fd5b80601460176101000a81548160ff02191690831515021790555050565b600b5481565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661066a610fe6565b73ffffffffffffffffffffffffffffffffffffffff161461068a57600080fd5b6000479050610698816117bc565b50565b60006106e5600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611828565b9050919050565b6106f4610fe6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610781576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610778906128e1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610847610fe6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cb906128e1565b60405180910390fd5b66038d7ea4c6800060158190555066038d7ea4c68000601681905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f4554484752414e44000000000000000000000000000000000000000000000000815250905090565b600061096c610965610fe6565b84846111b9565b6001905092915050565b60066020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109d7610fe6565b73ffffffffffffffffffffffffffffffffffffffff16146109f757600080fd5b6000610a023061069b565b9050610a0d81611896565b50565b610a18610fe6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9c906128e1565b60405180910390fd5b60148054906101000a900460ff1615610af3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aea90612981565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b8130601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1666038d7ea4c68000610fee565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610bc757600080fd5b505afa158015610bdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bff9190612279565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6157600080fd5b505afa158015610c75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c999190612279565b6040518363ffffffff1660e01b8152600401610cb6929190612711565b602060405180830381600087803b158015610cd057600080fd5b505af1158015610ce4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d089190612279565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d913061069b565b600080610d9c6108f2565b426040518863ffffffff1660e01b8152600401610dbe96959493929190612763565b6060604051808303818588803b158015610dd757600080fd5b505af1158015610deb573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e1091906123d3565b5050506001601460166101000a81548160ff0219169083151502179055506001601460176101000a81548160ff02191690831515021790555043600b8190555060016014806101000a81548160ff021916908315150217905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f0992919061273a565b602060405180830381600087803b158015610f2357600080fd5b505af1158015610f37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5b91906123a6565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561105e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105590612961565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c590612881565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111ac91906129a1565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611229576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122090612921565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611299576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129090612821565b60405180910390fd5b600081116112dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d390612901565b60405180910390fd5b6112e46108f2565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561135257506113226108f2565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561173757600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156113e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113db90612801565b60405180910390fd5b6000600d819055506000601154146113fe57600f54611402565b6010545b600e81905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156114b35750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115095750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156115215750601460179054906101000a900460ff165b1561166d5760155481111561156b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156290612841565b60405180910390fd5b601654816115788461069b565b6115829190612a86565b11156115c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ba90612941565b60405180910390fd5b600060115411156115e757601160008154809291906115e190612c35565b91905055505b600a60009054906101000a900460ff161561166c57600c54600b5461160c9190612a86565b431161166b576001600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b5b60006116783061069b565b9050601460159054906101000a900460ff161580156116e55750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156116fd5750601460169054906101000a900460ff165b80156117095750600081115b156117315761171781611896565b6000479050600081111561172f5761172e476117bc565b5b505b50611748565b6000600d819055506000600e819055505b611753838383611b1e565b505050565b60008383111582906117a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179791906127df565b60405180910390fd5b50600083856117af9190612b67565b9050809150509392505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611824573d6000803e3d6000fd5b5050565b600060085482111561186f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186690612861565b60405180910390fd5b6000611879611b2e565b905061188e8184611b5990919063ffffffff16565b915050919050565b6001601460156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156118ce576118cd612cec565b5b6040519080825280602002602001820160405280156118fc5781602001602082028036833780820191505090505b509050308160008151811061191457611913612cbd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156119b657600080fd5b505afa1580156119ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ee9190612279565b81600181518110611a0257611a01612cbd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a6930601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610fee565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611acd9594939291906129bc565b600060405180830381600087803b158015611ae757600080fd5b505af1158015611afb573d6000803e3d6000fd5b50505050506000601460156101000a81548160ff02191690831515021790555050565b611b29838383611ba3565b505050565b6000806000611b3b611d6e565b91509150611b528183611b5990919063ffffffff16565b9250505090565b6000611b9b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611dca565b905092915050565b600080600080600080611bb587611e2d565b955095509550955095509550611c1386600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9590919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ca885600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611edf90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cf481611f3d565b611cfe8483611ffa565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611d5b91906129a1565b60405180910390a3505050505050505050565b60008060006008549050600066038d7ea4c680009050611da066038d7ea4c68000600854611b5990919063ffffffff16565b821015611dbd5760085466038d7ea4c68000935093505050611dc6565b81819350935050505b9091565b60008083118290611e11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0891906127df565b60405180910390fd5b5060008385611e209190612adc565b9050809150509392505050565b6000806000806000806000806000611e4a8a600d54600e54612034565b9250925092506000611e5a611b2e565b90506000806000611e6d8e8787876120ca565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611ed783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611758565b905092915050565b6000808284611eee9190612a86565b905083811015611f33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2a906128a1565b60405180910390fd5b8091505092915050565b6000611f47611b2e565b90506000611f5e828461215390919063ffffffff16565b9050611fb281600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611edf90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61200f82600854611e9590919063ffffffff16565b60088190555061202a81600954611edf90919063ffffffff16565b6009819055505050565b6000806000806120606064612052888a61215390919063ffffffff16565b611b5990919063ffffffff16565b9050600061208a606461207c888b61215390919063ffffffff16565b611b5990919063ffffffff16565b905060006120b3826120a5858c611e9590919063ffffffff16565b611e9590919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806120e3858961215390919063ffffffff16565b905060006120fa868961215390919063ffffffff16565b90506000612111878961215390919063ffffffff16565b9050600061213a8261212c8587611e9590919063ffffffff16565b611e9590919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083141561216657600090506121c8565b600082846121749190612b0d565b90508284826121839190612adc565b146121c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ba906128c1565b60405180910390fd5b809150505b92915050565b6000813590506121dd81613050565b92915050565b6000815190506121f281613050565b92915050565b60008135905061220781613067565b92915050565b60008151905061221c81613067565b92915050565b6000813590506122318161307e565b92915050565b6000815190506122468161307e565b92915050565b60006020828403121561226257612261612d1b565b5b6000612270848285016121ce565b91505092915050565b60006020828403121561228f5761228e612d1b565b5b600061229d848285016121e3565b91505092915050565b600080604083850312156122bd576122bc612d1b565b5b60006122cb858286016121ce565b92505060206122dc858286016121ce565b9150509250929050565b6000806000606084860312156122ff576122fe612d1b565b5b600061230d868287016121ce565b935050602061231e868287016121ce565b925050604061232f86828701612222565b9150509250925092565b600080604083850312156123505761234f612d1b565b5b600061235e858286016121ce565b925050602061236f85828601612222565b9150509250929050565b60006020828403121561238f5761238e612d1b565b5b600061239d848285016121f8565b91505092915050565b6000602082840312156123bc576123bb612d1b565b5b60006123ca8482850161220d565b91505092915050565b6000806000606084860312156123ec576123eb612d1b565b5b60006123fa86828701612237565b935050602061240b86828701612237565b925050604061241c86828701612237565b9150509250925092565b6000612432838361243e565b60208301905092915050565b61244781612b9b565b82525050565b61245681612b9b565b82525050565b600061246782612a41565b6124718185612a64565b935061247c83612a31565b8060005b838110156124ad5781516124948882612426565b975061249f83612a57565b925050600181019050612480565b5085935050505092915050565b6124c381612bad565b82525050565b6124d281612bf0565b82525050565b60006124e382612a4c565b6124ed8185612a75565b93506124fd818560208601612c02565b61250681612d20565b840191505092915050565b600061251e600c83612a75565b915061252982612d31565b602082019050919050565b6000612541602383612a75565b915061254c82612d5a565b604082019050919050565b6000612564601983612a75565b915061256f82612da9565b602082019050919050565b6000612587602a83612a75565b915061259282612dd2565b604082019050919050565b60006125aa602283612a75565b91506125b582612e21565b604082019050919050565b60006125cd601b83612a75565b91506125d882612e70565b602082019050919050565b60006125f0602183612a75565b91506125fb82612e99565b604082019050919050565b6000612613602083612a75565b915061261e82612ee8565b602082019050919050565b6000612636602983612a75565b915061264182612f11565b604082019050919050565b6000612659602583612a75565b915061266482612f60565b604082019050919050565b600061267c601a83612a75565b915061268782612faf565b602082019050919050565b600061269f602483612a75565b91506126aa82612fd8565b604082019050919050565b60006126c2601783612a75565b91506126cd82613027565b602082019050919050565b6126e181612bd9565b82525050565b6126f081612be3565b82525050565b600060208201905061270b600083018461244d565b92915050565b6000604082019050612726600083018561244d565b612733602083018461244d565b9392505050565b600060408201905061274f600083018561244d565b61275c60208301846126d8565b9392505050565b600060c082019050612778600083018961244d565b61278560208301886126d8565b61279260408301876124c9565b61279f60608301866124c9565b6127ac608083018561244d565b6127b960a08301846126d8565b979650505050505050565b60006020820190506127d960008301846124ba565b92915050565b600060208201905081810360008301526127f981846124d8565b905092915050565b6000602082019050818103600083015261281a81612511565b9050919050565b6000602082019050818103600083015261283a81612534565b9050919050565b6000602082019050818103600083015261285a81612557565b9050919050565b6000602082019050818103600083015261287a8161257a565b9050919050565b6000602082019050818103600083015261289a8161259d565b9050919050565b600060208201905081810360008301526128ba816125c0565b9050919050565b600060208201905081810360008301526128da816125e3565b9050919050565b600060208201905081810360008301526128fa81612606565b9050919050565b6000602082019050818103600083015261291a81612629565b9050919050565b6000602082019050818103600083015261293a8161264c565b9050919050565b6000602082019050818103600083015261295a8161266f565b9050919050565b6000602082019050818103600083015261297a81612692565b9050919050565b6000602082019050818103600083015261299a816126b5565b9050919050565b60006020820190506129b660008301846126d8565b92915050565b600060a0820190506129d160008301886126d8565b6129de60208301876124c9565b81810360408301526129f0818661245c565b90506129ff606083018561244d565b612a0c60808301846126d8565b9695505050505050565b6000602082019050612a2b60008301846126e7565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612a9182612bd9565b9150612a9c83612bd9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612ad157612ad0612c5f565b5b828201905092915050565b6000612ae782612bd9565b9150612af283612bd9565b925082612b0257612b01612c8e565b5b828204905092915050565b6000612b1882612bd9565b9150612b2383612bd9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b5c57612b5b612c5f565b5b828202905092915050565b6000612b7282612bd9565b9150612b7d83612bd9565b925082821015612b9057612b8f612c5f565b5b828203905092915050565b6000612ba682612bb9565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612bfb82612bd9565b9050919050565b60005b83811015612c20578082015181840152602081019050612c05565b83811115612c2f576000848401525b50505050565b6000612c4082612bd9565b91506000821415612c5457612c53612c5f565b5b600182039050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f426c61636b6c69737465642e0000000000000000000000000000000000000000600082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b61305981612b9b565b811461306457600080fd5b50565b61307081612bad565b811461307b57600080fd5b50565b61308781612bd9565b811461309257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b16dbb1a66d40f09f4280e40d73b871bb1221482b0cade0b82d096ff578c6c7064736f6c63430008070033
Deployed Bytecode Sourcemap
3556:10353:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5501:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6353:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5778:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6522:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5687:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6843:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4217:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12024:193;;;;;;;;;;;;;:::i;:::-;;5881:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2637:148;;;;;;;;;;;;;:::i;:::-;;9720:118;;;;;;;;;;;;;:::i;:::-;;2423:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5592:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6027:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3884:37;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11822:194;;;;;;;;;;;;;:::i;:::-;;9950:803;;;;;;;;;;;;;:::i;:::-;;6202:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5501:83;5538:13;5571:5;;;;;;;;;;;;;;;;;5564:12;;5501:83;:::o;6353:161::-;6428:4;6445:39;6454:12;:10;:12::i;:::-;6468:7;6477:6;6445:8;:39::i;:::-;6502:4;6495:11;;6353:161;;;;:::o;5778:95::-;5831:7;4061:17;5851:14;;5778:95;:::o;6522:313::-;6620:4;6637:36;6647:6;6655:9;6666:6;6637:9;:36::i;:::-;6684:121;6693:6;6701:12;:10;:12::i;:::-;6715:89;6753:6;6715:89;;;;;;;;;;;;;;;;;:11;:19;6727:6;6715:19;;;;;;;;;;;;;;;:33;6735:12;:10;:12::i;:::-;6715:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6684:8;:121::i;:::-;6823:4;6816:11;;6522:313;;;;;:::o;5687:83::-;5728:5;4671:1;5746:16;;5687:83;:::o;6843:103::-;2560:12;:10;:12::i;:::-;2550:22;;:6;;;;;;;;;;:22;;;2542:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6933:5:::1;6915:15;;:23;;;;;;;;;;;;;;;;;;6843:103:::0;:::o;4217:25::-;;;;:::o;12024:193::-;12090:14;;;;;;;;;;;12074:30;;:12;:10;:12::i;:::-;:30;;;12066:39;;;;;;12116:26;12145:21;12116:50;;12177:32;12190:18;12177:12;:32::i;:::-;12055:162;12024:193::o;5881:138::-;5947:7;5974:37;5994:7;:16;6002:7;5994:16;;;;;;;;;;;;;;;;5974:19;:37::i;:::-;5967:44;;5881:138;;;:::o;2637:148::-;2560:12;:10;:12::i;:::-;2550:22;;:6;;;;;;;;;;:22;;;2542:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2744:1:::1;2707:40;;2728:6;::::0;::::1;;;;;;;;2707:40;;;;;;;;;;;;2775:1;2758:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2637:148::o:0;9720:118::-;2560:12;:10;:12::i;:::-;2550:22;;:6;;;;;;;;;;:22;;;2542:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4061:17:::1;9773:12;:22;;;;4061:17;9806:14;:24;;;;9720:118::o:0;2423:79::-;2461:7;2488:6;;;;;;;;;;;2481:13;;2423:79;:::o;5592:87::-;5631:13;5664:7;;;;;;;;;;;;;;;;;5657:14;;5592:87;:::o;6027:167::-;6105:4;6122:42;6132:12;:10;:12::i;:::-;6146:9;6157:6;6122:9;:42::i;:::-;6182:4;6175:11;;6027:167;;;;:::o;3884:37::-;;;;;;;;;;;;;;;;;;;;;;:::o;11822:194::-;11888:14;;;;;;;;;;;11872:30;;:12;:10;:12::i;:::-;:30;;;11864:39;;;;;;11914:23;11940:24;11958:4;11940:9;:24::i;:::-;11914:50;;11975:33;11992:15;11975:16;:33::i;:::-;11853:163;11822:194::o;9950:803::-;2560:12;:10;:12::i;:::-;2550:22;;:6;;;;;;;;;;:22;;;2542:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10014:11:::1;::::0;::::1;;;;;;;;10013:12;10005:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10063:35;10120:42;10063:100;;10192:16;10174:15;;:34;;;;;;;;;;;;;;;;;;10219:58;10236:4;10251:15;;;;;;;;;;;4061:17;10219:8;:58::i;:::-;10322:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10304:56;;;10369:4;10376:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10304:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10288:13;;:112;;;;;;;;;;;;;;;;;;10411:15;;;;;;;;;;;:31;;;10450:21;10481:4;10487:24;10505:4;10487:9;:24::i;:::-;10512:1;10514::::0;10516:7:::1;:5;:7::i;:::-;10524:15;10411:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10565:4;10551:11;;:18;;;;;;;;;;;;;;;;;;10598:4;10580:15;;:22;;;;;;;;;;;;;;;;;;10622:12;10613:6;:21;;;;10659:4;10645:11;::::0;:18:::1;;;;;;;;;;;;;;;;;;10681:13;;;;;;;;;;;10674:29;;;10712:15;;;;;;;;;;;10730:14;10674:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9994:759;9950:803::o:0;6202:143::-;6283:7;6310:11;:18;6322:5;6310:18;;;;;;;;;;;;;;;:27;6329:7;6310:27;;;;;;;;;;;;;;;;6303:34;;6202:143;;;;:::o;141:98::-;194:7;221:10;214:17;;141:98;:::o;7216:335::-;7326:1;7309:19;;:5;:19;;;;7301:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7407:1;7388:21;;:7;:21;;;;7380:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7489:6;7459:11;:18;7471:5;7459:18;;;;;;;;;;;;;;;:27;7478:7;7459:27;;;;;;;;;;;;;;;:36;;;;7527:7;7511:32;;7520:5;7511:32;;;7536:6;7511:32;;;;;;:::i;:::-;;;;;;;;7216:335;;;:::o;7559:1662::-;7663:1;7647:18;;:4;:18;;;;7639:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7740:1;7726:16;;:2;:16;;;;7718:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7810:1;7801:6;:10;7793:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7884:7;:5;:7::i;:::-;7876:15;;:4;:15;;;;:32;;;;;7901:7;:5;:7::i;:::-;7895:13;;:2;:13;;;;7876:32;7872:1299;;;7934:4;:10;7939:4;7934:10;;;;;;;;;;;;;;;;;;;;;;;;;7933:11;7925:36;;;;;;;;;;;;:::i;:::-;;;;;;;;;7988:1;7976:9;:13;;;;8038:1;8017:19;;:22;8016:46;;8051:11;;8016:46;;;8041:9;;8016:46;8004:9;:58;;;;8089:13;;;;;;;;;;;8081:21;;:4;:21;;;:55;;;;;8120:15;;;;;;;;;;;8106:30;;:2;:30;;;;8081:55;:83;;;;;8142:18;:22;8161:2;8142:22;;;;;;;;;;;;;;;;;;;;;;;;;8140:24;8081:83;:102;;;;;8168:15;;;;;;;;;;;8081:102;8077:585;;;8251:12;;8241:6;:22;;8233:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8346:14;;8336:6;8320:13;8330:2;8320:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8312:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8433:1;8413:19;;:21;8410:49;;;8436:19;;:21;;;;;;;;;:::i;:::-;;;;;;8410:49;8483:14;;;;;;;;;;;8479:168;;;8552:7;;8543:6;;:16;;;;:::i;:::-;8526:12;:34;8522:106;;8600:4;8589;:8;8594:2;8589:8;;;;;;;;;;;;;;;;:15;;;;;;;;;;;;;;;;;;8522:106;8479:168;8077:585;8678:28;8709:24;8727:4;8709:9;:24::i;:::-;8678:55;;8753:6;;;;;;;;;;;8752:7;:32;;;;;8771:13;;;;;;;;;;;8763:21;;:4;:21;;;;8752:32;:47;;;;;8788:11;;;;;;;;;;;8752:47;:73;;;;;8824:1;8803:20;:22;8752:73;8748:344;;;8846:38;8863:20;8846:16;:38::i;:::-;8903:26;8932:21;8903:50;;8996:1;8975:18;:22;8972:105;;;9022:35;9035:21;9022:12;:35::i;:::-;8972:105;8827:265;8748:344;7910:1193;7872:1299;;;9132:1;9120:9;:13;;;;9158:1;9146:9;:13;;;;7872:1299;9183:30;9198:4;9203:2;9206:6;9183:14;:30::i;:::-;7559:1662;;;:::o;1278:190::-;1364:7;1397:1;1392;:6;;1400:12;1384:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1424:9;1440:1;1436;:5;;;;:::i;:::-;1424:17;;1459:1;1452:8;;;1278:190;;;;;:::o;9846:96::-;9903:14;;;;;;;;;;;:23;;:31;9927:6;9903:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9846:96;:::o;6954:254::-;7021:7;7060;;7049;:18;;7041:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7125:19;7148:10;:8;:10::i;:::-;7125:33;;7176:24;7188:11;7176:7;:11;;:24;;;;:::i;:::-;7169:31;;;6954:254;;;:::o;9229:483::-;5113:4;5104:6;;:13;;;;;;;;;;;;;;;;;;9307:21:::1;9345:1;9331:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9307:40;;9376:4;9358;9363:1;9358:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9402:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9392:4;9397:1;9392:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9435:62;9452:4;9467:15;;;;;;;;;;;9485:11;9435:8;:62::i;:::-;9508:15;;;;;;;;;;;:66;;;9589:11;9615:1;9631:4;9658;9678:15;9508:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9296:416;5149:5:::0;5140:6;;:14;;;;;;;;;;;;;;;;;;9229:483;:::o;10761:146::-;10855:44;10873:6;10881:9;10892:6;10855:17;:44::i;:::-;10761:146;;;:::o;13479:163::-;13520:7;13541:15;13558;13577:19;:17;:19::i;:::-;13540:56;;;;13614:20;13626:7;13614;:11;;:20;;;;:::i;:::-;13607:27;;;;13479:163;:::o;1730:132::-;1788:7;1815:39;1819:1;1822;1815:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1808:46;;1730:132;;;;:::o;10915:487::-;11014:15;11031:23;11056:12;11070:23;11095:12;11109:13;11126:19;11137:7;11126:10;:19::i;:::-;11013:132;;;;;;;;;;;;11174:28;11194:7;11174;:15;11182:6;11174:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;11156:7;:15;11164:6;11156:15;;;;;;;;;;;;;;;:46;;;;11234:39;11257:15;11234:7;:18;11242:9;11234:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;11213:7;:18;11221:9;11213:18;;;;;;;;;;;;;;;:60;;;;11284:16;11294:5;11284:9;:16::i;:::-;11311:23;11323:4;11329;11311:11;:23::i;:::-;11367:9;11350:44;;11359:6;11350:44;;;11378:15;11350:44;;;;;;:::i;:::-;;;;;;;;11002:400;;;;;;10915:487;;;:::o;13650:256::-;13700:7;13709;13729:15;13747:7;;13729:25;;13765:15;4061:17;13765:25;;13815:20;4061:17;13815:7;;:11;;:20;;;;:::i;:::-;13805:7;:30;13801:61;;;13845:7;;4061:17;13837:25;;;;;;;;13801:61;13881:7;13890;13873:25;;;;;;13650:256;;;:::o;1870:189::-;1956:7;1988:1;1984;:5;1991:12;1976:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2015:9;2031:1;2027;:5;;;;:::i;:::-;2015:17;;2050:1;2043:8;;;1870:189;;;;;:::o;12227:471::-;12286:7;12295;12304;12313;12322;12331;12352:23;12377:12;12391:13;12408:42;12420:7;12429:9;;12440;;12408:11;:42::i;:::-;12351:99;;;;;;12461:19;12484:10;:8;:10::i;:::-;12461:33;;12506:15;12523:23;12548:12;12564:46;12576:7;12585:4;12591:5;12598:11;12564;:46::i;:::-;12505:105;;;;;;12629:7;12638:15;12655:4;12661:15;12678:4;12684:5;12621:69;;;;;;;;;;;;;;;;;;;12227:471;;;;;;;:::o;1134:136::-;1192:7;1219:43;1223:1;1226;1219:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1212:50;;1134:136;;;;:::o;947:179::-;1005:7;1025:9;1041:1;1037;:5;;;;:::i;:::-;1025:17;;1066:1;1061;:6;;1053:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1117:1;1110:8;;;947:179;;;;:::o;11410:212::-;11463:19;11486:10;:8;:10::i;:::-;11463:33;;11507:13;11523:22;11533:11;11523:5;:9;;:22;;;;:::i;:::-;11507:38;;11581:33;11608:5;11581:7;:22;11597:4;11581:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;11556:7;:22;11572:4;11556:22;;;;;;;;;;;;;;;:58;;;;11452:170;;11410:212;:::o;11630:147::-;11708:17;11720:4;11708:7;;:11;;:17;;;;:::i;:::-;11698:7;:27;;;;11749:20;11764:4;11749:10;;:14;;:20;;;;:::i;:::-;11736:10;:33;;;;11630:147;;:::o;12706:351::-;12799:7;12808;12817;12837:12;12852:28;12876:3;12852:19;12864:6;12852:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;12837:43;;12891:13;12907:29;12932:3;12907:20;12919:7;12907;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;12891:45;;12947:23;12973:28;12995:5;12973:17;12985:4;12973:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;12947:54;;13020:15;13037:4;13043:5;13012:37;;;;;;;;;12706:351;;;;;;;:::o;13065:409::-;13175:7;13184;13193;13213:15;13231:24;13243:11;13231:7;:11;;:24;;;;:::i;:::-;13213:42;;13266:12;13281:21;13290:11;13281:4;:8;;:21;;;;:::i;:::-;13266:36;;13313:13;13329:22;13339:11;13329:5;:9;;:22;;;;:::i;:::-;13313:38;;13362:23;13388:28;13410:5;13388:17;13400:4;13388:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;13362:54;;13435:7;13444:15;13461:4;13427:39;;;;;;;;;;13065:409;;;;;;;;:::o;1476:246::-;1534:7;1563:1;1558;:6;1554:47;;;1588:1;1581:8;;;;1554:47;1611:9;1627:1;1623;:5;;;;:::i;:::-;1611:17;;1656:1;1651;1647;:5;;;;:::i;:::-;:10;1639:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1713:1;1706:8;;;1476:246;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;301:133;;;;:::o;440:137::-;494:5;525:6;519:13;510:22;;541:30;565:5;541:30;:::i;:::-;440:137;;;;:::o;583:139::-;629:5;667:6;654:20;645:29;;683:33;710:5;683:33;:::i;:::-;583:139;;;;:::o;728:143::-;785:5;816:6;810:13;801:22;;832:33;859:5;832:33;:::i;:::-;728:143;;;;:::o;877:329::-;936:6;985:2;973:9;964:7;960:23;956:32;953:119;;;991:79;;:::i;:::-;953:119;1111:1;1136:53;1181:7;1172:6;1161:9;1157:22;1136:53;:::i;:::-;1126:63;;1082:117;877:329;;;;:::o;1212:351::-;1282:6;1331:2;1319:9;1310:7;1306:23;1302:32;1299:119;;;1337:79;;:::i;:::-;1299:119;1457:1;1482:64;1538:7;1529:6;1518:9;1514:22;1482:64;:::i;:::-;1472:74;;1428:128;1212:351;;;;:::o;1569:474::-;1637:6;1645;1694:2;1682:9;1673:7;1669:23;1665:32;1662:119;;;1700:79;;:::i;:::-;1662:119;1820:1;1845:53;1890:7;1881:6;1870:9;1866:22;1845:53;:::i;:::-;1835:63;;1791:117;1947:2;1973:53;2018:7;2009:6;1998:9;1994:22;1973:53;:::i;:::-;1963:63;;1918:118;1569:474;;;;;:::o;2049:619::-;2126:6;2134;2142;2191:2;2179:9;2170:7;2166:23;2162:32;2159:119;;;2197:79;;:::i;:::-;2159:119;2317:1;2342:53;2387:7;2378:6;2367:9;2363:22;2342:53;:::i;:::-;2332:63;;2288:117;2444:2;2470:53;2515:7;2506:6;2495:9;2491:22;2470:53;:::i;:::-;2460:63;;2415:118;2572:2;2598:53;2643:7;2634:6;2623:9;2619:22;2598:53;:::i;:::-;2588:63;;2543:118;2049:619;;;;;:::o;2674:474::-;2742:6;2750;2799:2;2787:9;2778:7;2774:23;2770:32;2767:119;;;2805:79;;:::i;:::-;2767:119;2925:1;2950:53;2995:7;2986:6;2975:9;2971:22;2950:53;:::i;:::-;2940:63;;2896:117;3052:2;3078:53;3123:7;3114:6;3103:9;3099:22;3078:53;:::i;:::-;3068:63;;3023:118;2674:474;;;;;:::o;3154:323::-;3210:6;3259:2;3247:9;3238:7;3234:23;3230:32;3227:119;;;3265:79;;:::i;:::-;3227:119;3385:1;3410:50;3452:7;3443:6;3432:9;3428:22;3410:50;:::i;:::-;3400:60;;3356:114;3154:323;;;;:::o;3483:345::-;3550:6;3599:2;3587:9;3578:7;3574:23;3570:32;3567:119;;;3605:79;;:::i;:::-;3567:119;3725:1;3750:61;3803:7;3794:6;3783:9;3779:22;3750:61;:::i;:::-;3740:71;;3696:125;3483:345;;;;:::o;3834:663::-;3922:6;3930;3938;3987:2;3975:9;3966:7;3962:23;3958:32;3955:119;;;3993:79;;:::i;:::-;3955:119;4113:1;4138:64;4194:7;4185:6;4174:9;4170:22;4138:64;:::i;:::-;4128:74;;4084:128;4251:2;4277:64;4333:7;4324:6;4313:9;4309:22;4277:64;:::i;:::-;4267:74;;4222:129;4390:2;4416:64;4472:7;4463:6;4452:9;4448:22;4416:64;:::i;:::-;4406:74;;4361:129;3834:663;;;;;:::o;4503:179::-;4572:10;4593:46;4635:3;4627:6;4593:46;:::i;:::-;4671:4;4666:3;4662:14;4648:28;;4503:179;;;;:::o;4688:108::-;4765:24;4783:5;4765:24;:::i;:::-;4760:3;4753:37;4688:108;;:::o;4802:118::-;4889:24;4907:5;4889:24;:::i;:::-;4884:3;4877:37;4802:118;;:::o;4956:732::-;5075:3;5104:54;5152:5;5104:54;:::i;:::-;5174:86;5253:6;5248:3;5174:86;:::i;:::-;5167:93;;5284:56;5334:5;5284:56;:::i;:::-;5363:7;5394:1;5379:284;5404:6;5401:1;5398:13;5379:284;;;5480:6;5474:13;5507:63;5566:3;5551:13;5507:63;:::i;:::-;5500:70;;5593:60;5646:6;5593:60;:::i;:::-;5583:70;;5439:224;5426:1;5423;5419:9;5414:14;;5379:284;;;5383:14;5679:3;5672:10;;5080:608;;;4956:732;;;;:::o;5694:109::-;5775:21;5790:5;5775:21;:::i;:::-;5770:3;5763:34;5694:109;;:::o;5809:147::-;5904:45;5943:5;5904:45;:::i;:::-;5899:3;5892:58;5809:147;;:::o;5962:364::-;6050:3;6078:39;6111:5;6078:39;:::i;:::-;6133:71;6197:6;6192:3;6133:71;:::i;:::-;6126:78;;6213:52;6258:6;6253:3;6246:4;6239:5;6235:16;6213:52;:::i;:::-;6290:29;6312:6;6290:29;:::i;:::-;6285:3;6281:39;6274:46;;6054:272;5962:364;;;;:::o;6332:366::-;6474:3;6495:67;6559:2;6554:3;6495:67;:::i;:::-;6488:74;;6571:93;6660:3;6571:93;:::i;:::-;6689:2;6684:3;6680:12;6673:19;;6332:366;;;:::o;6704:::-;6846:3;6867:67;6931:2;6926:3;6867:67;:::i;:::-;6860:74;;6943:93;7032:3;6943:93;:::i;:::-;7061:2;7056:3;7052:12;7045:19;;6704:366;;;:::o;7076:::-;7218:3;7239:67;7303:2;7298:3;7239:67;:::i;:::-;7232:74;;7315:93;7404:3;7315:93;:::i;:::-;7433:2;7428:3;7424:12;7417:19;;7076:366;;;:::o;7448:::-;7590:3;7611:67;7675:2;7670:3;7611:67;:::i;:::-;7604:74;;7687:93;7776:3;7687:93;:::i;:::-;7805:2;7800:3;7796:12;7789:19;;7448:366;;;:::o;7820:::-;7962:3;7983:67;8047:2;8042:3;7983:67;:::i;:::-;7976:74;;8059:93;8148:3;8059:93;:::i;:::-;8177:2;8172:3;8168:12;8161:19;;7820:366;;;:::o;8192:::-;8334:3;8355:67;8419:2;8414:3;8355:67;:::i;:::-;8348:74;;8431:93;8520:3;8431:93;:::i;:::-;8549:2;8544:3;8540:12;8533:19;;8192:366;;;:::o;8564:::-;8706:3;8727:67;8791:2;8786:3;8727:67;:::i;:::-;8720:74;;8803:93;8892:3;8803:93;:::i;:::-;8921:2;8916:3;8912:12;8905:19;;8564:366;;;:::o;8936:::-;9078:3;9099:67;9163:2;9158:3;9099:67;:::i;:::-;9092:74;;9175:93;9264:3;9175:93;:::i;:::-;9293:2;9288:3;9284:12;9277:19;;8936:366;;;:::o;9308:::-;9450:3;9471:67;9535:2;9530:3;9471:67;:::i;:::-;9464:74;;9547:93;9636:3;9547:93;:::i;:::-;9665:2;9660:3;9656:12;9649:19;;9308:366;;;:::o;9680:::-;9822:3;9843:67;9907:2;9902:3;9843:67;:::i;:::-;9836:74;;9919:93;10008:3;9919:93;:::i;:::-;10037:2;10032:3;10028:12;10021:19;;9680:366;;;:::o;10052:::-;10194:3;10215:67;10279:2;10274:3;10215:67;:::i;:::-;10208:74;;10291:93;10380:3;10291:93;:::i;:::-;10409:2;10404:3;10400:12;10393:19;;10052:366;;;:::o;10424:::-;10566:3;10587:67;10651:2;10646:3;10587:67;:::i;:::-;10580:74;;10663:93;10752:3;10663:93;:::i;:::-;10781:2;10776:3;10772:12;10765:19;;10424:366;;;:::o;10796:::-;10938:3;10959:67;11023:2;11018:3;10959:67;:::i;:::-;10952:74;;11035:93;11124:3;11035:93;:::i;:::-;11153:2;11148:3;11144:12;11137:19;;10796:366;;;:::o;11168:118::-;11255:24;11273:5;11255:24;:::i;:::-;11250:3;11243:37;11168:118;;:::o;11292:112::-;11375:22;11391:5;11375:22;:::i;:::-;11370:3;11363:35;11292:112;;:::o;11410:222::-;11503:4;11541:2;11530:9;11526:18;11518:26;;11554:71;11622:1;11611:9;11607:17;11598:6;11554:71;:::i;:::-;11410:222;;;;:::o;11638:332::-;11759:4;11797:2;11786:9;11782:18;11774:26;;11810:71;11878:1;11867:9;11863:17;11854:6;11810:71;:::i;:::-;11891:72;11959:2;11948:9;11944:18;11935:6;11891:72;:::i;:::-;11638:332;;;;;:::o;11976:::-;12097:4;12135:2;12124:9;12120:18;12112:26;;12148:71;12216:1;12205:9;12201:17;12192:6;12148:71;:::i;:::-;12229:72;12297:2;12286:9;12282:18;12273:6;12229:72;:::i;:::-;11976:332;;;;;:::o;12314:807::-;12563:4;12601:3;12590:9;12586:19;12578:27;;12615:71;12683:1;12672:9;12668:17;12659:6;12615:71;:::i;:::-;12696:72;12764:2;12753:9;12749:18;12740:6;12696:72;:::i;:::-;12778:80;12854:2;12843:9;12839:18;12830:6;12778:80;:::i;:::-;12868;12944:2;12933:9;12929:18;12920:6;12868:80;:::i;:::-;12958:73;13026:3;13015:9;13011:19;13002:6;12958:73;:::i;:::-;13041;13109:3;13098:9;13094:19;13085:6;13041:73;:::i;:::-;12314:807;;;;;;;;;:::o;13127:210::-;13214:4;13252:2;13241:9;13237:18;13229:26;;13265:65;13327:1;13316:9;13312:17;13303:6;13265:65;:::i;:::-;13127:210;;;;:::o;13343:313::-;13456:4;13494:2;13483:9;13479:18;13471:26;;13543:9;13537:4;13533:20;13529:1;13518:9;13514:17;13507:47;13571:78;13644:4;13635:6;13571:78;:::i;:::-;13563:86;;13343:313;;;;:::o;13662:419::-;13828:4;13866:2;13855:9;13851:18;13843:26;;13915:9;13909:4;13905:20;13901:1;13890:9;13886:17;13879:47;13943:131;14069:4;13943:131;:::i;:::-;13935:139;;13662:419;;;:::o;14087:::-;14253:4;14291:2;14280:9;14276:18;14268:26;;14340:9;14334:4;14330:20;14326:1;14315:9;14311:17;14304:47;14368:131;14494:4;14368:131;:::i;:::-;14360:139;;14087:419;;;:::o;14512:::-;14678:4;14716:2;14705:9;14701:18;14693:26;;14765:9;14759:4;14755:20;14751:1;14740:9;14736:17;14729:47;14793:131;14919:4;14793:131;:::i;:::-;14785:139;;14512:419;;;:::o;14937:::-;15103:4;15141:2;15130:9;15126:18;15118:26;;15190:9;15184:4;15180:20;15176:1;15165:9;15161:17;15154:47;15218:131;15344:4;15218:131;:::i;:::-;15210:139;;14937:419;;;:::o;15362:::-;15528:4;15566:2;15555:9;15551:18;15543:26;;15615:9;15609:4;15605:20;15601:1;15590:9;15586:17;15579:47;15643:131;15769:4;15643:131;:::i;:::-;15635:139;;15362:419;;;:::o;15787:::-;15953:4;15991:2;15980:9;15976:18;15968:26;;16040:9;16034:4;16030:20;16026:1;16015:9;16011:17;16004:47;16068:131;16194:4;16068:131;:::i;:::-;16060:139;;15787:419;;;:::o;16212:::-;16378:4;16416:2;16405:9;16401:18;16393:26;;16465:9;16459:4;16455:20;16451:1;16440:9;16436:17;16429:47;16493:131;16619:4;16493:131;:::i;:::-;16485:139;;16212:419;;;:::o;16637:::-;16803:4;16841:2;16830:9;16826:18;16818:26;;16890:9;16884:4;16880:20;16876:1;16865:9;16861:17;16854:47;16918:131;17044:4;16918:131;:::i;:::-;16910:139;;16637:419;;;:::o;17062:::-;17228:4;17266:2;17255:9;17251:18;17243:26;;17315:9;17309:4;17305:20;17301:1;17290:9;17286:17;17279:47;17343:131;17469:4;17343:131;:::i;:::-;17335:139;;17062:419;;;:::o;17487:::-;17653:4;17691:2;17680:9;17676:18;17668:26;;17740:9;17734:4;17730:20;17726:1;17715:9;17711:17;17704:47;17768:131;17894:4;17768:131;:::i;:::-;17760:139;;17487:419;;;:::o;17912:::-;18078:4;18116:2;18105:9;18101:18;18093:26;;18165:9;18159:4;18155:20;18151:1;18140:9;18136:17;18129:47;18193:131;18319:4;18193:131;:::i;:::-;18185:139;;17912:419;;;:::o;18337:::-;18503:4;18541:2;18530:9;18526:18;18518:26;;18590:9;18584:4;18580:20;18576:1;18565:9;18561:17;18554:47;18618:131;18744:4;18618:131;:::i;:::-;18610:139;;18337:419;;;:::o;18762:::-;18928:4;18966:2;18955:9;18951:18;18943:26;;19015:9;19009:4;19005:20;19001:1;18990:9;18986:17;18979:47;19043:131;19169:4;19043:131;:::i;:::-;19035:139;;18762:419;;;:::o;19187:222::-;19280:4;19318:2;19307:9;19303:18;19295:26;;19331:71;19399:1;19388:9;19384:17;19375:6;19331:71;:::i;:::-;19187:222;;;;:::o;19415:831::-;19678:4;19716:3;19705:9;19701:19;19693:27;;19730:71;19798:1;19787:9;19783:17;19774:6;19730:71;:::i;:::-;19811:80;19887:2;19876:9;19872:18;19863:6;19811:80;:::i;:::-;19938:9;19932:4;19928:20;19923:2;19912:9;19908:18;19901:48;19966:108;20069:4;20060:6;19966:108;:::i;:::-;19958:116;;20084:72;20152:2;20141:9;20137:18;20128:6;20084:72;:::i;:::-;20166:73;20234:3;20223:9;20219:19;20210:6;20166:73;:::i;:::-;19415:831;;;;;;;;:::o;20252:214::-;20341:4;20379:2;20368:9;20364:18;20356:26;;20392:67;20456:1;20445:9;20441:17;20432:6;20392:67;:::i;:::-;20252:214;;;;:::o;20553:132::-;20620:4;20643:3;20635:11;;20673:4;20668:3;20664:14;20656:22;;20553:132;;;:::o;20691:114::-;20758:6;20792:5;20786:12;20776:22;;20691:114;;;:::o;20811:99::-;20863:6;20897:5;20891:12;20881:22;;20811:99;;;:::o;20916:113::-;20986:4;21018;21013:3;21009:14;21001:22;;20916:113;;;:::o;21035:184::-;21134:11;21168:6;21163:3;21156:19;21208:4;21203:3;21199:14;21184:29;;21035:184;;;;:::o;21225:169::-;21309:11;21343:6;21338:3;21331:19;21383:4;21378:3;21374:14;21359:29;;21225:169;;;;:::o;21400:305::-;21440:3;21459:20;21477:1;21459:20;:::i;:::-;21454:25;;21493:20;21511:1;21493:20;:::i;:::-;21488:25;;21647:1;21579:66;21575:74;21572:1;21569:81;21566:107;;;21653:18;;:::i;:::-;21566:107;21697:1;21694;21690:9;21683:16;;21400:305;;;;:::o;21711:185::-;21751:1;21768:20;21786:1;21768:20;:::i;:::-;21763:25;;21802:20;21820:1;21802:20;:::i;:::-;21797:25;;21841:1;21831:35;;21846:18;;:::i;:::-;21831:35;21888:1;21885;21881:9;21876:14;;21711:185;;;;:::o;21902:348::-;21942:7;21965:20;21983:1;21965:20;:::i;:::-;21960:25;;21999:20;22017:1;21999:20;:::i;:::-;21994:25;;22187:1;22119:66;22115:74;22112:1;22109:81;22104:1;22097:9;22090:17;22086:105;22083:131;;;22194:18;;:::i;:::-;22083:131;22242:1;22239;22235:9;22224:20;;21902:348;;;;:::o;22256:191::-;22296:4;22316:20;22334:1;22316:20;:::i;:::-;22311:25;;22350:20;22368:1;22350:20;:::i;:::-;22345:25;;22389:1;22386;22383:8;22380:34;;;22394:18;;:::i;:::-;22380:34;22439:1;22436;22432:9;22424:17;;22256:191;;;;:::o;22453:96::-;22490:7;22519:24;22537:5;22519:24;:::i;:::-;22508:35;;22453:96;;;:::o;22555:90::-;22589:7;22632:5;22625:13;22618:21;22607:32;;22555:90;;;:::o;22651:126::-;22688:7;22728:42;22721:5;22717:54;22706:65;;22651:126;;;:::o;22783:77::-;22820:7;22849:5;22838:16;;22783:77;;;:::o;22866:86::-;22901:7;22941:4;22934:5;22930:16;22919:27;;22866:86;;;:::o;22958:121::-;23016:9;23049:24;23067:5;23049:24;:::i;:::-;23036:37;;22958:121;;;:::o;23085:307::-;23153:1;23163:113;23177:6;23174:1;23171:13;23163:113;;;23262:1;23257:3;23253:11;23247:18;23243:1;23238:3;23234:11;23227:39;23199:2;23196:1;23192:10;23187:15;;23163:113;;;23294:6;23291:1;23288:13;23285:101;;;23374:1;23365:6;23360:3;23356:16;23349:27;23285:101;23134:258;23085:307;;;:::o;23398:171::-;23437:3;23460:24;23478:5;23460:24;:::i;:::-;23451:33;;23506:4;23499:5;23496:15;23493:41;;;23514:18;;:::i;:::-;23493:41;23561:1;23554:5;23550:13;23543:20;;23398:171;;;:::o;23575:180::-;23623:77;23620:1;23613:88;23720:4;23717:1;23710:15;23744:4;23741:1;23734:15;23761:180;23809:77;23806:1;23799:88;23906:4;23903:1;23896:15;23930:4;23927:1;23920:15;23947:180;23995:77;23992:1;23985:88;24092:4;24089:1;24082:15;24116:4;24113:1;24106:15;24133:180;24181:77;24178:1;24171:88;24278:4;24275:1;24268:15;24302:4;24299:1;24292:15;24442:117;24551:1;24548;24541:12;24565:102;24606:6;24657:2;24653:7;24648:2;24641:5;24637:14;24633:28;24623:38;;24565:102;;;:::o;24673:162::-;24813:14;24809:1;24801:6;24797:14;24790:38;24673:162;:::o;24841:222::-;24981:34;24977:1;24969:6;24965:14;24958:58;25050:5;25045:2;25037:6;25033:15;25026:30;24841:222;:::o;25069:175::-;25209:27;25205:1;25197:6;25193:14;25186:51;25069:175;:::o;25250:229::-;25390:34;25386:1;25378:6;25374:14;25367:58;25459:12;25454:2;25446:6;25442:15;25435:37;25250:229;:::o;25485:221::-;25625:34;25621:1;25613:6;25609:14;25602:58;25694:4;25689:2;25681:6;25677:15;25670:29;25485:221;:::o;25712:177::-;25852:29;25848:1;25840:6;25836:14;25829:53;25712:177;:::o;25895:220::-;26035:34;26031:1;26023:6;26019:14;26012:58;26104:3;26099:2;26091:6;26087:15;26080:28;25895:220;:::o;26121:182::-;26261:34;26257:1;26249:6;26245:14;26238:58;26121:182;:::o;26309:228::-;26449:34;26445:1;26437:6;26433:14;26426:58;26518:11;26513:2;26505:6;26501:15;26494:36;26309:228;:::o;26543:224::-;26683:34;26679:1;26671:6;26667:14;26660:58;26752:7;26747:2;26739:6;26735:15;26728:32;26543:224;:::o;26773:176::-;26913:28;26909:1;26901:6;26897:14;26890:52;26773:176;:::o;26955:223::-;27095:34;27091:1;27083:6;27079:14;27072:58;27164:6;27159:2;27151:6;27147:15;27140:31;26955:223;:::o;27184:173::-;27324:25;27320:1;27312:6;27308:14;27301:49;27184:173;:::o;27363:122::-;27436:24;27454:5;27436:24;:::i;:::-;27429:5;27426:35;27416:63;;27475:1;27472;27465:12;27416:63;27363:122;:::o;27491:116::-;27561:21;27576:5;27561:21;:::i;:::-;27554:5;27551:32;27541:60;;27597:1;27594;27587:12;27541:60;27491:116;:::o;27613:122::-;27686:24;27704:5;27686:24;:::i;:::-;27679:5;27676:35;27666:63;;27725:1;27722;27715:12;27666:63;27613:122;:::o
Swarm Source
ipfs://b16dbb1a66d40f09f4280e40d73b871bb1221482b0cade0b82d096ff578c6c70
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.