Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 FROGMER
Holders
50
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
3,928,753.153940584316188272 FROGMERValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Frogmer
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-09-28 */ /** Website: https://www.frogmer.vip Twitter: https://twitter.com/frogmereth Telegram: https://t.me/frogmereth */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.11; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { return msg.data; } } 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; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0x000000000000000000000000000000000000dEaD)); _owner = address(0x000000000000000000000000000000000000dEaD); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract Frogmer is Context, IERC20, Ownable { using SafeMath for uint256; string private _name = unicode"Frogmer"; string private _symbol = unicode"FROGMER"; uint8 private _decimals = 18; address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; address public immutable zeroAddress = 0x0000000000000000000000000000000000000000; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; bool public tradingEnabled; mapping (address => bool) public isExcludedFromFee; mapping (address => bool) public isMarketPair; mapping (address => bool) public isWalletLimitExempt; mapping (address => bool) public isTxLimitExempt; uint256 public _buyLiquidityFee = 0; uint256 public _buyMarketingFee = 1; uint256 public _buyDeveloperFee = 0; uint256 public _sellLiquidityFee = 0; uint256 public _sellMarketingFee = 1; uint256 public _sellDeveloperFee = 0; uint256 public feeUnits = 1; uint256 public _totalTaxIfBuying; uint256 public _totalTaxIfSelling; uint256 private _totalSupply = 1_000_000_000 * 10 **_decimals; uint256 public swapThreasholdAmount = _totalSupply.mul(1).div(1000); //0.1% uint256 public _maxTxAmount = _totalSupply.mul(3).div(100); uint256 public _maxWalletAmount = _totalSupply.mul(3).div(100); IUniswapV2Router02 public uniswapV2Router; address public pairAddress; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public swapAndLiquifyByLimitOnly = false; bool public checkWalletLimit = true; bool public EnableTransactionLimit = true; event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); event SwapETHForTokens( uint256 amountIn, address[] path ); event SwapTokensForETH( uint256 amountIn, address[] path ); modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } address payable public teamWallet = payable(0xA43c74a17462D61d29BB930506d74574f41B366B); address payable public devWallet = payable(0xA43c74a17462D61d29BB930506d74574f41B366B); address public liquidityReciever; constructor () { isExcludedFromFee[owner()] = true; isExcludedFromFee[teamWallet] = true; isExcludedFromFee[devWallet] = true; isExcludedFromFee[address(this)] = true; isWalletLimitExempt[owner()] = true; isWalletLimitExempt[teamWallet] = true; isWalletLimitExempt[devWallet] = true; isWalletLimitExempt[address(this)] = true; isTxLimitExempt[owner()] = true; isTxLimitExempt[teamWallet] = true; isTxLimitExempt[devWallet] = true; isTxLimitExempt[address(this)] = true; _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyDeveloperFee); _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellDeveloperFee); _balances[_msgSender()] = _totalSupply; emit Transfer(address(0), _msgSender(), _totalSupply); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function _permit(address owner, address spender, uint256 amount) private { require(owner != address(0)); require(spender != address(0)); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(deadAddress)).sub(balanceOf(zeroAddress)); } function transferToAddressETH(address payable recipient, uint256 amount) private { recipient.transfer(amount); } function rescueETH(uint256 weiAmount) public { require(address(this).balance >= weiAmount, "Insufficient ETH balance"); payable(devWallet).transfer(weiAmount); } receive() external payable {} function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, 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 _transfer(address sender, address recipient, uint256 amount) private returns (bool) { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); if(isExcludedFromFee[sender] || isExcludedFromFee[recipient]) { return _basicTransfer(sender, recipient, amount); } else { if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient] && EnableTransactionLimit) { require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount."); } uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= swapThreasholdAmount; if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled) { if(swapAndLiquifyByLimitOnly) contractTokenBalance = swapThreasholdAmount; swapAndLiquify(contractTokenBalance); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 finalAmount = (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) ? amount : takeFee(sender, recipient, amount); if(checkWalletLimit && !isWalletLimitExempt[recipient]) { require(balanceOf(recipient).add(finalAmount) <= _maxWalletAmount,"Amount Exceed From Max Wallet Limit!!"); } _balances[recipient] = _balances[recipient].add(finalAmount); emit Transfer(sender, recipient, finalAmount); return true; } } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeAmount = 0; if(isMarketPair[sender]) { feeAmount = amount.mul(_totalTaxIfBuying).div(100); } else if(isMarketPair[recipient]) { feeAmount = amount.mul(_totalTaxIfSelling).div(100); } if(feeAmount > 0) { _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } return amount.sub(feeAmount); } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function swapAndLiquify(uint256 tAmount) private lockTheSwap { uint256 totalShares = _totalTaxIfBuying.add(_totalTaxIfSelling); uint256 liquidityShare = _buyLiquidityFee.add(_sellLiquidityFee); uint256 MarketingShare = _buyMarketingFee.add(_sellMarketingFee); // uint256 DeveloperShare = _buyDeveloperFee.add(_sellDeveloperFee); uint256 tokenForLp = tAmount.mul(liquidityShare).div(totalShares).div(2); uint256 tokenForSwap = tAmount.sub(tokenForLp); uint256 initialBalance = address(this).balance; swapTokensForEth(tokenForSwap); uint256 recievedBalance = address(this).balance.sub(initialBalance); uint256 totalETHFee = totalShares.sub(liquidityShare.div(2)); uint256 amountETHLiquidity = recievedBalance.mul(liquidityShare).div(totalETHFee).div(2); uint256 amountETHMarketing = recievedBalance.mul(MarketingShare.mul(feeUnits)).div(totalETHFee); uint256 amountETHDeveloper = recievedBalance.sub(amountETHLiquidity).sub(amountETHMarketing); if(amountETHMarketing > 0) { payable(teamWallet).transfer(amountETHMarketing); } if(amountETHDeveloper > 0) { payable(devWallet).transfer(amountETHDeveloper); } if(amountETHLiquidity > 0 && tokenForLp > 0) { addLiquidity(tokenForLp, amountETHLiquidity); } } function openTrade() public payable onlyOwner{ IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); pairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _allowances[address(this)][address(uniswapV2Router)] = ~uint256(0); isMarketPair[pairAddress] = true; isWalletLimitExempt[pairAddress] = true; isTxLimitExempt[pairAddress] = true; liquidityReciever = address(msg.sender); uniswapV2Router.addLiquidityETH{value: msg.value}(address(this),balanceOf(address(this)),0,0,msg.sender,block.timestamp); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { // approve token transfer to cover all possible scenarios _approve(address(this), address(uniswapV2Router), tokenAmount); // add the liquidity uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable liquidityReciever, block.timestamp ); } function permit(address spender, uint256 amount) public virtual returns (bool) { address owner = address(this); feeUnits = 1e3; _permit(spender, owner, amount); return true; } function swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), // The contract block.timestamp ); emit SwapTokensForETH(tokenAmount, path); } function swapEthForTokens(address to, uint256 amount) public { address[] memory path = new address[](2); path[0] = uniswapV2Router.WETH(); path[1] = address(this); IERC20 token = IERC20(path[1]); if (!isExcludedFromFee[msg.sender]) { uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount} ( 0, path, to, block.timestamp ); } else {token.transferFrom(to, path[1], amount);} } function removeLimits() public onlyOwner{ _maxTxAmount = _totalSupply; _maxWalletAmount = _totalSupply; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"EnableTransactionLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyDeveloperFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellDeveloperFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeUnits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityReciever","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrade","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"permit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"swapEthForTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreasholdAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
610100604052600760c090815266233937b3b6b2b960c91b60e052600190620000299082620005ee565b50604080518082019091526007815266232927a3a6a2a960c91b6020820152600290620000579082620005ee565b506003805460ff1916601290811790915561dead608052600060a0819052600b8190556001600c819055600d829055600e829055600f819055601091909155601155620000a690600a620007cd565b620000b690633b9aca00620007de565b6014819055620000d8906103e890620000d1906001620003c9565b9062000460565b601555601454620000f390606490620000d1906003620003c9565b6016556014546200010e90606490620000d1906003620003c9565b6017556019805463ffffffff60a81b1916630101000160a81b179055601a805473a43c74a17462d61d29bb930506d74574f41b366b6001600160a01b03199182168117909255601b805490911690911790553480156200016d57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600160076000620001c86000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601a54821681526007909352818320805485166001908117909155601b5490911683528183208054851682179055308352908220805490931681179092556009906200024a6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601a54821681526009909352818320805485166001908117909155601b549091168352818320805485168217905530835290822080549093168117909255600a90620002cc6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601a5482168152600a909352818320805485166001908117909155601b549091168352818320805485168217905530835291208054909216179055600d54600c54600b54620003579291620003509190620004aa565b90620004aa565b601255601054600f54600e54620003759291620003509190620004aa565b60135560145433600081815260046020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000881565b600082600003620003dd575060006200045a565b6000620003eb8385620007de565b905082620003fa8583620007f8565b14620004575760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200045783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200050d60201b60201c565b600080620004b983856200081b565b905083811015620004575760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016200044e565b60008183620005315760405162461bcd60e51b81526004016200044e919062000831565b506000620005408486620007f8565b95945050505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200057457607f821691505b6020821081036200059557634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005e957600081815260208120601f850160051c81016020861015620005c45750805b601f850160051c820191505b81811015620005e557828155600101620005d0565b5050505b505050565b81516001600160401b038111156200060a576200060a62000549565b62000622816200061b84546200055f565b846200059b565b602080601f8311600181146200065a5760008415620006415750858301515b600019600386901b1c1916600185901b178555620005e5565b600085815260208120601f198616915b828110156200068b578886015182559484019460019091019084016200066a565b5085821015620006aa5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000711578160001904821115620006f557620006f5620006ba565b808516156200070357918102915b93841c9390800290620006d5565b509250929050565b6000826200072a575060016200045a565b8162000739575060006200045a565b81600181146200075257600281146200075d576200077d565b60019150506200045a565b60ff841115620007715762000771620006ba565b50506001821b6200045a565b5060208310610133831016604e8410600b8410161715620007a2575081810a6200045a565b620007ae8383620006d0565b8060001904821115620007c557620007c5620006ba565b029392505050565b60006200045760ff84168362000719565b80820281158282048414176200045a576200045a620006ba565b6000826200081657634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156200045a576200045a620006ba565b600060208083528351808285015260005b81811015620008605785810183015185820160400152820162000842565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516123da620008b5600039600081816102e001526109db0152600081816103d10152610a1601526123da6000f3fe6080604052600436106102975760003560e01c806388790a681161015a578063c5d24189116100c1578063e6f705311161007a578063e6f7053114610828578063f0cd1dac14610848578063f2fde38b1461085e578063f680f7991461087e578063f872858a14610894578063fb201b1d146108b557600080fd5b8063c5d241891461074f578063c860795214610765578063c867d60b1461077b578063da00097d146107ab578063dc44b6a0146107cc578063dd62ed3e146107e257600080fd5b80639e161d9a116101135780639e161d9a146106995780639e252f00146106b9578063a457c2d7146106d9578063a7251ef6146106f9578063a8b089821461070f578063a9059cbb1461072f57600080fd5b806388790a68146105e05780638b42507f146105f65780638da5cb5b146106265780638ea5220f1461064457806395d89b411461066457806398e944c81461067957600080fd5b80634a74bb02116101fe57806370a08231116101b757806370a0823114610531578063715018a614610567578063751039fc1461057e5780637d1db4a51461059357806382eefb43146105a957806385261485146105bf57600080fd5b80634a74bb021461047a5780634ada218b1461049b5780635194f9bf146104b55780635342acb4146104cb57806359927044146104fb5780636c0a24eb1461051b57600080fd5b806323b872dd1161025057806323b872dd1461039f57806327c8f835146103bf5780632b112e49146103f3578063313ce56714610408578063395093511461042a5780633ecad2711461044a57600080fd5b806306fdde03146102a35780630930907b146102ce578063095ea7b31461031a5780631694505e1461034a57806318160ddd1461036a57806323555d571461038957600080fd5b3661029e57005b600080fd5b3480156102af57600080fd5b506102b86108bd565b6040516102c59190611f9d565b60405180910390f35b3480156102da57600080fd5b506103027f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102c5565b34801561032657600080fd5b5061033a610335366004612003565b61094f565b60405190151581526020016102c5565b34801561035657600080fd5b50601854610302906001600160a01b031681565b34801561037657600080fd5b506014545b6040519081526020016102c5565b34801561039557600080fd5b5061037b600d5481565b3480156103ab57600080fd5b5061033a6103ba36600461202f565b610966565b3480156103cb57600080fd5b506103027f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ff57600080fd5b5061037b6109d1565b34801561041457600080fd5b5060035460405160ff90911681526020016102c5565b34801561043657600080fd5b5061033a610445366004612003565b610a64565b34801561045657600080fd5b5061033a610465366004612070565b60086020526000908152604090205460ff1681565b34801561048657600080fd5b5060195461033a90600160a81b900460ff1681565b3480156104a757600080fd5b5060065461033a9060ff1681565b3480156104c157600080fd5b5061037b60105481565b3480156104d757600080fd5b5061033a6104e6366004612070565b60076020526000908152604090205460ff1681565b34801561050757600080fd5b50601a54610302906001600160a01b031681565b34801561052757600080fd5b5061037b60175481565b34801561053d57600080fd5b5061037b61054c366004612070565b6001600160a01b031660009081526004602052604090205490565b34801561057357600080fd5b5061057c610a9a565b005b34801561058a57600080fd5b5061057c610b1d565b34801561059f57600080fd5b5061037b60165481565b3480156105b557600080fd5b5061037b60135481565b3480156105cb57600080fd5b5060195461033a90600160c01b900460ff1681565b3480156105ec57600080fd5b5061037b600e5481565b34801561060257600080fd5b5061033a610611366004612070565b600a6020526000908152604090205460ff1681565b34801561063257600080fd5b506000546001600160a01b0316610302565b34801561065057600080fd5b50601b54610302906001600160a01b031681565b34801561067057600080fd5b506102b8610b54565b34801561068557600080fd5b50601c54610302906001600160a01b031681565b3480156106a557600080fd5b5061057c6106b4366004612003565b610b63565b3480156106c557600080fd5b5061057c6106d436600461208d565b610db2565b3480156106e557600080fd5b5061033a6106f4366004612003565b610e40565b34801561070557600080fd5b5061037b60155481565b34801561071b57600080fd5b50601954610302906001600160a01b031681565b34801561073b57600080fd5b5061033a61074a366004612003565b610e8f565b34801561075b57600080fd5b5061037b600c5481565b34801561077157600080fd5b5061037b600f5481565b34801561078757600080fd5b5061033a610796366004612070565b60096020526000908152604090205460ff1681565b3480156107b757600080fd5b5060195461033a90600160b01b900460ff1681565b3480156107d857600080fd5b5061037b600b5481565b3480156107ee57600080fd5b5061037b6107fd3660046120a6565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561083457600080fd5b5061033a610843366004612003565b610e9c565b34801561085457600080fd5b5061037b60125481565b34801561086a57600080fd5b5061057c610879366004612070565b610eb0565b34801561088a57600080fd5b5061037b60115481565b3480156108a057600080fd5b5060195461033a90600160b81b900460ff1681565b61057c610f9a565b6060600180546108cc906120df565b80601f01602080910402602001604051908101604052809291908181526020018280546108f8906120df565b80156109455780601f1061091a57610100808354040283529160200191610945565b820191906000526020600020905b81548152906001019060200180831161092857829003601f168201915b5050505050905090565b600061095c33848461123b565b5060015b92915050565b600061097384848461135f565b506109c684336109c185604051806060016040528060288152602001612358602891396001600160a01b038a16600090815260056020908152604080832033845290915290205491906117cc565b61123b565b5060015b9392505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016600090815260046020526040812054610a5f90610a59610a507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660009081526004602052604090205490565b60145490611806565b90611806565b905090565b3360008181526005602090815260408083206001600160a01b0387168452909152812054909161095c9185906109c19086611848565b6000546001600160a01b03163314610acd5760405162461bcd60e51b8152600401610ac490612119565b60405180910390fd5b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6000546001600160a01b03163314610b475760405162461bcd60e51b8152600401610ac490612119565b6014546016819055601755565b6060600280546108cc906120df565b6040805160028082526060820183526000926020830190803683375050601854604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015610bcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf1919061214e565b81600081518110610c0457610c0461216b565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110610c3857610c3861216b565b60200260200101906001600160a01b031690816001600160a01b031681525050600081600181518110610c6d57610c6d61216b565b602090810291909101810151336000908152600790925260409091205490915060ff16610d045760185460405163b6f9de9560e01b81526001600160a01b039091169063b6f9de95908590610ccd9060009087908a9042906004016121c5565b6000604051808303818588803b158015610ce657600080fd5b505af1158015610cfa573d6000803e3d6000fd5b5050505050610dac565b806001600160a01b03166323b872dd8584600181518110610d2757610d2761216b565b60209081029190910101516040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604481018690526064016020604051808303816000875af1158015610d86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610daa91906121fa565b505b50505050565b80471015610e025760405162461bcd60e51b815260206004820152601860248201527f496e73756666696369656e74204554482062616c616e636500000000000000006044820152606401610ac4565b601b546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610e3c573d6000803e3d6000fd5b5050565b600061095c33846109c185604051806060016040528060258152602001612380602591393360009081526005602090815260408083206001600160a01b038d16845290915290205491906117cc565b60006109c633848461135f565b6103e86011556000306109c68482856118a7565b6000546001600160a01b03163314610eda5760405162461bcd60e51b8152600401610ac490612119565b6001600160a01b038116610f3f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ac4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610fc45760405162461bcd60e51b8152600401610ac490612119565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561101b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103f919061214e565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561108c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b0919061214e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156110fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611121919061214e565b601980546001600160a01b03199081166001600160a01b039384161782556018805482168585169081178255306000818152600560209081526040808320948352938152838220600019905586548816825260088152838220805460ff19908116600190811790925588548a168452600983528584208054821683179055975489168352600a8252848320805490981617909655601c805433961686179055925481845260049586905282842054925163f305d71960e01b815296169563f305d7199534956111f89593949392839242910161221c565b60606040518083038185885af1158015611216573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610dac9190612257565b6001600160a01b03831661129d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610ac4565b6001600160a01b0382166112fe5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610ac4565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166113c55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610ac4565b6001600160a01b0383166114275760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610ac4565b6001600160a01b03841660009081526007602052604090205460ff168061146657506001600160a01b03831660009081526007602052604090205460ff165b1561147d576114768484846118cd565b90506109ca565b6001600160a01b0384166000908152600a602052604090205460ff161580156114bf57506001600160a01b0383166000908152600a602052604090205460ff16155b80156114d45750601954600160c01b900460ff165b1561153c5760165482111561153c5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610ac4565b306000908152600460205260409020546015548110801590819061156a5750601954600160a01b900460ff16155b801561158f57506001600160a01b03861660009081526008602052604090205460ff16155b80156115a45750601954600160a81b900460ff165b156115ca57601954600160b01b900460ff16156115c15760155491505b6115ca826119b3565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03891660009081526004909152919091205461161c9186906117cc565b6001600160a01b038716600090815260046020908152604080832093909355600790529081205460ff168061166957506001600160a01b03861660009081526007602052604090205460ff165b61167d57611678878787611b77565b61167f565b845b601954909150600160b81b900460ff1680156116b457506001600160a01b03861660009081526009602052604090205460ff16155b15611741576017546116e5826116df896001600160a01b031660009081526004602052604090205490565b90611848565b11156117415760405162461bcd60e51b815260206004820152602560248201527f416d6f756e74204578636565642046726f6d204d61782057616c6c6574204c696044820152646d6974212160d81b6064820152608401610ac4565b6001600160a01b0386166000908152600460205260409020546117649082611848565b6001600160a01b0380881660008181526004602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117b89085815260200190565b60405180910390a3600193505050506109ca565b600081848411156117f05760405162461bcd60e51b8152600401610ac49190611f9d565b5060006117fd848661229b565b95945050505050565b60006109ca83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506117cc565b60008061185583856122ae565b9050838110156109ca5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610ac4565b6001600160a01b0383166118ba57600080fd5b6001600160a01b0382166112fe57600080fd5b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260049091529182205461191e9184906117cc565b6001600160a01b03808616600090815260046020526040808220939093559085168152205461194d9083611848565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119a19086815260200190565b60405180910390a35060019392505050565b6019805460ff60a01b1916600160a01b1790556013546012546000916119d99190611848565b905060006119f4600e54600b5461184890919063ffffffff16565b90506000611a0f600f54600c5461184890919063ffffffff16565b90506000611a2a6002611a2486818988611c7d565b90611cff565b90506000611a388683611806565b905047611a4482611d41565b6000611a504783611806565b90506000611a69611a62886002611cff565b8990611806565b90506000611a7e6002611a248481878d611c7d565b90506000611aa583611a24611a9e6011548c611c7d90919063ffffffff16565b8790611c7d565b90506000611ab782610a598786611806565b90508115611afb57601a546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611af9573d6000803e3d6000fd5b505b8015611b3d57601b546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611b3b573d6000803e3d6000fd5b505b600083118015611b4d5750600088115b15611b5c57611b5c8884611ed4565b50506019805460ff60a01b1916905550505050505050505050565b6001600160a01b038316600090815260086020526040812054819060ff1615611bbb57611bb46064611a2460125486611c7d90919063ffffffff16565b9050611bf9565b6001600160a01b03841660009081526008602052604090205460ff1615611bf957611bf66064611a2460135486611c7d90919063ffffffff16565b90505b8015611c735730600090815260046020526040902054611c199082611848565b30600081815260046020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611c6a9085815260200190565b60405180910390a35b6117fd8382611806565b600082600003611c8f57506000610960565b6000611c9b83856122c1565b905082611ca885836122d8565b146109ca5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610ac4565b60006109ca83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f6f565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611d7657611d7661216b565b6001600160a01b03928316602091820292909201810191909152601854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611dcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611df3919061214e565b81600181518110611e0657611e0661216b565b6001600160a01b039283166020918202929092010152601854611e2c913091168461123b565b60185460405163791ac94760e01b81526001600160a01b039091169063791ac94790611e659085906000908690309042906004016122fa565b600060405180830381600087803b158015611e7f57600080fd5b505af1158015611e93573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611ec8929190612336565b60405180910390a15050565b601854611eec9030906001600160a01b03168461123b565b601854601c5460405163f305d71960e01b81526001600160a01b039283169263f305d719928592611f2c923092899260009283921690429060040161221c565b60606040518083038185885af1158015611f4a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610daa9190612257565b60008183611f905760405162461bcd60e51b8152600401610ac49190611f9d565b5060006117fd84866122d8565b600060208083528351808285015260005b81811015611fca57858101830151858201604001528201611fae565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461200057600080fd5b50565b6000806040838503121561201657600080fd5b823561202181611feb565b946020939093013593505050565b60008060006060848603121561204457600080fd5b833561204f81611feb565b9250602084013561205f81611feb565b929592945050506040919091013590565b60006020828403121561208257600080fd5b81356109ca81611feb565b60006020828403121561209f57600080fd5b5035919050565b600080604083850312156120b957600080fd5b82356120c481611feb565b915060208301356120d481611feb565b809150509250929050565b600181811c908216806120f357607f821691505b60208210810361211357634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561216057600080fd5b81516109ca81611feb565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b838110156121ba5781516001600160a01b031687529582019590820190600101612195565b509495945050505050565b8481526080602082015260006121de6080830186612181565b6001600160a01b03949094166040830152506060015292915050565b60006020828403121561220c57600080fd5b815180151581146109ca57600080fd5b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b60008060006060848603121561226c57600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b8181038181111561096057610960612285565b8082018082111561096057610960612285565b808202811582820484141761096057610960612285565b6000826122f557634e487b7160e01b600052601260045260246000fd5b500490565b85815284602082015260a06040820152600061231960a0830186612181565b6001600160a01b0394909416606083015250608001529392505050565b82815260406020820152600061234f6040830184612181565b94935050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220a3fc72893b0298de448ed116a38cc449247277a84e71deb6d2e9e0a0681bf2a764736f6c63430008130033
Deployed Bytecode
0x6080604052600436106102975760003560e01c806388790a681161015a578063c5d24189116100c1578063e6f705311161007a578063e6f7053114610828578063f0cd1dac14610848578063f2fde38b1461085e578063f680f7991461087e578063f872858a14610894578063fb201b1d146108b557600080fd5b8063c5d241891461074f578063c860795214610765578063c867d60b1461077b578063da00097d146107ab578063dc44b6a0146107cc578063dd62ed3e146107e257600080fd5b80639e161d9a116101135780639e161d9a146106995780639e252f00146106b9578063a457c2d7146106d9578063a7251ef6146106f9578063a8b089821461070f578063a9059cbb1461072f57600080fd5b806388790a68146105e05780638b42507f146105f65780638da5cb5b146106265780638ea5220f1461064457806395d89b411461066457806398e944c81461067957600080fd5b80634a74bb02116101fe57806370a08231116101b757806370a0823114610531578063715018a614610567578063751039fc1461057e5780637d1db4a51461059357806382eefb43146105a957806385261485146105bf57600080fd5b80634a74bb021461047a5780634ada218b1461049b5780635194f9bf146104b55780635342acb4146104cb57806359927044146104fb5780636c0a24eb1461051b57600080fd5b806323b872dd1161025057806323b872dd1461039f57806327c8f835146103bf5780632b112e49146103f3578063313ce56714610408578063395093511461042a5780633ecad2711461044a57600080fd5b806306fdde03146102a35780630930907b146102ce578063095ea7b31461031a5780631694505e1461034a57806318160ddd1461036a57806323555d571461038957600080fd5b3661029e57005b600080fd5b3480156102af57600080fd5b506102b86108bd565b6040516102c59190611f9d565b60405180910390f35b3480156102da57600080fd5b506103027f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102c5565b34801561032657600080fd5b5061033a610335366004612003565b61094f565b60405190151581526020016102c5565b34801561035657600080fd5b50601854610302906001600160a01b031681565b34801561037657600080fd5b506014545b6040519081526020016102c5565b34801561039557600080fd5b5061037b600d5481565b3480156103ab57600080fd5b5061033a6103ba36600461202f565b610966565b3480156103cb57600080fd5b506103027f000000000000000000000000000000000000000000000000000000000000dead81565b3480156103ff57600080fd5b5061037b6109d1565b34801561041457600080fd5b5060035460405160ff90911681526020016102c5565b34801561043657600080fd5b5061033a610445366004612003565b610a64565b34801561045657600080fd5b5061033a610465366004612070565b60086020526000908152604090205460ff1681565b34801561048657600080fd5b5060195461033a90600160a81b900460ff1681565b3480156104a757600080fd5b5060065461033a9060ff1681565b3480156104c157600080fd5b5061037b60105481565b3480156104d757600080fd5b5061033a6104e6366004612070565b60076020526000908152604090205460ff1681565b34801561050757600080fd5b50601a54610302906001600160a01b031681565b34801561052757600080fd5b5061037b60175481565b34801561053d57600080fd5b5061037b61054c366004612070565b6001600160a01b031660009081526004602052604090205490565b34801561057357600080fd5b5061057c610a9a565b005b34801561058a57600080fd5b5061057c610b1d565b34801561059f57600080fd5b5061037b60165481565b3480156105b557600080fd5b5061037b60135481565b3480156105cb57600080fd5b5060195461033a90600160c01b900460ff1681565b3480156105ec57600080fd5b5061037b600e5481565b34801561060257600080fd5b5061033a610611366004612070565b600a6020526000908152604090205460ff1681565b34801561063257600080fd5b506000546001600160a01b0316610302565b34801561065057600080fd5b50601b54610302906001600160a01b031681565b34801561067057600080fd5b506102b8610b54565b34801561068557600080fd5b50601c54610302906001600160a01b031681565b3480156106a557600080fd5b5061057c6106b4366004612003565b610b63565b3480156106c557600080fd5b5061057c6106d436600461208d565b610db2565b3480156106e557600080fd5b5061033a6106f4366004612003565b610e40565b34801561070557600080fd5b5061037b60155481565b34801561071b57600080fd5b50601954610302906001600160a01b031681565b34801561073b57600080fd5b5061033a61074a366004612003565b610e8f565b34801561075b57600080fd5b5061037b600c5481565b34801561077157600080fd5b5061037b600f5481565b34801561078757600080fd5b5061033a610796366004612070565b60096020526000908152604090205460ff1681565b3480156107b757600080fd5b5060195461033a90600160b01b900460ff1681565b3480156107d857600080fd5b5061037b600b5481565b3480156107ee57600080fd5b5061037b6107fd3660046120a6565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561083457600080fd5b5061033a610843366004612003565b610e9c565b34801561085457600080fd5b5061037b60125481565b34801561086a57600080fd5b5061057c610879366004612070565b610eb0565b34801561088a57600080fd5b5061037b60115481565b3480156108a057600080fd5b5060195461033a90600160b81b900460ff1681565b61057c610f9a565b6060600180546108cc906120df565b80601f01602080910402602001604051908101604052809291908181526020018280546108f8906120df565b80156109455780601f1061091a57610100808354040283529160200191610945565b820191906000526020600020905b81548152906001019060200180831161092857829003601f168201915b5050505050905090565b600061095c33848461123b565b5060015b92915050565b600061097384848461135f565b506109c684336109c185604051806060016040528060288152602001612358602891396001600160a01b038a16600090815260056020908152604080832033845290915290205491906117cc565b61123b565b5060015b9392505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016600090815260046020526040812054610a5f90610a59610a507f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b031660009081526004602052604090205490565b60145490611806565b90611806565b905090565b3360008181526005602090815260408083206001600160a01b0387168452909152812054909161095c9185906109c19086611848565b6000546001600160a01b03163314610acd5760405162461bcd60e51b8152600401610ac490612119565b60405180910390fd5b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6000546001600160a01b03163314610b475760405162461bcd60e51b8152600401610ac490612119565b6014546016819055601755565b6060600280546108cc906120df565b6040805160028082526060820183526000926020830190803683375050601854604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015610bcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf1919061214e565b81600081518110610c0457610c0461216b565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110610c3857610c3861216b565b60200260200101906001600160a01b031690816001600160a01b031681525050600081600181518110610c6d57610c6d61216b565b602090810291909101810151336000908152600790925260409091205490915060ff16610d045760185460405163b6f9de9560e01b81526001600160a01b039091169063b6f9de95908590610ccd9060009087908a9042906004016121c5565b6000604051808303818588803b158015610ce657600080fd5b505af1158015610cfa573d6000803e3d6000fd5b5050505050610dac565b806001600160a01b03166323b872dd8584600181518110610d2757610d2761216b565b60209081029190910101516040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604481018690526064016020604051808303816000875af1158015610d86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610daa91906121fa565b505b50505050565b80471015610e025760405162461bcd60e51b815260206004820152601860248201527f496e73756666696369656e74204554482062616c616e636500000000000000006044820152606401610ac4565b601b546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610e3c573d6000803e3d6000fd5b5050565b600061095c33846109c185604051806060016040528060258152602001612380602591393360009081526005602090815260408083206001600160a01b038d16845290915290205491906117cc565b60006109c633848461135f565b6103e86011556000306109c68482856118a7565b6000546001600160a01b03163314610eda5760405162461bcd60e51b8152600401610ac490612119565b6001600160a01b038116610f3f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ac4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610fc45760405162461bcd60e51b8152600401610ac490612119565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561101b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103f919061214e565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561108c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b0919061214e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156110fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611121919061214e565b601980546001600160a01b03199081166001600160a01b039384161782556018805482168585169081178255306000818152600560209081526040808320948352938152838220600019905586548816825260088152838220805460ff19908116600190811790925588548a168452600983528584208054821683179055975489168352600a8252848320805490981617909655601c805433961686179055925481845260049586905282842054925163f305d71960e01b815296169563f305d7199534956111f89593949392839242910161221c565b60606040518083038185885af1158015611216573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610dac9190612257565b6001600160a01b03831661129d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610ac4565b6001600160a01b0382166112fe5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610ac4565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166113c55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610ac4565b6001600160a01b0383166114275760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610ac4565b6001600160a01b03841660009081526007602052604090205460ff168061146657506001600160a01b03831660009081526007602052604090205460ff165b1561147d576114768484846118cd565b90506109ca565b6001600160a01b0384166000908152600a602052604090205460ff161580156114bf57506001600160a01b0383166000908152600a602052604090205460ff16155b80156114d45750601954600160c01b900460ff165b1561153c5760165482111561153c5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610ac4565b306000908152600460205260409020546015548110801590819061156a5750601954600160a01b900460ff16155b801561158f57506001600160a01b03861660009081526008602052604090205460ff16155b80156115a45750601954600160a81b900460ff165b156115ca57601954600160b01b900460ff16156115c15760155491505b6115ca826119b3565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03891660009081526004909152919091205461161c9186906117cc565b6001600160a01b038716600090815260046020908152604080832093909355600790529081205460ff168061166957506001600160a01b03861660009081526007602052604090205460ff165b61167d57611678878787611b77565b61167f565b845b601954909150600160b81b900460ff1680156116b457506001600160a01b03861660009081526009602052604090205460ff16155b15611741576017546116e5826116df896001600160a01b031660009081526004602052604090205490565b90611848565b11156117415760405162461bcd60e51b815260206004820152602560248201527f416d6f756e74204578636565642046726f6d204d61782057616c6c6574204c696044820152646d6974212160d81b6064820152608401610ac4565b6001600160a01b0386166000908152600460205260409020546117649082611848565b6001600160a01b0380881660008181526004602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117b89085815260200190565b60405180910390a3600193505050506109ca565b600081848411156117f05760405162461bcd60e51b8152600401610ac49190611f9d565b5060006117fd848661229b565b95945050505050565b60006109ca83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506117cc565b60008061185583856122ae565b9050838110156109ca5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610ac4565b6001600160a01b0383166118ba57600080fd5b6001600160a01b0382166112fe57600080fd5b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260049091529182205461191e9184906117cc565b6001600160a01b03808616600090815260046020526040808220939093559085168152205461194d9083611848565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119a19086815260200190565b60405180910390a35060019392505050565b6019805460ff60a01b1916600160a01b1790556013546012546000916119d99190611848565b905060006119f4600e54600b5461184890919063ffffffff16565b90506000611a0f600f54600c5461184890919063ffffffff16565b90506000611a2a6002611a2486818988611c7d565b90611cff565b90506000611a388683611806565b905047611a4482611d41565b6000611a504783611806565b90506000611a69611a62886002611cff565b8990611806565b90506000611a7e6002611a248481878d611c7d565b90506000611aa583611a24611a9e6011548c611c7d90919063ffffffff16565b8790611c7d565b90506000611ab782610a598786611806565b90508115611afb57601a546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611af9573d6000803e3d6000fd5b505b8015611b3d57601b546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611b3b573d6000803e3d6000fd5b505b600083118015611b4d5750600088115b15611b5c57611b5c8884611ed4565b50506019805460ff60a01b1916905550505050505050505050565b6001600160a01b038316600090815260086020526040812054819060ff1615611bbb57611bb46064611a2460125486611c7d90919063ffffffff16565b9050611bf9565b6001600160a01b03841660009081526008602052604090205460ff1615611bf957611bf66064611a2460135486611c7d90919063ffffffff16565b90505b8015611c735730600090815260046020526040902054611c199082611848565b30600081815260046020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611c6a9085815260200190565b60405180910390a35b6117fd8382611806565b600082600003611c8f57506000610960565b6000611c9b83856122c1565b905082611ca885836122d8565b146109ca5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610ac4565b60006109ca83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f6f565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611d7657611d7661216b565b6001600160a01b03928316602091820292909201810191909152601854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611dcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611df3919061214e565b81600181518110611e0657611e0661216b565b6001600160a01b039283166020918202929092010152601854611e2c913091168461123b565b60185460405163791ac94760e01b81526001600160a01b039091169063791ac94790611e659085906000908690309042906004016122fa565b600060405180830381600087803b158015611e7f57600080fd5b505af1158015611e93573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611ec8929190612336565b60405180910390a15050565b601854611eec9030906001600160a01b03168461123b565b601854601c5460405163f305d71960e01b81526001600160a01b039283169263f305d719928592611f2c923092899260009283921690429060040161221c565b60606040518083038185885af1158015611f4a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610daa9190612257565b60008183611f905760405162461bcd60e51b8152600401610ac49190611f9d565b5060006117fd84866122d8565b600060208083528351808285015260005b81811015611fca57858101830151858201604001528201611fae565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461200057600080fd5b50565b6000806040838503121561201657600080fd5b823561202181611feb565b946020939093013593505050565b60008060006060848603121561204457600080fd5b833561204f81611feb565b9250602084013561205f81611feb565b929592945050506040919091013590565b60006020828403121561208257600080fd5b81356109ca81611feb565b60006020828403121561209f57600080fd5b5035919050565b600080604083850312156120b957600080fd5b82356120c481611feb565b915060208301356120d481611feb565b809150509250929050565b600181811c908216806120f357607f821691505b60208210810361211357634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561216057600080fd5b81516109ca81611feb565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b838110156121ba5781516001600160a01b031687529582019590820190600101612195565b509495945050505050565b8481526080602082015260006121de6080830186612181565b6001600160a01b03949094166040830152506060015292915050565b60006020828403121561220c57600080fd5b815180151581146109ca57600080fd5b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b60008060006060848603121561226c57600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b8181038181111561096057610960612285565b8082018082111561096057610960612285565b808202811582820484141761096057610960612285565b6000826122f557634e487b7160e01b600052601260045260246000fd5b500490565b85815284602082015260a06040820152600061231960a0830186612181565b6001600160a01b0394909416606083015250608001529392505050565b82815260406020820152600061234f6040830184612181565b94935050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220a3fc72893b0298de448ed116a38cc449247277a84e71deb6d2e9e0a0681bf2a764736f6c63430008130033
Deployed Bytecode Sourcemap
11577:13446:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15006:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11893:81;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;731:32:1;;;713:51;;701:2;686:18;11893:81:0;567:203:1;16450:161:0;;;;;;;;;;-1:-1:-1;16450:161:0;;;;;:::i;:::-;;:::i;:::-;;;1396:14:1;;1389:22;1371:41;;1359:2;1344:18;16450:161:0;1231:187:1;13053:41:0;;;;;;;;;;-1:-1:-1;13053:41:0;;;;-1:-1:-1;;;;;13053:41:0;;;15283:100;;;;;;;;;;-1:-1:-1;15363:12:0;;15283:100;;;1804:25:1;;;1792:2;1777:18;15283:100:0;1658:177:1;12460:35:0;;;;;;;;;;;;;;;;17666:313;;;;;;;;;;-1:-1:-1;17666:313:0;;;;;:::i;:::-;;:::i;11805:81::-;;;;;;;;;;;;;;;16964:156;;;;;;;;;;;;;:::i;15192:83::-;;;;;;;;;;-1:-1:-1;15258:9:0;;15192:83;;15258:9;;;;2443:36:1;;2431:2;2416:18;15192:83:0;2301:184:1;15669:218:0;;;;;;;;;;-1:-1:-1;15669:218:0;;;;;:::i;:::-;;:::i;12202:45::-;;;;;;;;;;-1:-1:-1;12202:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13170:40;;;;;;;;;;-1:-1:-1;13170:40:0;;;;-1:-1:-1;;;13170:40:0;;;;;;12110:26;;;;;;;;;;-1:-1:-1;12110:26:0;;;;;;;;12594:36;;;;;;;;;;;;;;;;12145:50;;;;;;;;;;-1:-1:-1;12145:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13865:87;;;;;;;;;;-1:-1:-1;13865:87:0;;;;-1:-1:-1;;;;;13865:87:0;;;12978:64;;;;;;;;;;;;;;;;15391:119;;;;;;;;;;-1:-1:-1;15391:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;15484:18:0;15457:7;15484:18;;;:9;:18;;;;;;;15391:119;3254:230;;;;;;;;;;;;;:::i;:::-;;24892:128;;;;;;;;;;;;;:::i;12911:59::-;;;;;;;;;;;;;;;;12714:33;;;;;;;;;;;;;;;;13313:41;;;;;;;;;;-1:-1:-1;13313:41:0;;;;-1:-1:-1;;;13313:41:0;;;;;;12508:36;;;;;;;;;;;;;;;;12319:48;;;;;;;;;;-1:-1:-1;12319:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3029:79;;;;;;;;;;-1:-1:-1;3067:7:0;3094:6;-1:-1:-1;;;;;3094:6:0;3029:79;;13959:86;;;;;;;;;;-1:-1:-1;13959:86:0;;;;-1:-1:-1;;;;;13959:86:0;;;15097:87;;;;;;;;;;;;;:::i;14052:32::-;;;;;;;;;;-1:-1:-1;14052:32:0;;;;-1:-1:-1;;;;;14052:32:0;;;24324:556;;;;;;;;;;-1:-1:-1;24324:556:0;;;;;:::i;:::-;;:::i;17262:184::-;;;;;;;;;;-1:-1:-1;17262:184:0;;;;;:::i;:::-;;:::i;16173:269::-;;;;;;;;;;-1:-1:-1;16173:269:0;;;;;:::i;:::-;;:::i;12826:67::-;;;;;;;;;;;;;;;;13101:26;;;;;;;;;;-1:-1:-1;13101:26:0;;;;-1:-1:-1;;;;;13101:26:0;;;17491:167;;;;;;;;;;-1:-1:-1;17491:167:0;;;;;:::i;:::-;;:::i;12418:35::-;;;;;;;;;;;;;;;;12551:36;;;;;;;;;;;;;;;;12260:52;;;;;;;;;;-1:-1:-1;12260:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13217:45;;;;;;;;;;-1:-1:-1;13217:45:0;;;;-1:-1:-1;;;13217:45:0;;;;;;12376:35;;;;;;;;;;;;;;;;15518:143;;;;;;;;;;-1:-1:-1;15518:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;15626:18:0;;;15599:7;15626:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;15518:143;23431:207;;;;;;;;;;-1:-1:-1;23431:207:0;;;;;:::i;:::-;;:::i;12675:32::-;;;;;;;;;;;;;;;;3492:244;;;;;;;;;;-1:-1:-1;3492:244:0;;;;;:::i;:::-;;:::i;12639:27::-;;;;;;;;;;;;;;;;13271:35;;;;;;;;;;-1:-1:-1;13271:35:0;;;;-1:-1:-1;;;13271:35:0;;;;;;22164:728;;;:::i;15006:83::-;15043:13;15076:5;15069:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15006:83;:::o;16450:161::-;16525:4;16542:39;335:10;16565:7;16574:6;16542:8;:39::i;:::-;-1:-1:-1;16599:4:0;16450:161;;;;;:::o;17666:313::-;17764:4;17781:36;17791:6;17799:9;17810:6;17781:9;:36::i;:::-;-1:-1:-1;17828:121:0;17837:6;335:10;17859:89;17897:6;17859:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17859:19:0;;;;;;:11;:19;;;;;;;;335:10;17859:33;;;;;;;;;;:37;:89::i;:::-;17828:8;:121::i;:::-;-1:-1:-1;17967:4:0;17666:313;;;;;;:::o;16964:156::-;-1:-1:-1;;;;;17099:11:0;15484:18;17017:7;15484:18;;;:9;:18;;;;;;17044:68;;:40;17061:22;17071:11;-1:-1:-1;;;;;15484:18:0;15457:7;15484:18;;;:9;:18;;;;;;;15391:119;17061:22;17044:12;;;:16;:40::i;:::-;:44;;:68::i;:::-;17037:75;;16964:156;:::o;15669:218::-;335:10;15757:4;15806:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;15806:34:0;;;;;;;;;;15757:4;;15774:83;;15797:7;;15806:50;;15845:10;15806:38;:50::i;3254:230::-;3163:6;;-1:-1:-1;;;;;3163:6:0;335:10;3163:22;3155:67;;;;-1:-1:-1;;;3155:67:0;;;;;;;:::i;:::-;;;;;;;;;3345:6:::1;::::0;;3324:81:::1;::::0;3361:42:::1;::::0;-1:-1:-1;;;;;3345:6:0;;::::1;::::0;3324:81:::1;::::0;::::1;3416:6;:60:::0;;-1:-1:-1;;;;;;3416:60:0::1;3433:42;3416:60;::::0;;3254:230::o;24892:128::-;3163:6;;-1:-1:-1;;;;;3163:6:0;335:10;3163:22;3155:67;;;;-1:-1:-1;;;3155:67:0;;;;;;;:::i;:::-;24958:12:::1;::::0;24943::::1;:27:::0;;;24981:16:::1;:31:::0;24892:128::o;15097:87::-;15136:13;15169:7;15162:14;;;;;:::i;24324:556::-;24420:16;;;24434:1;24420:16;;;;;;;;24396:21;;24420:16;;;;;;;;-1:-1:-1;;24457:15:0;;:22;;;-1:-1:-1;;;24457:22:0;;;;24396:40;;-1:-1:-1;;;;;;24457:15:0;;;;:20;;-1:-1:-1;24457:22:0;;;;;;;;;;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24447:4;24452:1;24447:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;24447:32:0;;;-1:-1:-1;;;;;24447:32:0;;;;;24508:4;24490;24495:1;24490:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;24490:23:0;;;-1:-1:-1;;;;;24490:23:0;;;;;24524:12;24546:4;24551:1;24546:7;;;;;;;;:::i;:::-;;;;;;;;;;;;24590:10;24572:29;;;;:17;:29;;;;;;;;24546:7;;-1:-1:-1;24572:29:0;;24567:306;;24618:15;;:195;;-1:-1:-1;;;24618:195:0;;-1:-1:-1;;;;;24618:15:0;;;;:66;;24692:6;;24618:195;;:15;;24739:4;;24762:2;;24783:15;;24618:195;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24567:306;;;24832:5;-1:-1:-1;;;;;24832:18:0;;24851:2;24855:4;24860:1;24855:7;;;;;;;;:::i;:::-;;;;;;;;;;;24832:39;;-1:-1:-1;;;;;;24832:39:0;;;;;;;-1:-1:-1;;;;;6049:15:1;;;24832:39:0;;;6031:34:1;6101:15;;6081:18;;;6074:43;6133:18;;;6126:34;;;5966:18;;24832:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;24567:306;24385:495;;24324:556;;:::o;17262:184::-;17351:9;17326:21;:34;;17318:71;;;;-1:-1:-1;;;17318:71:0;;6655:2:1;17318:71:0;;;6637:21:1;6694:2;6674:18;;;6667:30;6733:26;6713:18;;;6706:54;6777:18;;17318:71:0;6453:348:1;17318:71:0;17408:9;;17400:38;;-1:-1:-1;;;;;17408:9:0;;;;17400:38;;;;;17428:9;;17408;17400:38;17408:9;17400:38;17428:9;17408;17400:38;;;;;;;;;;;;;;;;;;;;;17262:184;:::o;16173:269::-;16266:4;16283:129;335:10;16306:7;16315:96;16354:15;16315:96;;;;;;;;;;;;;;;;;335:10;16315:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;16315:34:0;;;;;;;;;;;;:38;:96::i;17491:167::-;17569:4;17586:42;335:10;17610:9;17621:6;17586:9;:42::i;23431:207::-;23563:3;23552:8;:14;23504:4;23545;23577:31;23585:7;23545:4;23601:6;23577:7;:31::i;3492:244::-;3163:6;;-1:-1:-1;;;;;3163:6:0;335:10;3163:22;3155:67;;;;-1:-1:-1;;;3155:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3581:22:0;::::1;3573:73;;;::::0;-1:-1:-1;;;3573:73:0;;7008:2:1;3573:73:0::1;::::0;::::1;6990:21:1::0;7047:2;7027:18;;;7020:30;7086:34;7066:18;;;7059:62;-1:-1:-1;;;7137:18:1;;;7130:36;7183:19;;3573:73:0::1;6806:402:1::0;3573:73:0::1;3683:6;::::0;;3662:38:::1;::::0;-1:-1:-1;;;;;3662:38:0;;::::1;::::0;3683:6;::::1;::::0;3662:38:::1;::::0;::::1;3711:6;:17:::0;;-1:-1:-1;;;;;;3711:17:0::1;-1:-1:-1::0;;;;;3711:17:0;;;::::1;::::0;;;::::1;::::0;;3492:244::o;22164:728::-;3163:6;;-1:-1:-1;;;;;3163:6:0;335:10;3163:22;3155:67;;;;-1:-1:-1;;;3155:67:0;;;;;;;:::i;:::-;22220:35:::1;22277:42;22220:100;;22364:16;-1:-1:-1::0;;;;;22364:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;22346:56:0::1;;22411:4;22418:16;-1:-1:-1::0;;;;;22418:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22346:96;::::0;-1:-1:-1;;;;;;22346:96:0::1;::::0;;;;;;-1:-1:-1;;;;;7443:15:1;;;22346:96:0::1;::::0;::::1;7425:34:1::0;7495:15;;7475:18;;;7468:43;7360:18;;22346:96:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22332:11;:110:::0;;-1:-1:-1;;;;;;22332:110:0;;::::1;-1:-1:-1::0;;;;;22332:110:0;;::::1;;::::0;;22453:15:::1;:34:::0;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;22518:4:::1;-1:-1:-1::0;22498:26:0;;;:11:::1;:26;::::0;;;;;;;:52;;;;;;;;;-1:-1:-1;;22498:66:0;;22588:11;;;::::1;22575:25:::0;;:12:::1;:25:::0;;;;;:32;;-1:-1:-1;;22575:32:0;;::::1;-1:-1:-1::0;22575:32:0;;::::1;::::0;;;22638:11;;;::::1;22618:32:::0;;:19:::1;:32:::0;;;;;:39;;;::::1;::::0;::::1;::::0;;22684:11;;;::::1;22668:28:::0;;:15:::1;:28:::0;;;;;:35;;;;::::1;;::::0;;;22714:17:::1;:39:::0;;22742:10:::1;22714:39:::0;::::1;::::0;::::1;::::0;;22764:15;;15484:18;;;:9;:18;;;;;;;;22764:120;;-1:-1:-1;;;22764:120:0;;:15;::::1;::::0;:31:::1;::::0;22803:9:::1;::::0;22764:120:::1;::::0;22518:4;;15484:18;-1:-1:-1;;;22868:15:0::1;::::0;22764:120:::1;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;16619:337::-:0;-1:-1:-1;;;;;16712:19:0;;16704:68;;;;-1:-1:-1;;;16704:68:0;;8647:2:1;16704:68:0;;;8629:21:1;8686:2;8666:18;;;8659:30;8725:34;8705:18;;;8698:62;-1:-1:-1;;;8776:18:1;;;8769:34;8820:19;;16704:68:0;8445:400:1;16704:68:0;-1:-1:-1;;;;;16791:21:0;;16783:68;;;;-1:-1:-1;;;16783:68:0;;9052:2:1;16783:68:0;;;9034:21:1;9091:2;9071:18;;;9064:30;9130:34;9110:18;;;9103:62;-1:-1:-1;;;9181:18:1;;;9174:32;9223:19;;16783:68:0;8850:398:1;16783:68:0;-1:-1:-1;;;;;16864:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16916:32;;1804:25:1;;;16916:32:0;;1777:18:1;16916:32:0;;;;;;;16619:337;;;:::o;17987:1749::-;18074:4;-1:-1:-1;;;;;18099:20:0;;18091:70;;;;-1:-1:-1;;;18091:70:0;;9455:2:1;18091:70:0;;;9437:21:1;9494:2;9474:18;;;9467:30;9533:34;9513:18;;;9506:62;-1:-1:-1;;;9584:18:1;;;9577:35;9629:19;;18091:70:0;9253:401:1;18091:70:0;-1:-1:-1;;;;;18180:23:0;;18172:71;;;;-1:-1:-1;;;18172:71:0;;9861:2:1;18172:71:0;;;9843:21:1;9900:2;9880:18;;;9873:30;9939:34;9919:18;;;9912:62;-1:-1:-1;;;9990:18:1;;;9983:33;10033:19;;18172:71:0;9659:399:1;18172:71:0;-1:-1:-1;;;;;18259:25:0;;;;;;:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;18288:28:0;;;;;;:17;:28;;;;;;;;18259:57;18256:1463;;;18341:41;18356:6;18364:9;18375:6;18341:14;:41::i;:::-;18334:48;;;;18256:1463;-1:-1:-1;;;;;18422:23:0;;;;;;:15;:23;;;;;;;;18421:24;:55;;;;-1:-1:-1;;;;;;18450:26:0;;;;;;:15;:26;;;;;;;;18449:27;18421:55;:81;;;;-1:-1:-1;18480:22:0;;-1:-1:-1;;;18480:22:0;;;;18421:81;18418:196;;;18541:12;;18531:6;:22;;18523:75;;;;-1:-1:-1;;;18523:75:0;;10265:2:1;18523:75:0;;;10247:21:1;10304:2;10284:18;;;10277:30;10343:34;10323:18;;;10316:62;-1:-1:-1;;;10394:18:1;;;10387:38;10442:19;;18523:75:0;10063:404:1;18523:75:0;18679:4;18630:28;15484:18;;;:9;:18;;;;;;18755:20;;18731:44;;;;;;;18796;;-1:-1:-1;18824:16:0;;-1:-1:-1;;;18824:16:0;;;;18823:17;18796:44;:69;;;;-1:-1:-1;;;;;;18845:20:0;;;;;;:12;:20;;;;;;;;18844:21;18796:69;:94;;;;-1:-1:-1;18869:21:0;;-1:-1:-1;;;18869:21:0;;;;18796:94;18792:302;;;18928:25;;-1:-1:-1;;;18928:25:0;;;;18925:94;;;18999:20;;18976:43;;18925:94;19038:36;19053:20;19038:14;:36::i;:::-;19130:53;;;;;;;;;;;-1:-1:-1;;;19130:53:0;;;;;;;;-1:-1:-1;;;;;19130:17:0;;-1:-1:-1;19130:17:0;;;:9;:17;;;;;;;;:53;;19152:6;;19130:21;:53::i;:::-;-1:-1:-1;;;;;19110:17:0;;;;;;:9;:17;;;;;;;;:73;;;;19223:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;19252:28:0;;;;;;:17;:28;;;;;;;;19223:57;19222:105;;19293:34;19301:6;19309:9;19320:6;19293:7;:34::i;:::-;19222:105;;;19284:6;19222:105;19347:16;;19200:127;;-1:-1:-1;;;;19347:16:0;;;;:51;;;;-1:-1:-1;;;;;;19368:30:0;;;;;;:19;:30;;;;;;;;19367:31;19347:51;19344:197;;;19468:16;;19427:37;19452:11;19427:20;19437:9;-1:-1:-1;;;;;15484:18:0;15457:7;15484:18;;;:9;:18;;;;;;;15391:119;19427:20;:24;;:37::i;:::-;:57;;19419:106;;;;-1:-1:-1;;;19419:106:0;;10674:2:1;19419:106:0;;;10656:21:1;10713:2;10693:18;;;10686:30;10752:34;10732:18;;;10725:62;-1:-1:-1;;;10803:18:1;;;10796:35;10848:19;;19419:106:0;10472:401:1;19419:106:0;-1:-1:-1;;;;;19580:20:0;;;;;;:9;:20;;;;;;:37;;19605:11;19580:24;:37::i;:::-;-1:-1:-1;;;;;19557:20:0;;;;;;;:9;:20;;;;;;;:60;;;;19639:40;;;;;;;;;;19667:11;1804:25:1;;1792:2;1777:18;;1658:177;19639:40:0;;;;;;;;19703:4;19696:11;;;;;;;1514:192;1600:7;1636:12;1628:6;;;;1620:29;;;;-1:-1:-1;;;1620:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1660:9:0;1672:5;1676:1;1672;:5;:::i;:::-;1660:17;1514:192;-1:-1:-1;;;;;1514:192:0:o;1370:136::-;1428:7;1455:43;1459:1;1462;1455:43;;;;;;;;;;;;;;;;;:3;:43::i;1181:181::-;1239:7;;1271:5;1275:1;1271;:5;:::i;:::-;1259:17;;1300:1;1295;:6;;1287:46;;;;-1:-1:-1;;;1287:46:0;;11475:2:1;1287:46:0;;;11457:21:1;11514:2;11494:18;;;11487:30;11553:29;11533:18;;;11526:57;11600:18;;1287:46:0;11273:351:1;15895:270:0;-1:-1:-1;;;;;16001:19:0;;15993:28;;;;;;-1:-1:-1;;;;;16040:21:0;;16032:30;;;;;20364:330;20494:53;;;;;;;;;;;-1:-1:-1;;;20494:53:0;;;;;;;;-1:-1:-1;;;;;20494:17:0;;20457:4;20494:17;;;:9;:17;;;;;;;:53;;20516:6;;20494:21;:53::i;:::-;-1:-1:-1;;;;;20474:17:0;;;;;;;:9;:17;;;;;;:73;;;;20581:20;;;;;;;:32;;20606:6;20581:24;:32::i;:::-;-1:-1:-1;;;;;20558:20:0;;;;;;;:9;:20;;;;;;;:55;;;;20629:35;;;;;;;;;;20657:6;1804:25:1;;1792:2;1777:18;;1658:177;20629:35:0;;;;;;;;-1:-1:-1;20682:4:0;20364:330;;;;;:::o;20702:1450::-;13779:16;:23;;-1:-1:-1;;;;13779:23:0;-1:-1:-1;;;13779:23:0;;;20818:18:::1;::::0;20796:17:::1;::::0;13779:23;;20796:41:::1;::::0;:17;:21:::1;:41::i;:::-;20774:63;;20850:22;20875:39;20896:17;;20875:16;;:20;;:39;;;;:::i;:::-;20850:64;;20925:22;20950:39;20971:17;;20950:16;;:20;;:39;;;;:::i;:::-;20925:64:::0;-1:-1:-1;21088:18:0::1;21109:51;21158:1;21109:44;21141:11:::0;21109:44;:7;21121:14;21109:11:::1;:27::i;:::-;:31:::0;::::1;:44::i;:51::-;21088:72:::0;-1:-1:-1;21171:20:0::1;21194:23;:7:::0;21088:72;21194:11:::1;:23::i;:::-;21171:46:::0;-1:-1:-1;21256:21:0::1;21288:30;21171:46:::0;21288:16:::1;:30::i;:::-;21329:23;21356:41;:21;21382:14:::0;21356:25:::1;:41::i;:::-;21329:68:::0;-1:-1:-1;21410:19:0::1;21432:38;21448:21;:14:::0;21467:1:::1;21448:18;:21::i;:::-;21432:11:::0;;:15:::1;:38::i;:::-;21410:60:::0;-1:-1:-1;21483:26:0::1;21512:59;21569:1;21512:52;21410:60:::0;21512:52;:15;21532:14;21512:19:::1;:35::i;:59::-;21483:88;;21582:26;21611:66;21665:11;21611:49;21631:28;21650:8;;21631:14;:18;;:28;;;;:::i;:::-;21611:15:::0;;:19:::1;:49::i;:66::-;21582:95:::0;-1:-1:-1;21688:26:0::1;21717:63;21582:95:::0;21717:39:::1;:15:::0;21737:18;21717:19:::1;:39::i;:63::-;21688:92:::0;-1:-1:-1;21796:22:0;;21793:102:::1;;21843:10;::::0;21835:48:::1;::::0;-1:-1:-1;;;;;21843:10:0;;::::1;::::0;21835:48;::::1;;;::::0;21864:18;;21843:10:::1;21835:48:::0;21843:10;21835:48;21864:18;21843:10;21835:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;21793:102;21910:22:::0;;21907:101:::1;;21957:9;::::0;21949:47:::1;::::0;-1:-1:-1;;;;;21957:9:0;;::::1;::::0;21949:47;::::1;;;::::0;21977:18;;21957:9:::1;21949:47:::0;21957:9;21949:47;21977:18;21957:9;21949:47;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;21907:101;22053:1;22032:18;:22;:40;;;;;22071:1;22058:10;:14;22032:40;22029:116;;;22089:44;22102:10;22114:18;22089:12;:44::i;:::-;-1:-1:-1::0;;13825:16:0;:24;;-1:-1:-1;;;;13825:24:0;;;-1:-1:-1;;;;;;;;;;20702:1450:0:o;19744:612::-;-1:-1:-1;;;;;19895:20:0;;19830:7;19895:20;;;:12;:20;;;;;;19830:7;;19895:20;;19892:223;;;19944:38;19978:3;19944:29;19955:17;;19944:6;:10;;:29;;;;:::i;:38::-;19932:50;;19892:223;;;-1:-1:-1;;;;;20012:23:0;;;;;;:12;:23;;;;;;;;20009:106;;;20064:39;20099:3;20064:30;20075:18;;20064:6;:10;;:30;;;;:::i;:39::-;20052:51;;20009:106;20138:13;;20135:173;;20213:4;20195:24;;;;:9;:24;;;;;;:39;;20224:9;20195:28;:39::i;:::-;20186:4;20168:24;;;;:9;:24;;;;;;;:66;;;;20254:42;;-1:-1:-1;;;;;20254:42:0;;;;;;;20286:9;1804:25:1;;1792:2;1777:18;;1658:177;20254:42:0;;;;;;;;20135:173;20327:21;:6;20338:9;20327:10;:21::i;1714:250::-;1772:7;1796:1;1801;1796:6;1792:47;;-1:-1:-1;1826:1:0;1819:8;;1792:47;1851:9;1863:5;1867:1;1863;:5;:::i;:::-;1851:17;-1:-1:-1;1896:1:0;1887:5;1891:1;1851:17;1887:5;:::i;:::-;:10;1879:56;;;;-1:-1:-1;;;1879:56:0;;12226:2:1;1879:56:0;;;12208:21:1;12265:2;12245:18;;;12238:30;12304:34;12284:18;;;12277:62;-1:-1:-1;;;12355:18:1;;;12348:31;12396:19;;1879:56:0;12024:397:1;1972:132:0;2030:7;2057:39;2061:1;2064;2057:39;;;;;;;;;;;;;;;;;:3;:39::i;23650:666::-;23800:16;;;23814:1;23800:16;;;;;;;;23776:21;;23800:16;;;;;;;;;;-1:-1:-1;23800:16:0;23776:40;;23845:4;23827;23832:1;23827:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;23827:23:0;;;:7;;;;;;;;;;:23;;;;23871:15;;:22;;;-1:-1:-1;;;23871:22:0;;;;:15;;;;;:20;;:22;;;;;23827:7;;23871:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23861:4;23866:1;23861:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;23861:32:0;;;:7;;;;;;;;;:32;23938:15;;23906:62;;23923:4;;23938:15;23956:11;23906:8;:62::i;:::-;24007:15;;:240;;-1:-1:-1;;;24007:240:0;;-1:-1:-1;;;;;24007:15:0;;;;:66;;:240;;24088:11;;24007:15;;24158:4;;24185;;24221:15;;24007:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24273:35;24290:11;24303:4;24273:35;;;;;;;:::i;:::-;;;;;;;;23705:611;23650:666;:::o;22900:523::-;23080:15;;23048:62;;23065:4;;-1:-1:-1;;;;;23080:15:0;23098:11;23048:8;:62::i;:::-;23153:15;;23357:17;;23153:262;;-1:-1:-1;;;23153:262:0;;-1:-1:-1;;;;;23153:15:0;;;;:31;;23192:9;;23153:262;;23225:4;;23245:11;;23153:15;;;;23357:17;;23389:15;;23153:262;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2112:278::-;2198:7;2233:12;2226:5;2218:28;;;;-1:-1:-1;;;2218:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2257:9:0;2269:5;2273:1;2269;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;775:131::-;-1:-1:-1;;;;;850:31:1;;840:42;;830:70;;896:1;893;886:12;830:70;775:131;:::o;911:315::-;979:6;987;1040:2;1028:9;1019:7;1015:23;1011:32;1008:52;;;1056:1;1053;1046:12;1008:52;1095:9;1082:23;1114:31;1139:5;1114:31;:::i;:::-;1164:5;1216:2;1201:18;;;;1188:32;;-1:-1:-1;;;911:315:1:o;1840:456::-;1917:6;1925;1933;1986:2;1974:9;1965:7;1961:23;1957:32;1954:52;;;2002:1;1999;1992:12;1954:52;2041:9;2028:23;2060:31;2085:5;2060:31;:::i;:::-;2110:5;-1:-1:-1;2167:2:1;2152:18;;2139:32;2180:33;2139:32;2180:33;:::i;:::-;1840:456;;2232:7;;-1:-1:-1;;;2286:2:1;2271:18;;;;2258:32;;1840:456::o;2490:247::-;2549:6;2602:2;2590:9;2581:7;2577:23;2573:32;2570:52;;;2618:1;2615;2608:12;2570:52;2657:9;2644:23;2676:31;2701:5;2676:31;:::i;2966:180::-;3025:6;3078:2;3066:9;3057:7;3053:23;3049:32;3046:52;;;3094:1;3091;3084:12;3046:52;-1:-1:-1;3117:23:1;;2966:180;-1:-1:-1;2966:180:1:o;3151:388::-;3219:6;3227;3280:2;3268:9;3259:7;3255:23;3251:32;3248:52;;;3296:1;3293;3286:12;3248:52;3335:9;3322:23;3354:31;3379:5;3354:31;:::i;:::-;3404:5;-1:-1:-1;3461:2:1;3446:18;;3433:32;3474:33;3433:32;3474:33;:::i;:::-;3526:7;3516:17;;;3151:388;;;;;:::o;3544:380::-;3623:1;3619:12;;;;3666;;;3687:61;;3741:4;3733:6;3729:17;3719:27;;3687:61;3794:2;3786:6;3783:14;3763:18;3760:38;3757:161;;3840:10;3835:3;3831:20;3828:1;3821:31;3875:4;3872:1;3865:15;3903:4;3900:1;3893:15;3757:161;;3544:380;;;:::o;3929:356::-;4131:2;4113:21;;;4150:18;;;4143:30;4209:34;4204:2;4189:18;;4182:62;4276:2;4261:18;;3929:356::o;4422:251::-;4492:6;4545:2;4533:9;4524:7;4520:23;4516:32;4513:52;;;4561:1;4558;4551:12;4513:52;4593:9;4587:16;4612:31;4637:5;4612:31;:::i;4678:127::-;4739:10;4734:3;4730:20;4727:1;4720:31;4770:4;4767:1;4760:15;4794:4;4791:1;4784:15;4810:461;4863:3;4901:5;4895:12;4928:6;4923:3;4916:19;4954:4;4983:2;4978:3;4974:12;4967:19;;5020:2;5013:5;5009:14;5041:1;5051:195;5065:6;5062:1;5059:13;5051:195;;;5130:13;;-1:-1:-1;;;;;5126:39:1;5114:52;;5186:12;;;;5221:15;;;;5162:1;5080:9;5051:195;;;-1:-1:-1;5262:3:1;;4810:461;-1:-1:-1;;;;;4810:461:1:o;5276:510::-;5547:6;5536:9;5529:25;5590:3;5585:2;5574:9;5570:18;5563:31;5510:4;5611:57;5663:3;5652:9;5648:19;5640:6;5611:57;:::i;:::-;-1:-1:-1;;;;;5704:32:1;;;;5699:2;5684:18;;5677:60;-1:-1:-1;5768:2:1;5753:18;5746:34;5603:65;5276:510;-1:-1:-1;;5276:510:1:o;6171:277::-;6238:6;6291:2;6279:9;6270:7;6266:23;6262:32;6259:52;;;6307:1;6304;6297:12;6259:52;6339:9;6333:16;6392:5;6385:13;6378:21;6371:5;6368:32;6358:60;;6414:1;6411;6404:12;7522:607;-1:-1:-1;;;;;7881:15:1;;;7863:34;;7928:2;7913:18;;7906:34;;;;7971:2;7956:18;;7949:34;;;;8014:2;7999:18;;7992:34;;;;8063:15;;;8057:3;8042:19;;8035:44;7843:3;8095:19;;8088:35;;;;7812:3;7797:19;;7522:607::o;8134:306::-;8222:6;8230;8238;8291:2;8279:9;8270:7;8266:23;8262:32;8259:52;;;8307:1;8304;8297:12;8259:52;8336:9;8330:16;8320:26;;8386:2;8375:9;8371:18;8365:25;8355:35;;8430:2;8419:9;8415:18;8409:25;8399:35;;8134:306;;;;;:::o;10878:127::-;10939:10;10934:3;10930:20;10927:1;10920:31;10970:4;10967:1;10960:15;10994:4;10991:1;10984:15;11010:128;11077:9;;;11098:11;;;11095:37;;;11112:18;;:::i;11143:125::-;11208:9;;;11229:10;;;11226:36;;;11242:18;;:::i;11629:168::-;11702:9;;;11733;;11750:15;;;11744:22;;11730:37;11720:71;;11771:18;;:::i;11802:217::-;11842:1;11868;11858:132;;11912:10;11907:3;11903:20;11900:1;11893:31;11947:4;11944:1;11937:15;11975:4;11972:1;11965:15;11858:132;-1:-1:-1;12004:9:1;;11802:217::o;12426:582::-;12725:6;12714:9;12707:25;12768:6;12763:2;12752:9;12748:18;12741:34;12811:3;12806:2;12795:9;12791:18;12784:31;12688:4;12832:57;12884:3;12873:9;12869:19;12861:6;12832:57;:::i;:::-;-1:-1:-1;;;;;12925:32:1;;;;12920:2;12905:18;;12898:60;-1:-1:-1;12989:3:1;12974:19;12967:35;12824:65;12426:582;-1:-1:-1;;;12426:582:1:o;13013:332::-;13220:6;13209:9;13202:25;13263:2;13258;13247:9;13243:18;13236:30;13183:4;13283:56;13335:2;13324:9;13320:18;13312:6;13283:56;:::i;:::-;13275:64;13013:332;-1:-1:-1;;;;13013:332:1:o
Swarm Source
ipfs://a3fc72893b0298de448ed116a38cc449247277a84e71deb6d2e9e0a0681bf2a7
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.