Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
NEKO
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-08-05 */ //NEKO NEKO -- ZERO TAX// pragma solidity ^0.6.12; // SPDX-License-Identifier: MIT interface IERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); 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 ); } contract Context { constructor() internal {} function _msgSender() internal view returns (address payable) { return msg.sender; } function _msgData() internal view returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } 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) { // Solidity only automatically asserts when dividing by 0 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() internal { 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 onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal { require( newOwner != address(0), "Ownable: new owner is the zero address" ); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } pragma solidity >=0.6.2; interface IUniswapRouter01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function removeLiquidity( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETH( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountToken, uint256 amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETHWithPermit( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountToken, uint256 amountETH); function swapExactTokensForTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapTokensForExactTokens( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactETHForTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function swapTokensForExactETH( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactTokensForETH( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapETHForExactTokens( uint256 amountOut, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function quote( uint256 amountA, uint256 reserveA, uint256 reserveB ) external pure returns (uint256 amountB); function getAmountOut( uint256 amountIn, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountOut); function getAmountIn( uint256 amountOut, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountIn); function getAmountsOut(uint256 amountIn, address[] calldata path) external view returns (uint256[] memory amounts); function getAmountsIn(uint256 amountOut, address[] calldata path) external view returns (uint256[] memory amounts); } pragma solidity >=0.6.2; interface IUniswapRouter02 is IUniswapRouter01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } pragma solidity >=0.5.0; interface IUniswapFactory { event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); 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(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; function INIT_CODE_PAIR_HASH() external view returns (bytes32); } pragma solidity >=0.5.0; interface IUniswapPair { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 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 (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 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 (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Burn( address indexed sender, uint256 amount0, uint256 amount1, address indexed to ); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); 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 (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } contract NEKO is Context, IERC20, Ownable { using SafeMath for uint256; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; mapping(address => bool) private _isExcludedFromLimitHolder; mapping(address => bool) private blackList; address[] private _excluded; uint256 private constant MAX = ~uint256(0); bool inSwapAndLiquify; uint256 private constant _tTotal = 10 * 10**9 * 10**18; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 public _taxFee = 0; uint256 public _marketFee = 0; uint256 public _liquidityFee = 0; uint256 public _previousTaxFee = _taxFee; uint256 public _previousMarketFee = _marketFee; uint256 public _previousLiquidityFee = _liquidityFee; uint256 public _maxTxAmount = 50 * 10**7 * 10**18; // uint256 public _numTokensSellToAddToLiquidity = 50 * 10**6 * 10**18; uint256 public _maxWalletToken = 100 * 10**6 * 10**18; // IUniswapRouter02 public immutable pcsV2Router; address public immutable pcsV2Pair; string private _name = "NEKO NEKO"; string private _symbol = "NEKO"; uint8 private _decimals = 18; uint256 public totalUnlockedToken; uint256 public totalTransferredUnlockedToken; address public marketingWallet = 0xb5a88e3047Cd23484E63A662d3ACCe89Df4135F7; address public devWallet = 0xb5a88e3047Cd23484E63A662d3ACCe89Df4135F7; address public teamWallet = 0xb5a88e3047Cd23484E63A662d3ACCe89Df4135F7; event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity, uint256 contractTokenBalance ); constructor() public { _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[marketingWallet] = true; _isExcludedFromFee[teamWallet] = true; _isExcludedFromFee[devWallet] = true; _isExcludedFromLimitHolder[owner()] = true; _isExcludedFromLimitHolder[address(this)] = true; _isExcludedFromLimitHolder[marketingWallet] = true; _isExcludedFromLimitHolder[teamWallet] = true; _isExcludedFromLimitHolder[devWallet] = true; IUniswapRouter02 _UniswapswapV2Router = IUniswapRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // Create a uniswap pair for this new token pcsV2Pair = IUniswapFactory(_UniswapswapV2Router.factory()).createPair( address(this), _UniswapswapV2Router.WETH() ); pcsV2Router = _UniswapswapV2Router; emit Transfer(address(0), _msgSender(), _rTotal); } modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } function name() public view override returns (string memory) { return _name; } function symbol() public view override returns (string memory) { return _symbol; } function decimals() public view override returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue) ); return true; } 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 totalFees() public view returns (uint256) { return _tFeeTotal; } function reflect(uint256 tAmount) public { address sender = _msgSender(); (uint256 rAmount, , , , , ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rTotal = _rTotal.sub(rAmount); _tFeeTotal = _tFeeTotal.add(tAmount); } function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns (uint256) { require(tAmount <= _tTotal, "Amount must be less than supply"); if (!deductTransferFee) { (uint256 rAmount, , , , , ) = _getValues(tAmount); return rAmount; } else { (, uint256 rTransferAmount, , , , ) = _getValues(tAmount); return rTransferAmount; } } function tokenFromReflection(uint256 rAmount) public view returns (uint256) { require( rAmount <= _rTotal, "Amount must be less than total reflections" ); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function _approve( address owner, address spender, uint256 amount ) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function openTrading(bool _isOpenTrading) external { inSwapAndLiquify = _isOpenTrading; } function addBlackList (address[] memory blackAddresses) external onlyOwner { for (uint256 i = 0; i < blackAddresses.length; i++) { blackList[blackAddresses[i]] = true; } } function _transfer( address sender, address recipient, uint256 amount ) private { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if ( sender != owner() && recipient != owner() && recipient != address(1) && recipient != pcsV2Pair && !_isExcludedFromLimitHolder[recipient] && !_isExcludedFromLimitHolder[sender] && !blackList[sender] && !blackList[recipient] ) { require( amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount." ); uint256 contractBalanceRecepient = balanceOf(recipient); require( contractBalanceRecepient + amount <= _maxWalletToken, "Exceeds maximum wallet token amount (100,000,000)" ); } // is the token balance of this contract address over the min number of // tokens that we need to initiate a swap + liquidity lock? // also, don't get caught in a circular liquidity event. // also, don't swap & liquify if sender is uniswap pair. uint256 contractTokenBalance = balanceOf(address(this)); if (contractTokenBalance >= _maxTxAmount) { contractTokenBalance = _maxTxAmount; } bool overMinTokenBalance = contractTokenBalance >= _numTokensSellToAddToLiquidity; if (overMinTokenBalance && !inSwapAndLiquify && sender != pcsV2Pair) { contractTokenBalance = _numTokensSellToAddToLiquidity; swapAndLiquify(contractTokenBalance); } bool takeFee = true; //if any account belongs to _isExcludedFromFee account then remove the fee if ( _isExcludedFromFee[sender] || _isExcludedFromFee[recipient] || sender == pcsV2Pair ) { takeFee = false; } _transferStandard(sender, recipient, amount); } function _transferStandard( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity ) = _getValues(tAmount); uint256 mFee = rAmount.div(10**2).mul(_marketFee); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[marketingWallet] = _rOwned[marketingWallet].add(mFee); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeLiquidity(tLiquidity); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getTValues(tAmount); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tLiquidity, _getRate()); return ( rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tLiquidity ); } function _getTValues(uint256 tAmount) private view returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.div(10**2).mul(_taxFee); uint256 tLiquidity = tAmount.div(10**2).mul(_liquidityFee); uint256 mFee = tAmount.div(10**2).mul(_marketFee); uint256 tTransferAmount = tAmount.sub(tFee).sub(tLiquidity).sub(mFee); return (tTransferAmount, tFee, tLiquidity); } function _getRValues( uint256 tAmount, uint256 tFee, uint256 tLiquidity, uint256 currentRate ) private pure returns ( uint256, uint256, uint256 ) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rLiquidity = tLiquidity.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rLiquidity); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; for (uint256 i = 0; i < _excluded.length; i++) { if ( _rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply ) return (_rTotal, _tTotal); rSupply = rSupply.sub(_rOwned[_excluded[i]]); tSupply = tSupply.sub(_tOwned[_excluded[i]]); } if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function _takeLiquidity(uint256 tLiquidity) private { uint256 currentRate = _getRate(); uint256 rLiquidity = tLiquidity.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity); } function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap { // split the contract balance into halves uint256 half = contractTokenBalance.div(2); uint256 otherHalf = contractTokenBalance.sub(half); // capture the contract's current ETH balance. // this is so that we can capture exactly the amount of ETH that the // swap creates, and not make the liquidity event include any ETH that // has been manually sent to the contract uint256 initialBalance = address(this).balance; // swap tokens for ETH swapTokensForETH(half); // how much ETH did we just swap into? uint256 newBalance = address(this).balance.sub(initialBalance); // add liquidity to uniswap addLiquidity(otherHalf, newBalance); emit SwapAndLiquify(half, newBalance, otherHalf, contractTokenBalance); } 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] = pcsV2Router.WETH(); _approve(address(this), address(pcsV2Router), tokenAmount); // make the swap pcsV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { // approve token transfer to cover all possible scenarios _approve(address(this), address(pcsV2Router), tokenAmount); // add the liquidity pcsV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable owner(), block.timestamp ); } }
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"},{"indexed":false,"internalType":"uint256","name":"contractTokenBalance","type":"uint256"}],"name":"SwapAndLiquify","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":"_liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketFee","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":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_numTokensSellToAddToLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_previousLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_previousMarketFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_previousTaxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"blackAddresses","type":"address[]"}],"name":"addBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"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","name":"","type":"address"}],"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":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_isOpenTrading","type":"bool"}],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pcsV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pcsV2Router","outputs":[{"internalType":"contract IUniswapRouter02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTransferredUnlockedToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalUnlockedToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60c06040526b204fce5e3e25026110000000600019816200001c57fe5b06600019036009556000600b556000600c556000600d55600b54600e55600c54600f55600d546010556b019d971e4fe8401e740000006011556a295be96e640669720000006012556a52b7d2dcc80cd2e40000006013556040518060400160405280600981526020017f4e454b4f204e454b4f000000000000000000000000000000000000000000000081525060149080519060200190620000c092919062000a97565b506040518060400160405280600481526020017f4e454b4f00000000000000000000000000000000000000000000000000000000815250601590805190602001906200010e92919062000a97565b506012601660006101000a81548160ff021916908360ff16021790555073b5a88e3047cd23484e63a662d3acce89df4135f7601960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073b5a88e3047cd23484e63a662d3acce89df4135f7601a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073b5a88e3047cd23484e63a662d3acce89df4135f7601b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200023757600080fd5b5060006200024a62000a6660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060095460016000620002ff62000a6660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600460006200035362000a6e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560006200058062000a6e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620007f757600080fd5b505afa1580156200080c573d6000803e3d6000fd5b505050506040513d60208110156200082357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200089757600080fd5b505afa158015620008ac573d6000803e3d6000fd5b505050506040513d6020811015620008c357600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156200093e57600080fd5b505af115801562000953573d6000803e3d6000fd5b505050506040513d60208110156200096a57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b81525050620009f862000a6660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009546040518082815260200191505060405180910390a35062000b3d565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1062000ada57805160ff191683800117855562000b0b565b8280016001018555821562000b0b579182015b8281111562000b0a57825182559160200191906001019062000aed565b5b50905062000b1a919062000b1e565b5090565b5b8082111562000b3957600081600090555060010162000b1f565b5090565b60805160601c60a05160601c6132f862000b8f60003980610fe75280611c2d5280611ee95280611ffb525080610da85280612c945280612d805280612da75280612eb25280612ed952506132f86000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c80636bc87c3a116101255780638ea5220f116100ad578063a9059cbb1161007c578063a9059cbb146108e8578063b3f22ce31461094c578063d338faf31461096a578063dd62ed3e14610a22578063f2fde38b14610a9a5761021c565b80638ea5220f146107af578063909ef733146107e357806395d89b4114610801578063a457c2d7146108845761021c565b806375f0a874116100f457806375f0a874146106ed57806378109e54146107215780637d1db4a51461073f57806384d6ff2f1461075d5780638da5cb5b1461077b5761021c565b80636bc87c3a1461064f57806370a082311461066d578063715018a6146106c557806374c7b41c146106cf5761021c565b80632d838119116101a857806344aa2fc61161017757806344aa2fc61461055d5780634549b0391461057b57806352143290146105c957806359927044146105fd57806363aef729146106315761021c565b80632d83811914610478578063313ce567146104ba57806339509351146104db5780633b124fe71461053f5761021c565b806318160ddd116101ef57806318160ddd1461035457806323b872dd146103725780632701a4f2146103f65780632a9b8072146104145780632d6abf87146104445761021c565b8063053ab1821461022157806306fdde031461024f578063095ea7b3146102d257806313114a9d14610336575b600080fd5b61024d6004803603602081101561023757600080fd5b8101908080359060200190929190505050610ade565b005b610257610bcc565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561029757808201518184015260208101905061027c565b50505050905090810190601f1680156102c45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61031e600480360360408110156102e857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c6e565b60405180821515815260200191505060405180910390f35b61033e610c8c565b6040518082815260200191505060405180910390f35b61035c610c96565b6040518082815260200191505060405180910390f35b6103de6004803603606081101561038857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610caa565b60405180821515815260200191505060405180910390f35b6103fe610d83565b6040518082815260200191505060405180910390f35b6104426004803603602081101561042a57600080fd5b81019080803515159060200190929190505050610d89565b005b61044c610da6565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104a46004803603602081101561048e57600080fd5b8101908080359060200190929190505050610dca565b6040518082815260200191505060405180910390f35b6104c2610e4e565b604051808260ff16815260200191505060405180910390f35b610527600480360360408110156104f157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e65565b60405180821515815260200191505060405180910390f35b610547610f18565b6040518082815260200191505060405180910390f35b610565610f1e565b6040518082815260200191505060405180910390f35b6105b36004803603604081101561059157600080fd5b8101908080359060200190929190803515159060200190929190505050610f24565b6040518082815260200191505060405180910390f35b6105d1610fe5565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610605611009565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61063961102f565b6040518082815260200191505060405180910390f35b610657611035565b6040518082815260200191505060405180910390f35b6106af6004803603602081101561068357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061103b565b6040518082815260200191505060405180910390f35b6106cd61108c565b005b6106d7611212565b6040518082815260200191505060405180910390f35b6106f5611218565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61072961123e565b6040518082815260200191505060405180910390f35b610747611244565b6040518082815260200191505060405180910390f35b61076561124a565b6040518082815260200191505060405180910390f35b610783611250565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107b7611279565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107eb61129f565b6040518082815260200191505060405180910390f35b6108096112a5565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561084957808201518184015260208101905061082e565b50505050905090810190601f1680156108765780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6108d06004803603604081101561089a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611347565b60405180821515815260200191505060405180910390f35b610934600480360360408110156108fe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611414565b60405180821515815260200191505060405180910390f35b610954611432565b6040518082815260200191505060405180910390f35b610a206004803603602081101561098057600080fd5b810190808035906020019064010000000081111561099d57600080fd5b8201836020820111156109af57600080fd5b803590602001918460208302840111640100000000831117156109d157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611438565b005b610a8460048036036040811015610a3857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611588565b6040518082815260200191505060405180910390f35b610adc60048036036020811015610ab057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061160f565b005b6000610ae86116e3565b90506000610af5836116eb565b50505050509050610b4e81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461174790919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ba68160095461174790919063ffffffff16565b600981905550610bc183600a5461179190919063ffffffff16565b600a81905550505050565b606060148054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c645780601f10610c3957610100808354040283529160200191610c64565b820191906000526020600020905b815481529060010190602001808311610c4757829003601f168201915b5050505050905090565b6000610c82610c7b6116e3565b8484611819565b6001905092915050565b6000600a54905090565b60006b204fce5e3e25026110000000905090565b6000610cb7848484611a10565b610d7884610cc36116e3565b610d73856040518060600160405280602881526020016131d360289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610d296116e3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120669092919063ffffffff16565b611819565b600190509392505050565b60105481565b80600860006101000a81548160ff02191690831515021790555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600954821115610e27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613118602a913960400191505060405180910390fd5b6000610e31612126565b9050610e46818461215190919063ffffffff16565b915050919050565b6000601660009054906101000a900460ff16905090565b6000610f0e610e726116e3565b84610f098560036000610e836116e3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461179190919063ffffffff16565b611819565b6001905092915050565b600b5481565b60185481565b60006b204fce5e3e25026110000000831115610fa8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f416d6f756e74206d757374206265206c657373207468616e20737570706c790081525060200191505060405180910390fd5b81610fc8576000610fb8846116eb565b5050505050905080915050610fdf565b6000610fd3846116eb565b50505050915050809150505b92915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f5481565b600d5481565b6000611085600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dca565b9050919050565b6110946116e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611154576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600e5481565b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60135481565b60115481565b600c5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60175481565b606060158054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561133d5780601f106113125761010080835404028352916020019161133d565b820191906000526020600020905b81548152906001019060200180831161132057829003601f168201915b5050505050905090565b600061140a6113546116e3565b846114058560405180606001604052806025815260200161329e602591396003600061137e6116e3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120669092919063ffffffff16565b611819565b6001905092915050565b60006114286114216116e3565b8484611a10565b6001905092915050565b60125481565b6114406116e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611500576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60005b81518110156115845760016006600084848151811061151e57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050611503565b5050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6116176116e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6116e08161219b565b50565b600033905090565b60008060008060008060008060006117028a6122de565b92509250925060008060006117208d868661171b612126565b6123b5565b9250925092508282828888889b509b509b509b509b509b5050505050505091939550919395565b600061178983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612066565b905092915050565b60008082840190508381101561180f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561189f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806132496024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611925576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806131686022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806132246025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b1c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806130f56023913960400191505060405180910390fd5b60008111611b75576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806131fb6029913960400191505060405180910390fd5b611b7d611250565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611beb5750611bbb611250565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c245750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c7c57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611cd25750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d285750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d7e5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611dd45750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611ea057601154811115611e34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061318a6028913960400191505060405180910390fd5b6000611e3f8361103b565b90506013548282011115611e9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603181526020018061326d6031913960400191505060405180910390fd5b505b6000611eab3061103b565b90506011548110611ebc5760115490505b60006012548210159050808015611ee05750600860009054906101000a900460ff16155b8015611f3857507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611f4c576012549150611f4b8261243e565b5b600060019050600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611ff35750600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061204957507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b1561205357600090505b61205e868686612528565b505050505050565b6000838311158290612113576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156120d85780820151818401526020810190506120bd565b50505050905090810190601f1680156121055780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008060006121336127f9565b9150915061214a818361215190919063ffffffff16565b9250505090565b600061219383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ab2565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612221576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806131426026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008061230c600b546122fe60648861215190919063ffffffff16565b612b7890919063ffffffff16565b90506000612338600d5461232a60648961215190919063ffffffff16565b612b7890919063ffffffff16565b90506000612364600c5461235660648a61215190919063ffffffff16565b612b7890919063ffffffff16565b9050600061239f8261239185612383888d61174790919063ffffffff16565b61174790919063ffffffff16565b61174790919063ffffffff16565b9050808484965096509650505050509193909250565b6000806000806123ce8589612b7890919063ffffffff16565b905060006123e58689612b7890919063ffffffff16565b905060006123fc8789612b7890919063ffffffff16565b9050600061242582612417858761174790919063ffffffff16565b61174790919063ffffffff16565b9050838184965096509650505050509450945094915050565b6001600860006101000a81548160ff021916908315150217905550600061246f60028361215190919063ffffffff16565b90506000612486828461174790919063ffffffff16565b9050600047905061249683612bfe565b60006124ab824761174790919063ffffffff16565b90506124b78382612eac565b7f93efcf28fbf701a930e0ad258987a2e4f08eb3aa99f9c02029e7ba049f69405f848285886040518085815260200184815260200183815260200182815260200194505050505060405180910390a1505050506000600860006101000a81548160ff02191690831515021790555050565b60008060008060008061253a876116eb565b9550955095509550955095506000612570600c5461256260648a61215190919063ffffffff16565b612b7890919063ffffffff16565b90506125c487600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461174790919063ffffffff16565b600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061267b8160016000601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461179190919063ffffffff16565b60016000601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061273286600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461179190919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061277e82612ffd565b61278885846130ba565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a350505050505050505050565b6000806000600954905060006b204fce5e3e25026110000000905060005b600780549050811015612a615782600160006007848154811061283657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054118061291d57508160026000600784815481106128b557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b1561293e576009546b204fce5e3e2502611000000094509450505050612aae565b6129c7600160006007848154811061295257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461174790919063ffffffff16565b9250612a5260026000600784815481106129dd57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361174790919063ffffffff16565b91508080600101915050612817565b50612a836b204fce5e3e2502611000000060095461215190919063ffffffff16565b821015612aa5576009546b204fce5e3e25026110000000935093505050612aae565b81819350935050505b9091565b60008083118290612b5e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612b23578082015181840152602081019050612b08565b50505050905090810190601f168015612b505780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612b6a57fe5b049050809150509392505050565b600080831415612b8b5760009050612bf8565b6000828402905082848281612b9c57fe5b0414612bf3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806131b26021913960400191505060405180910390fd5b809150505b92915050565b6060600267ffffffffffffffff81118015612c1857600080fd5b50604051908082528060200260200182016040528015612c475781602001602082028036833780820191505090505b5090503081600081518110612c5857fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612cf857600080fd5b505afa158015612d0c573d6000803e3d6000fd5b505050506040513d6020811015612d2257600080fd5b810190808051906020019092919050505081600181518110612d4057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612da5307f000000000000000000000000000000000000000000000000000000000000000084611819565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015612e67578082015181840152602081019050612e4c565b505050509050019650505050505050600060405180830381600087803b158015612e9057600080fd5b505af1158015612ea4573d6000803e3d6000fd5b505050505050565b612ed7307f000000000000000000000000000000000000000000000000000000000000000084611819565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080612f21611250565b426040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b158015612fa657600080fd5b505af1158015612fba573d6000803e3d6000fd5b50505050506040513d6060811015612fd157600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050505050565b6000613007612126565b9050600061301e8284612b7890919063ffffffff16565b905061307281600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461179190919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6130cf8260095461174790919063ffffffff16565b6009819055506130ea81600a5461179190919063ffffffff16565b600a81905550505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573735472616e7366657220616d6f756e74206578636565647320746865206d61785478416d6f756e742e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345786365656473206d6178696d756d2077616c6c657420746f6b656e20616d6f756e7420283130302c3030302c3030302945524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220298d2477b629b8b569925607a52e97d700f4e05a6989b669fcc654cd58ccde7064736f6c634300060c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061021c5760003560e01c80636bc87c3a116101255780638ea5220f116100ad578063a9059cbb1161007c578063a9059cbb146108e8578063b3f22ce31461094c578063d338faf31461096a578063dd62ed3e14610a22578063f2fde38b14610a9a5761021c565b80638ea5220f146107af578063909ef733146107e357806395d89b4114610801578063a457c2d7146108845761021c565b806375f0a874116100f457806375f0a874146106ed57806378109e54146107215780637d1db4a51461073f57806384d6ff2f1461075d5780638da5cb5b1461077b5761021c565b80636bc87c3a1461064f57806370a082311461066d578063715018a6146106c557806374c7b41c146106cf5761021c565b80632d838119116101a857806344aa2fc61161017757806344aa2fc61461055d5780634549b0391461057b57806352143290146105c957806359927044146105fd57806363aef729146106315761021c565b80632d83811914610478578063313ce567146104ba57806339509351146104db5780633b124fe71461053f5761021c565b806318160ddd116101ef57806318160ddd1461035457806323b872dd146103725780632701a4f2146103f65780632a9b8072146104145780632d6abf87146104445761021c565b8063053ab1821461022157806306fdde031461024f578063095ea7b3146102d257806313114a9d14610336575b600080fd5b61024d6004803603602081101561023757600080fd5b8101908080359060200190929190505050610ade565b005b610257610bcc565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561029757808201518184015260208101905061027c565b50505050905090810190601f1680156102c45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61031e600480360360408110156102e857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c6e565b60405180821515815260200191505060405180910390f35b61033e610c8c565b6040518082815260200191505060405180910390f35b61035c610c96565b6040518082815260200191505060405180910390f35b6103de6004803603606081101561038857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610caa565b60405180821515815260200191505060405180910390f35b6103fe610d83565b6040518082815260200191505060405180910390f35b6104426004803603602081101561042a57600080fd5b81019080803515159060200190929190505050610d89565b005b61044c610da6565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104a46004803603602081101561048e57600080fd5b8101908080359060200190929190505050610dca565b6040518082815260200191505060405180910390f35b6104c2610e4e565b604051808260ff16815260200191505060405180910390f35b610527600480360360408110156104f157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e65565b60405180821515815260200191505060405180910390f35b610547610f18565b6040518082815260200191505060405180910390f35b610565610f1e565b6040518082815260200191505060405180910390f35b6105b36004803603604081101561059157600080fd5b8101908080359060200190929190803515159060200190929190505050610f24565b6040518082815260200191505060405180910390f35b6105d1610fe5565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610605611009565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61063961102f565b6040518082815260200191505060405180910390f35b610657611035565b6040518082815260200191505060405180910390f35b6106af6004803603602081101561068357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061103b565b6040518082815260200191505060405180910390f35b6106cd61108c565b005b6106d7611212565b6040518082815260200191505060405180910390f35b6106f5611218565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61072961123e565b6040518082815260200191505060405180910390f35b610747611244565b6040518082815260200191505060405180910390f35b61076561124a565b6040518082815260200191505060405180910390f35b610783611250565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107b7611279565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107eb61129f565b6040518082815260200191505060405180910390f35b6108096112a5565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561084957808201518184015260208101905061082e565b50505050905090810190601f1680156108765780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6108d06004803603604081101561089a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611347565b60405180821515815260200191505060405180910390f35b610934600480360360408110156108fe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611414565b60405180821515815260200191505060405180910390f35b610954611432565b6040518082815260200191505060405180910390f35b610a206004803603602081101561098057600080fd5b810190808035906020019064010000000081111561099d57600080fd5b8201836020820111156109af57600080fd5b803590602001918460208302840111640100000000831117156109d157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611438565b005b610a8460048036036040811015610a3857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611588565b6040518082815260200191505060405180910390f35b610adc60048036036020811015610ab057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061160f565b005b6000610ae86116e3565b90506000610af5836116eb565b50505050509050610b4e81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461174790919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ba68160095461174790919063ffffffff16565b600981905550610bc183600a5461179190919063ffffffff16565b600a81905550505050565b606060148054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c645780601f10610c3957610100808354040283529160200191610c64565b820191906000526020600020905b815481529060010190602001808311610c4757829003601f168201915b5050505050905090565b6000610c82610c7b6116e3565b8484611819565b6001905092915050565b6000600a54905090565b60006b204fce5e3e25026110000000905090565b6000610cb7848484611a10565b610d7884610cc36116e3565b610d73856040518060600160405280602881526020016131d360289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610d296116e3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120669092919063ffffffff16565b611819565b600190509392505050565b60105481565b80600860006101000a81548160ff02191690831515021790555050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6000600954821115610e27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613118602a913960400191505060405180910390fd5b6000610e31612126565b9050610e46818461215190919063ffffffff16565b915050919050565b6000601660009054906101000a900460ff16905090565b6000610f0e610e726116e3565b84610f098560036000610e836116e3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461179190919063ffffffff16565b611819565b6001905092915050565b600b5481565b60185481565b60006b204fce5e3e25026110000000831115610fa8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f416d6f756e74206d757374206265206c657373207468616e20737570706c790081525060200191505060405180910390fd5b81610fc8576000610fb8846116eb565b5050505050905080915050610fdf565b6000610fd3846116eb565b50505050915050809150505b92915050565b7f00000000000000000000000096adcf25786072df3a30887f1561d4bc4b40c84081565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f5481565b600d5481565b6000611085600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dca565b9050919050565b6110946116e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611154576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600e5481565b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60135481565b60115481565b600c5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60175481565b606060158054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561133d5780601f106113125761010080835404028352916020019161133d565b820191906000526020600020905b81548152906001019060200180831161132057829003601f168201915b5050505050905090565b600061140a6113546116e3565b846114058560405180606001604052806025815260200161329e602591396003600061137e6116e3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120669092919063ffffffff16565b611819565b6001905092915050565b60006114286114216116e3565b8484611a10565b6001905092915050565b60125481565b6114406116e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611500576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60005b81518110156115845760016006600084848151811061151e57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050611503565b5050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6116176116e3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6116e08161219b565b50565b600033905090565b60008060008060008060008060006117028a6122de565b92509250925060008060006117208d868661171b612126565b6123b5565b9250925092508282828888889b509b509b509b509b509b5050505050505091939550919395565b600061178983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612066565b905092915050565b60008082840190508381101561180f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561189f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806132496024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611925576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806131686022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806132246025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b1c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806130f56023913960400191505060405180910390fd5b60008111611b75576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806131fb6029913960400191505060405180910390fd5b611b7d611250565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611beb5750611bbb611250565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c245750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c7c57507f00000000000000000000000096adcf25786072df3a30887f1561d4bc4b40c84073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611cd25750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d285750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d7e5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611dd45750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611ea057601154811115611e34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061318a6028913960400191505060405180910390fd5b6000611e3f8361103b565b90506013548282011115611e9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603181526020018061326d6031913960400191505060405180910390fd5b505b6000611eab3061103b565b90506011548110611ebc5760115490505b60006012548210159050808015611ee05750600860009054906101000a900460ff16155b8015611f3857507f00000000000000000000000096adcf25786072df3a30887f1561d4bc4b40c84073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611f4c576012549150611f4b8261243e565b5b600060019050600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611ff35750600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061204957507f00000000000000000000000096adcf25786072df3a30887f1561d4bc4b40c84073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b1561205357600090505b61205e868686612528565b505050505050565b6000838311158290612113576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156120d85780820151818401526020810190506120bd565b50505050905090810190601f1680156121055780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008060006121336127f9565b9150915061214a818361215190919063ffffffff16565b9250505090565b600061219383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ab2565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612221576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806131426026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008061230c600b546122fe60648861215190919063ffffffff16565b612b7890919063ffffffff16565b90506000612338600d5461232a60648961215190919063ffffffff16565b612b7890919063ffffffff16565b90506000612364600c5461235660648a61215190919063ffffffff16565b612b7890919063ffffffff16565b9050600061239f8261239185612383888d61174790919063ffffffff16565b61174790919063ffffffff16565b61174790919063ffffffff16565b9050808484965096509650505050509193909250565b6000806000806123ce8589612b7890919063ffffffff16565b905060006123e58689612b7890919063ffffffff16565b905060006123fc8789612b7890919063ffffffff16565b9050600061242582612417858761174790919063ffffffff16565b61174790919063ffffffff16565b9050838184965096509650505050509450945094915050565b6001600860006101000a81548160ff021916908315150217905550600061246f60028361215190919063ffffffff16565b90506000612486828461174790919063ffffffff16565b9050600047905061249683612bfe565b60006124ab824761174790919063ffffffff16565b90506124b78382612eac565b7f93efcf28fbf701a930e0ad258987a2e4f08eb3aa99f9c02029e7ba049f69405f848285886040518085815260200184815260200183815260200182815260200194505050505060405180910390a1505050506000600860006101000a81548160ff02191690831515021790555050565b60008060008060008061253a876116eb565b9550955095509550955095506000612570600c5461256260648a61215190919063ffffffff16565b612b7890919063ffffffff16565b90506125c487600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461174790919063ffffffff16565b600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061267b8160016000601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461179190919063ffffffff16565b60016000601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061273286600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461179190919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061277e82612ffd565b61278885846130ba565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a350505050505050505050565b6000806000600954905060006b204fce5e3e25026110000000905060005b600780549050811015612a615782600160006007848154811061283657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054118061291d57508160026000600784815481106128b557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b1561293e576009546b204fce5e3e2502611000000094509450505050612aae565b6129c7600160006007848154811061295257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461174790919063ffffffff16565b9250612a5260026000600784815481106129dd57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361174790919063ffffffff16565b91508080600101915050612817565b50612a836b204fce5e3e2502611000000060095461215190919063ffffffff16565b821015612aa5576009546b204fce5e3e25026110000000935093505050612aae565b81819350935050505b9091565b60008083118290612b5e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612b23578082015181840152602081019050612b08565b50505050905090810190601f168015612b505780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612b6a57fe5b049050809150509392505050565b600080831415612b8b5760009050612bf8565b6000828402905082848281612b9c57fe5b0414612bf3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806131b26021913960400191505060405180910390fd5b809150505b92915050565b6060600267ffffffffffffffff81118015612c1857600080fd5b50604051908082528060200260200182016040528015612c475781602001602082028036833780820191505090505b5090503081600081518110612c5857fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612cf857600080fd5b505afa158015612d0c573d6000803e3d6000fd5b505050506040513d6020811015612d2257600080fd5b810190808051906020019092919050505081600181518110612d4057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612da5307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611819565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015612e67578082015181840152602081019050612e4c565b505050509050019650505050505050600060405180830381600087803b158015612e9057600080fd5b505af1158015612ea4573d6000803e3d6000fd5b505050505050565b612ed7307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611819565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080612f21611250565b426040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b158015612fa657600080fd5b505af1158015612fba573d6000803e3d6000fd5b50505050506040513d6060811015612fd157600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050505050565b6000613007612126565b9050600061301e8284612b7890919063ffffffff16565b905061307281600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461179190919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6130cf8260095461174790919063ffffffff16565b6009819055506130ea81600a5461179190919063ffffffff16565b600a81905550505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573735472616e7366657220616d6f756e74206578636565647320746865206d61785478416d6f756e742e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345786365656473206d6178696d756d2077616c6c657420746f6b656e20616d6f756e7420283130302c3030302c3030302945524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220298d2477b629b8b569925607a52e97d700f4e05a6989b669fcc654cd58ccde7064736f6c634300060c0033
Deployed Bytecode Sourcemap
15616:17208:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21844:318;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;19038:100;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20142:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;21733:95;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19390:103;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20379:506;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16621:52;;;:::i;:::-;;;;;;;;;;;;;;;;;;;23534:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16899:45;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;22725:366;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19274:100;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;20901:344;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16393:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17186:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;22178:531;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16955:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;17417:70;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16564:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16470:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19509:146;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4338:152;;;:::i;:::-;;16513:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17251:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16826:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16684:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16430:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4088:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;17337:69;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;17142:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19154:104;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21261:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19671:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16748:67;;;:::i;:::-;;;;;;;;;;;;;;;;;;;23657:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;19914:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4506:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;21844:318;21900:14;21917:12;:10;:12::i;:::-;21900:29;;21945:15;21974:19;21985:7;21974:10;:19::i;:::-;21944:49;;;;;;;22026:28;22046:7;22026;:15;22034:6;22026:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;22008:7;:15;22016:6;22008:15;;;;;;;;;;;;;;;:46;;;;22079:20;22091:7;22079;;:11;;:20;;;;:::i;:::-;22069:7;:30;;;;22127:23;22142:7;22127:10;;:14;;:23;;;;:::i;:::-;22114:10;:36;;;;21844:318;;;:::o;19038:100::-;19084:13;19121:5;19114:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19038:100;:::o;20142:221::-;20256:4;20286:39;20295:12;:10;:12::i;:::-;20309:7;20318:6;20286:8;:39::i;:::-;20347:4;20340:11;;20142:221;;;;:::o;21733:95::-;21775:7;21806:10;;21799:17;;21733:95;:::o;19390:103::-;19443:7;16265:19;19467:14;;19390:103;:::o;20379:506::-;20527:4;20548:36;20558:6;20566:9;20577:6;20548:9;:36::i;:::-;20599:248;20626:6;20651:12;:10;:12::i;:::-;20682:150;20742:6;20682:150;;;;;;;;;;;;;;;;;:11;:19;20694:6;20682:19;;;;;;;;;;;;;;;:33;20702:12;:10;:12::i;:::-;20682:33;;;;;;;;;;;;;;;;:37;;:150;;;;;:::i;:::-;20599:8;:248::i;:::-;20869:4;20862:11;;20379:506;;;;;:::o;16621:52::-;;;;:::o;23534:111::-;23619:14;23600:16;;:33;;;;;;;;;;;;;;;;;;23534:111;:::o;16899:45::-;;;:::o;22725:366::-;22831:7;22901;;22890;:18;;22864:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23001:19;23023:10;:8;:10::i;:::-;23001:32;;23055:24;23067:11;23055:7;:11;;:24;;;;:::i;:::-;23048:31;;;22725:366;;;:::o;19274:100::-;19324:5;19353:9;;;;;;;;;;;19346:16;;19274:100;:::o;20901:344::-;21028:4;21058:149;21085:12;:10;:12::i;:::-;21116:7;21142:50;21181:10;21142:11;:25;21154:12;:10;:12::i;:::-;21142:25;;;;;;;;;;;;;;;:34;21168:7;21142:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;21058:8;:149::i;:::-;21229:4;21222:11;;20901:344;;;;:::o;16393:26::-;;;;:::o;17186:44::-;;;;:::o;22178:531::-;22308:7;16265:19;22349:7;:18;;22341:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22423:17;22418:280;;22462:15;22491:19;22502:7;22491:10;:19::i;:::-;22461:49;;;;;;;22536:7;22529:14;;;;;22418:280;22587:23;22622:19;22633:7;22622:10;:19::i;:::-;22584:57;;;;;;;22667:15;22660:22;;;22178:531;;;;;:::o;16955:34::-;;;:::o;17417:70::-;;;;;;;;;;;;;:::o;16564:46::-;;;;:::o;16470:32::-;;;;:::o;19509:146::-;19575:7;19606:37;19626:7;:16;19634:7;19626:16;;;;;;;;;;;;;;;;19606:19;:37::i;:::-;19599:44;;19509:146;;;:::o;4338:152::-;4245:12;:10;:12::i;:::-;4235:22;;:6;;;;;;;;;;:22;;;4227:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4441:1:::1;4404:40;;4425:6;::::0;::::1;;;;;;;;4404:40;;;;;;;;;;;;4476:1;4459:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;4338:152::o:0;16513:40::-;;;;:::o;17251:75::-;;;;;;;;;;;;;:::o;16826:53::-;;;;:::o;16684:49::-;;;;:::o;16430:29::-;;;;:::o;4088:87::-;4126:7;4157:6;;;;;;;;;;;4150:13;;4088:87;:::o;17337:69::-;;;;;;;;;;;;;:::o;17142:33::-;;;;:::o;19154:104::-;19202:13;19239:7;19232:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19154:104;:::o;21261:456::-;21393:4;21423:256;21450:12;:10;:12::i;:::-;21481:7;21507:157;21568:15;21507:157;;;;;;;;;;;;;;;;;:11;:25;21519:12;:10;:12::i;:::-;21507:25;;;;;;;;;;;;;;;:34;21533:7;21507:34;;;;;;;;;;;;;;;;:38;;:157;;;;;:::i;:::-;21423:8;:256::i;:::-;21701:4;21694:11;;21261:456;;;;:::o;19671:227::-;19788:4;19818:42;19828:12;:10;:12::i;:::-;19842:9;19853:6;19818:9;:42::i;:::-;19882:4;19875:11;;19671:227;;;;:::o;16748:67::-;;;;:::o;23657:223::-;4245:12;:10;:12::i;:::-;4235:22;;:6;;;;;;;;;;:22;;;4227:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23752:9:::1;23747:122;23771:14;:21;23767:1;:25;23747:122;;;23849:4;23818:9;:28;23828:14;23843:1;23828:17;;;;;;;;;;;;;;23818:28;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;23794:3;;;;;;;23747:122;;;;23657:223:::0;:::o;19914:212::-;20047:7;20087:11;:18;20099:5;20087:18;;;;;;;;;;;;;;;:27;20106:7;20087:27;;;;;;;;;;;;;;;;20080:34;;19914:212;;;;:::o;4506:117::-;4245:12;:10;:12::i;:::-;4235:22;;:6;;;;;;;;;;:22;;;4227:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4583:28:::1;4602:8;4583:18;:28::i;:::-;4506:117:::0;:::o;1312:106::-;1357:15;1396:10;1389:17;;1312:106;:::o;27427:751::-;27543:7;27569;27595;27621;27647;27673;27721:23;27746:12;27760:18;27799:20;27811:7;27799:11;:20::i;:::-;27720:99;;;;;;27835:15;27852:23;27877:12;27910:50;27922:7;27931:4;27937:10;27949;:8;:10::i;:::-;27910:11;:50::i;:::-;27834:126;;;;;;28001:7;28027:15;28061:4;28084:15;28118:4;28141:10;27975:191;;;;;;;;;;;;;;;;;;27427:751;;;;;;;:::o;1937:144::-;1995:7;2026:43;2030:1;2033;2026:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2019:50;;1937:144;;;;:::o;1720:201::-;1778:7;1802:9;1818:1;1814;:5;1802:17;;1847:1;1842;:6;;1834:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1908:1;1901:8;;;1720:201;;;;:::o;23107:411::-;23271:1;23254:19;;:5;:19;;;;23246:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23356:1;23337:21;;:7;:21;;;;23329:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23448:6;23418:11;:18;23430:5;23418:18;;;;;;;;;;;;;;;:27;23437:7;23418:27;;;;;;;;;;;;;;;:36;;;;23490:7;23474:32;;23483:5;23474:32;;;23499:6;23474:32;;;;;;;;;;;;;;;;;;23107:411;;;:::o;23892:2491::-;24061:1;24043:20;;:6;:20;;;;24035:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24149:1;24128:23;;:9;:23;;;;24120:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24223:1;24214:6;:10;24206:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24317:7;:5;:7::i;:::-;24307:17;;:6;:17;;;;:58;;;;;24358:7;:5;:7::i;:::-;24345:20;;:9;:20;;;;24307:58;:102;;;;;24407:1;24386:23;;:9;:23;;;;24307:102;:145;;;;;24443:9;24430:22;;:9;:22;;;;24307:145;:204;;;;;24474:26;:37;24501:9;24474:37;;;;;;;;;;;;;;;;;;;;;;;;;24473:38;24307:204;:261;;;;;24534:26;:34;24561:6;24534:34;;;;;;;;;;;;;;;;;;;;;;;;;24533:35;24307:261;:300;;;;;24590:9;:17;24600:6;24590:17;;;;;;;;;;;;;;;;;;;;;;;;;24589:18;24307:300;:342;;;;;24629:9;:20;24639:9;24629:20;;;;;;;;;;;;;;;;;;;;;;;;;24628:21;24307:342;24285:825;;;24730:12;;24720:6;:22;;24690:136;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24845:32;24880:20;24890:9;24880;:20::i;:::-;24845:55;;24986:15;;24976:6;24949:24;:33;:52;;24919:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24285:825;;25428:28;25459:24;25477:4;25459:9;:24::i;:::-;25428:55;;25532:12;;25508:20;:36;25504:112;;25588:12;;25565:35;;25504:112;25636:24;25704:30;;25680:20;:54;;25636:98;;25753:19;:40;;;;;25777:16;;;;;;;;;;;25776:17;25753:40;:63;;;;;25807:9;25797:19;;:6;:19;;;;25753:63;25749:212;;;25860:30;;25837:53;;25909:36;25924:20;25909:14;:36::i;:::-;25749:212;25981:12;25996:4;25981:19;;26131:18;:26;26150:6;26131:26;;;;;;;;;;;;;;;;;;;;;;;;;:76;;;;26178:18;:29;26197:9;26178:29;;;;;;;;;;;;;;;;;;;;;;;;;26131:76;:116;;;;26238:9;26228:19;;:6;:19;;;26131:116;26109:204;;;26292:5;26282:15;;26109:204;26327:44;26345:6;26353:9;26364:6;26327:17;:44::i;:::-;23892:2491;;;;;;:::o;2099:262::-;2235:7;2272:1;2267;:6;;2275:12;2259:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2303:9;2319:1;2315;:5;2303:17;;2348:1;2341:8;;;2099:262;;;;;:::o;29431:176::-;29473:7;29498:15;29515;29534:19;:17;:19::i;:::-;29497:56;;;;29575:20;29587:7;29575;:11;;:20;;;;:::i;:::-;29568:27;;;;29431:176;:::o;2683:140::-;2741:7;2772:39;2776:1;2779;2772:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2765:46;;2683:140;;;;:::o;4641:294::-;4757:1;4737:22;;:8;:22;;;;4711:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4882:8;4853:38;;4874:6;;;;;;;;;;4853:38;;;;;;;;;;;;4915:8;4906:6;;:17;;;;;;;;;;;;;;;;;;4641:294;:::o;28200:569::-;28317:7;28343;28369;28416:12;28431:31;28454:7;;28431:18;28443:5;28431:7;:11;;:18;;;;:::i;:::-;:22;;:31;;;;:::i;:::-;28416:46;;28477:18;28515:37;28538:13;;28515:18;28527:5;28515:7;:11;;:18;;;;:::i;:::-;:22;;:37;;;;:::i;:::-;28477:75;;28567:12;28582:34;28605:10;;28582:18;28594:5;28582:7;:11;;:18;;;;:::i;:::-;:22;;:34;;;;:::i;:::-;28567:49;;28631:23;28657:43;28695:4;28657:33;28679:10;28657:17;28669:4;28657:7;:11;;:17;;;;:::i;:::-;:21;;:33;;;;:::i;:::-;:37;;:43;;;;:::i;:::-;28631:69;;28723:15;28740:4;28746:10;28715:42;;;;;;;;;;28200:569;;;;;:::o;28785:630::-;29020:7;29046;29072;29119:15;29137:24;29149:11;29137:7;:11;;:24;;;;:::i;:::-;29119:42;;29176:12;29191:21;29200:11;29191:4;:8;;:21;;;;:::i;:::-;29176:36;;29227:18;29248:27;29263:11;29248:10;:14;;:27;;;;:::i;:::-;29227:48;;29290:23;29316:33;29338:10;29316:17;29328:4;29316:7;:11;;:17;;;;:::i;:::-;:21;;:33;;;;:::i;:::-;29290:59;;29372:7;29381:15;29398:4;29364:39;;;;;;;;;;28785:630;;;;;;;;:::o;30564:1013::-;18947:4;18928:16;;:23;;;;;;;;;;;;;;;;;;30708:12:::1;30723:27;30748:1;30723:20;:24;;:27;;;;:::i;:::-;30708:42;;30765:17;30785:30;30810:4;30785:20;:24;;:30;;;;:::i;:::-;30765:50;;31117:22;31142:21;31117:46;;31220:22;31237:4;31220:16;:22::i;:::-;31315:18;31336:41;31362:14;31336:21;:25;;:41;;;;:::i;:::-;31315:62;;31439:35;31452:9;31463:10;31439:12;:35::i;:::-;31500:65;31515:4;31521:10;31533:9;31544:20;31500:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18966:1;;;;19001:5:::0;18982:16;;:24;;;;;;;;;;;;;;;;;;30564:1013;:::o;26399:837::-;26570:15;26604:23;26646:12;26677:23;26719:12;26750:18;26786:19;26797:7;26786:10;:19::i;:::-;26551:254;;;;;;;;;;;;26820:12;26835:34;26858:10;;26835:18;26847:5;26835:7;:11;;:18;;;;:::i;:::-;:22;;:34;;;;:::i;:::-;26820:49;;26902:28;26922:7;26902;:15;26910:6;26902:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;26884:7;:15;26892:6;26884:15;;;;;;;;;;;;;;;:46;;;;26972:34;27001:4;26972:7;:24;26980:15;;;;;;;;;;;26972:24;;;;;;;;;;;;;;;;:28;;:34;;;;:::i;:::-;26945:7;:24;26953:15;;;;;;;;;;;26945:24;;;;;;;;;;;;;;;:61;;;;27042:39;27065:15;27042:7;:18;27050:9;27042:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;27021:7;:18;27029:9;27021:18;;;;;;;;;;;;;;;:60;;;;27096:26;27111:10;27096:14;:26::i;:::-;27137:23;27149:4;27155;27137:11;:23::i;:::-;27197:9;27180:44;;27189:6;27180:44;;;27208:15;27180:44;;;;;;;;;;;;;;;;;;26399:837;;;;;;;;;;:::o;29623:657::-;29674:7;29683;29707:15;29725:7;;29707:25;;29747:15;16265:19;29747:25;;29792:9;29787:366;29811:9;:16;;;;29807:1;:20;29787:366;;;29903:7;29879;:21;29887:9;29897:1;29887:12;;;;;;;;;;;;;;;;;;;;;;;;;29879:21;;;;;;;;;;;;;;;;:31;:87;;;;29959:7;29935;:21;29943:9;29953:1;29943:12;;;;;;;;;;;;;;;;;;;;;;;;;29935:21;;;;;;;;;;;;;;;;:31;29879:87;29853:158;;;29994:7;;16265:19;29986:25;;;;;;;;;29853:158;30040:34;30052:7;:21;30060:9;30070:1;30060:12;;;;;;;;;;;;;;;;;;;;;;;;;30052:21;;;;;;;;;;;;;;;;30040:7;:11;;:34;;;;:::i;:::-;30030:44;;30103:34;30115:7;:21;30123:9;30133:1;30123:12;;;;;;;;;;;;;;;;;;;;;;;;;30115:21;;;;;;;;;;;;;;;;30103:7;:11;;:34;;;;:::i;:::-;30093:44;;29829:3;;;;;;;29787:366;;;;30181:20;16265:19;30181:7;;:11;;:20;;;;:::i;:::-;30171:7;:30;30167:61;;;30211:7;;16265:19;30203:25;;;;;;;;30167:61;30251:7;30260;30243:25;;;;;;29623:657;;;:::o;2839:423::-;2975:7;3082:1;3078;:5;3085:12;3070:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3113:9;3129:1;3125;:5;;;;;;3113:17;;3249:1;3242:8;;;2839:423;;;;;:::o;2379:288::-;2437:7;2472:1;2467;:6;2463:55;;;2501:1;2494:8;;;;2463:55;2538:9;2554:1;2550;:5;2538:17;;2587:1;2582;2578;:5;;;;;;:10;2570:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2654:1;2647:8;;;2379:288;;;;;:::o;31593:641::-;31727:21;31765:1;31751:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31727:40;;31800:4;31782;31787:1;31782:7;;;;;;;;;;;;;:23;;;;;;;;;;;31830:11;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31820:4;31825:1;31820:7;;;;;;;;;;;;;:28;;;;;;;;;;;31869:58;31886:4;31901:11;31915;31869:8;:58::i;:::-;31978:11;:62;;;32059:11;32089:1;32137:4;32168;32192:15;31978:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31593:641;;:::o;32250:557::-;32406:58;32423:4;32438:11;32452;32406:8;:58::i;:::-;32519:11;:27;;;32554:9;32591:4;32615:11;32645:1;32692;32739:7;:5;:7::i;:::-;32765:15;32519:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;32250:557;;:::o;30296:252::-;30363:19;30385:10;:8;:10::i;:::-;30363:32;;30410:18;30431:27;30446:11;30431:10;:14;;:27;;;;:::i;:::-;30410:48;;30498:38;30525:10;30498:7;:22;30514:4;30498:22;;;;;;;;;;;;;;;;:26;;:38;;;;:::i;:::-;30473:7;:22;30489:4;30473:22;;;;;;;;;;;;;;;:63;;;;30296:252;;;:::o;27252:159::-;27334:17;27346:4;27334:7;;:11;;:17;;;;:::i;:::-;27324:7;:27;;;;27379:20;27394:4;27379:10;;:14;;:20;;;;:::i;:::-;27366:10;:33;;;;27252:159;;:::o
Swarm Source
ipfs://298d2477b629b8b569925607a52e97d700f4e05a6989b669fcc654cd58ccde70
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.