More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 33 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Approve | 18342877 | 263 days ago | IN | 0 ETH | 0.0011114 | ||||
Approve | 18342874 | 263 days ago | IN | 0 ETH | 0.00065635 | ||||
Approve | 18342861 | 263 days ago | IN | 0 ETH | 0.00121723 | ||||
Approve | 18342860 | 263 days ago | IN | 0 ETH | 0.00117934 | ||||
Approve | 18342851 | 263 days ago | IN | 0 ETH | 0.00129524 | ||||
Approve | 18342765 | 263 days ago | IN | 0 ETH | 0.00101956 | ||||
Approve | 18342717 | 263 days ago | IN | 0 ETH | 0.00134913 | ||||
Approve | 18342698 | 263 days ago | IN | 0 ETH | 0.00054178 | ||||
Approve | 18342637 | 263 days ago | IN | 0 ETH | 0.00077625 | ||||
Approve | 18342618 | 263 days ago | IN | 0 ETH | 0.00087127 | ||||
Approve | 18342602 | 263 days ago | IN | 0 ETH | 0.0010779 | ||||
Approve | 18342601 | 263 days ago | IN | 0 ETH | 0.0010779 | ||||
Approve | 18342601 | 263 days ago | IN | 0 ETH | 0.0010779 | ||||
Approve | 18342601 | 263 days ago | IN | 0 ETH | 0.0010779 | ||||
Approve | 18342601 | 263 days ago | IN | 0 ETH | 0.0010779 | ||||
Approve | 18342601 | 263 days ago | IN | 0 ETH | 0.0010779 | ||||
Approve | 18342601 | 263 days ago | IN | 0 ETH | 0.0010779 | ||||
Approve | 18342601 | 263 days ago | IN | 0 ETH | 0.0010779 | ||||
Approve | 18342601 | 263 days ago | IN | 0 ETH | 0.00106921 | ||||
Approve | 18342601 | 263 days ago | IN | 0 ETH | 0.00106921 | ||||
Approve | 18342601 | 263 days ago | IN | 0 ETH | 0.00106921 | ||||
Approve | 18342601 | 263 days ago | IN | 0 ETH | 0.00106921 | ||||
Approve | 18342601 | 263 days ago | IN | 0 ETH | 0.00106921 | ||||
Approve | 18342601 | 263 days ago | IN | 0 ETH | 0.0010779 | ||||
Approve | 18342601 | 263 days ago | IN | 0 ETH | 0.0010779 |
Latest 8 internal transactions
Advanced mode:
Parent Transaction Hash | Block | From | To | Value | ||
---|---|---|---|---|---|---|
18342771 | 263 days ago | 0.00776483 ETH | ||||
18342771 | 263 days ago | 0.00776483 ETH | ||||
18342768 | 263 days ago | 0.00796524 ETH | ||||
18342768 | 263 days ago | 0.00796524 ETH | ||||
18342752 | 263 days ago | 0.00836634 ETH | ||||
18342752 | 263 days ago | 0.00836634 ETH | ||||
18342663 | 263 days ago | 0.00781202 ETH | ||||
18342663 | 263 days ago | 0.00781202 ETH |
Loading...
Loading
Contract Name:
METAGAMERS
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-10-13 */ /** MetaGamers will be an open world in the Metaverse based on the latest technology which merges together, web3.0, blockchain, VR and AR. Website: https://metagame.live Telegram: https://t.me/meta_game_erc Twitter: https://twitter.com/meta_gamer_erc */ // SPDX-License-Identifier: MIT pragma solidity 0.8.19; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IUniswapRouterV2 { 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 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; } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } 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; } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { 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 _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } contract METAGAMERS is ERC20, Ownable { using SafeMath for uint256; IUniswapRouterV2 public immutable routerV2; address public immutable pairV2; address public routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; bool private swapping; uint256 public maxTxSize; uint256 public swapTokensThreshold; uint256 public maxWalletSize; bool public limitsEnabled = true; bool public buyActive = false; bool public swapEnabled = false; address public marketingAddr; address public devAddr; address public lpAddr; uint256 public totalBuyFees; uint256 public marketingBuyTax; uint256 public buyLpTax; uint256 public buyDevTax; uint256 public totalSellFees; uint256 public sellMarketingTax; uint256 public sellLpTax; uint256 public sellDevTax; uint256 public marketingTaxTokens; uint256 public lpTaxTokens; uint256 public devTaxTokens; // Anti-bot and anti-whale mappings and variables mapping(address => uint256) private _holderLastTransfer; bool public hasTransferDelay = true; uint256 private launchBlock; uint256 private deadBlocks; mapping(address => bool) private _isExcludedFees; mapping(address => bool) private _isExcludedMaxTx; mapping(address => bool) private _isExcludedMaxWallet; mapping(address => bool) public automatedMarketMakerPairs; event UpdateUniswapV2Router( address indexed newAddress, address indexed oldAddress ); event ExcludeFromFees(address indexed account, bool isExcluded); event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity ); modifier onlyOperation { require(isExcludedFees(msg.sender));_; } constructor() ERC20("MetaGamers", "METAGAMERS") { IUniswapRouterV2 _uniswapV2Router = IUniswapRouterV2(routerAddress); excludeFromMaxTransaction(address(_uniswapV2Router), true); routerV2 = _uniswapV2Router; pairV2 = IUniswapFactory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); excludeFromMaxTransaction(address(pairV2), true); _setAutomatedMarketMakerPair(address(pairV2), true); // launch buy fees uint256 _buyMarketingFee = 18; uint256 _buyLiquidityFee = 0; uint256 _buyDevFee = 0; // launch sell fees uint256 _sellMarketingFee = 18; uint256 _sellLiquidityFee = 0; uint256 _sellDevFee = 0; uint256 totalSupply = 1_000_000_000 * 1e18; maxTxSize = 25_000_000 * 1e18; maxWalletSize = 25_000_000 * 1e18; swapTokensThreshold = (totalSupply * 1) / 10000; marketingBuyTax = _buyMarketingFee; buyLpTax = _buyLiquidityFee; buyDevTax = _buyDevFee; totalBuyFees = marketingBuyTax + buyLpTax + buyDevTax; sellMarketingTax = _sellMarketingFee; sellLpTax = _sellLiquidityFee; sellDevTax = _sellDevFee; totalSellFees = sellMarketingTax + sellLpTax + sellDevTax; marketingAddr = address(0xE36E39C3Be49EaD5678baF6A4a61559E34357e3a); devAddr = msg.sender; lpAddr = msg.sender; // exclude from paying fees or having max transaction amount excludeFromFees(owner(), true); excludeFromFees(address(this), true); excludeFromFees(address(0xdead), true); excludeFromFees(address(marketingAddr), true); excludeFromFees(address(lpAddr), true); excludeFromMaxTransaction(owner(), true); excludeFromMaxTransaction(address(this), true); excludeFromMaxTransaction(address(0xdead), true); excludeFromMaxTransaction(address(marketingAddr), true); excludeFromMaxTransaction(address(lpAddr), true); excludeFromMaxWallet(owner(), true); excludeFromMaxWallet(address(this), true); excludeFromMaxWallet(address(0xdead), true); excludeFromMaxWallet(address(marketingAddr), true); excludeFromMaxWallet(address(lpAddr), true); _mint(msg.sender, totalSupply); } receive() external payable {} function enableTrading(uint256 _deadBlocks) external onlyOwner { require(!buyActive, "Token launched"); buyActive = true; launchBlock = block.number; swapEnabled = true; deadBlocks = _deadBlocks; } // remove limits after token is stable function removeLimits() external onlyOwner returns (bool) { marketingBuyTax = 1; buyLpTax = 0; buyDevTax = 0; totalBuyFees = 1; limitsEnabled = false; sellMarketingTax = 1; sellLpTax = 0; sellDevTax = 0; totalSellFees = 1; return true; } function updateMaxWalletAmount(uint256 newNum) external onlyOwner { require( newNum >= ((totalSupply() * 5) / 1000) / 1e18, "Cannot set maxWalletSize lower than 0.5%" ); maxWalletSize = newNum * (10**18); } function excludeFromMaxTransaction(address updAds, bool isEx) public onlyOwner { _isExcludedMaxTx[updAds] = isEx; } function excludeFromMaxWallet(address updAds, bool isEx) public onlyOwner { _isExcludedMaxWallet[updAds] = isEx; } function burn(uint256 amount) external { _burn(msg.sender, amount); } function burn(address account, uint256 amount) external onlyOperation { _burn(account, amount); } function _transfer( address from, address to, uint256 amount ) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); if (amount == 0) { super._transfer(from, to, 0); return; } if (limitsEnabled) { if ( from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping ) { if (!buyActive) { require( _isExcludedFees[from] || _isExcludedFees[to], "Trading is not active." ); } // at launch if the transfer delay is enabled, ensure the block timestamps for purchasers is set -- during launch. if (hasTransferDelay) { if ( to != owner() && to != address(routerV2) && to != address(pairV2) ) { require( _holderLastTransfer[tx.origin] < block.number, "_transfer:: Transfer Delay enabled. Only one purchase per block allowed." ); _holderLastTransfer[tx.origin] = block.number; } } //when buy if ( automatedMarketMakerPairs[from] && !_isExcludedMaxTx[to] ) { require( amount <= maxTxSize, "Buy transfer amount exceeds the maxTxSize." ); if (!_isExcludedMaxWallet[to]) { // Added this condition require( amount + balanceOf(to) <= maxWalletSize, "Max wallet exceeded" ); } } //when sell else if ( automatedMarketMakerPairs[to] && !_isExcludedMaxTx[from] ) { require( amount <= maxTxSize, "Sell transfer amount exceeds the maxTxSize." ); } else if (!_isExcludedMaxTx[to]) { if (!_isExcludedMaxWallet[to]) { // Added this condition require( amount + balanceOf(to) <= maxWalletSize, "Max wallet exceeded" ); } } } } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= swapTokensThreshold; if ( canSwap && amount > swapTokensThreshold && swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFees[from] && !_isExcludedFees[to] ) { swapping = true; swapBackFees(); swapping = false; } bool takeFee = !swapping; // if any account belongs to _isExcludedFromFee account then remove the fee if (_isExcludedFees[from] || _isExcludedFees[to]) { takeFee = false; } uint256 fees = 0; // only take fees on buys/sells, do not take on wallet transfers if (takeFee) { // on sell if (automatedMarketMakerPairs[to] && totalSellFees > 0) { fees = amount.mul(totalSellFees).div(100); lpTaxTokens += (fees * sellLpTax) / totalSellFees; devTaxTokens += (fees * sellDevTax) / totalSellFees; marketingTaxTokens += (fees * sellMarketingTax) / totalSellFees; } // on buy else if (automatedMarketMakerPairs[from] && totalBuyFees > 0) { fees = amount.mul(totalBuyFees).div(100); lpTaxTokens += (fees * buyLpTax) / totalBuyFees; devTaxTokens += (fees * buyDevTax) / totalBuyFees; marketingTaxTokens += (fees * marketingBuyTax) / totalBuyFees; } if (fees > 0) { super._transfer(from, address(this), fees); } amount -= fees; } super._transfer(from, to, amount); } function updateMaxTxnAmount(uint256 newNum) external onlyOwner { require( newNum >= ((totalSupply() * 1) / 1000) / 1e18, "Cannot set maxTxSize lower than 0.1%" ); maxTxSize = newNum * (10**18); } function excludeFromFees(address account, bool excluded) public onlyOwner { _isExcludedFees[account] = excluded; emit ExcludeFromFees(account, excluded); } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; emit SetAutomatedMarketMakerPair(pair, value); } function swapTokensToEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = routerV2.WETH(); _approve(address(this), address(routerV2), tokenAmount); // make the swap routerV2.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(routerV2), tokenAmount); // add the liquidity routerV2.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable lpAddr, block.timestamp ); } function swapBackFees() private { uint256 contractBalance = balanceOf(address(this)); uint256 totalTokensToSwap = lpTaxTokens + marketingTaxTokens + devTaxTokens; bool success; if (contractBalance == 0 || totalTokensToSwap == 0) { return; } if (contractBalance > swapTokensThreshold * 20) { contractBalance = swapTokensThreshold * 20; } // Halve the amount of liquidity tokens uint256 lpTaxTokens = (contractBalance * lpTaxTokens) / totalTokensToSwap / 2; uint256 amountToSwapForETH = contractBalance.sub(lpTaxTokens); uint256 initialETHBalance = address(this).balance; swapTokensToEth(amountToSwapForETH); uint256 ethBalance = address(this).balance.sub(initialETHBalance); uint256 ethForMark = ethBalance.mul(marketingTaxTokens).div(totalTokensToSwap); uint256 ethForDev = ethBalance.mul(devTaxTokens).div(totalTokensToSwap); uint256 ethForLiquidity = ethBalance - ethForMark - ethForDev; lpTaxTokens = 0; marketingTaxTokens = 0; devTaxTokens = 0; (success, ) = address(devAddr).call{value: ethForDev}(""); if (lpTaxTokens > 0 && ethForLiquidity > 0) { addLiquidity(lpTaxTokens, ethForLiquidity); emit SwapAndLiquify( amountToSwapForETH, ethForLiquidity, lpTaxTokens ); } payable(marketingAddr).transfer(address(this).balance); } function isExcludedFees(address account) public view returns (bool) { return _isExcludedFees[account]; } }
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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","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":"tokensIntoLiquidity","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"UpdateUniswapV2Router","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyDevTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyLpTax","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":"devAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devTaxTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_deadBlocks","type":"uint256"}],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"hasTransferDelay","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpTaxTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingBuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingTaxTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairV2","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"routerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"routerV2","outputs":[{"internalType":"contract IUniswapRouterV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellDevTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellLpTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMarketingTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBuyFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSellFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","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"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c0604052600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d179055600a805462ffffff191660019081179091556019805460ff191690911790553480156200005657600080fd5b506040518060400160405280600a8152602001694d65746147616d65727360b01b8152506040518060400160405280600a8152602001694d45544147414d45525360b01b8152508160039081620000ae9190620008ab565b506004620000bd8282620008ab565b505050620000da620000d4620004d960201b60201c565b620004dd565b6006546001600160a01b0316620000f38160016200052f565b6001600160a01b03811660808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200013e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000164919062000977565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d8919062000977565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000226573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024c919062000977565b6001600160a01b031660a0819052620002679060016200052f565b60a05162000277906001620005a9565b6a14adf4b7320334b9000000600781905560095560126000808281806b033b2e3c9fd0803ce8000000612710620002b0826001620009bf565b620002bc9190620009df565b600855600e879055600f869055601085905584620002db878962000a02565b620002e7919062000a02565b600d556012849055601383905560148290558162000306848662000a02565b62000312919062000a02565b601155600a80546301000000600160b81b03191676e36e39c3be49ead5678baf6a4a61559e34357e3a000000179055600b8054336001600160a01b03199182168117909255600c80549091169091179055620003826200037a6005546001600160a01b031690565b6001620005fd565b6200038f306001620005fd565b6200039e61dead6001620005fd565b600a54620003be90630100000090046001600160a01b03166001620005fd565b600c54620003d7906001600160a01b03166001620005fd565b620003f6620003ee6005546001600160a01b031690565b60016200052f565b620004033060016200052f565b6200041261dead60016200052f565b600a546200043290630100000090046001600160a01b031660016200052f565b600c546200044b906001600160a01b031660016200052f565b6200046a620004626005546001600160a01b031690565b6001620006a7565b62000477306001620006a7565b6200048661dead6001620006a7565b600a54620004a690630100000090046001600160a01b03166001620006a7565b600c54620004bf906001600160a01b03166001620006a7565b620004cb33826200071d565b505050505050505062000a18565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6005546001600160a01b031633146200057e5760405162461bcd60e51b8152602060048201819052602482015260008051602062002ff883398151915260448201526064015b60405180910390fd5b6001600160a01b03919091166000908152601d60205260409020805460ff1916911515919091179055565b6001600160a01b0382166000818152601f6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6005546001600160a01b03163314620006485760405162461bcd60e51b8152602060048201819052602482015260008051602062002ff8833981519152604482015260640162000575565b6001600160a01b0382166000818152601c6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b03163314620006f25760405162461bcd60e51b8152602060048201819052602482015260008051602062002ff8833981519152604482015260640162000575565b6001600160a01b03919091166000908152601e60205260409020805460ff1916911515919091179055565b6001600160a01b038216620007755760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000575565b806002600082825462000789919062000a02565b90915550506001600160a01b03821660009081526020819052604081208054839290620007b890849062000a02565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200083257607f821691505b6020821081036200085357634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200080257600081815260208120601f850160051c81016020861015620008825750805b601f850160051c820191505b81811015620008a3578281556001016200088e565b505050505050565b81516001600160401b03811115620008c757620008c762000807565b620008df81620008d884546200081d565b8462000859565b602080601f831160018114620009175760008415620008fe5750858301515b600019600386901b1c1916600185901b178555620008a3565b600085815260208120601f198616915b82811015620009485788860151825594840194600190910190840162000927565b5085821015620009675787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200098a57600080fd5b81516001600160a01b0381168114620009a257600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620009d957620009d9620009a9565b92915050565b600082620009fd57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620009d957620009d9620009a9565b60805160a05161258962000a6f6000396000818161065001526113010152600081816104dc015281816112c301528181611f540152818161200d01528181612049015281816120c3015261212b01526125896000f3fe6080604052600436106102b25760003560e01c80638bc85f8b11610175578063b9e93700116100dc578063d2fcc00111610095578063dd62ed3e1161006f578063dd62ed3e14610854578063e96db1ef1461089a578063f2fde38b146108b0578063f32a9ab0146108d057600080fd5b8063d2fcc001146107fe578063d6b6327a1461081e578063da09c72c1461083457600080fd5b8063b9e9370014610766578063be6918831461077c578063c024666814610792578063c18bc195146107b2578063cef85139146107d2578063d0a39814146107e857600080fd5b8063a067f0331161012e578063a067f033146106a7578063a11a1add146106c1578063a457c2d7146106e0578063a9059cbb14610700578063af8f26e714610720578063b62496f51461073657600080fd5b80638bc85f8b146105ea5780638da5cb5b1461060a5780638f3fa860146106285780638fffabed1461063e57806395d89b41146106725780639dc29fac1461068757600080fd5b806342966c681161021957806370a08231116101d257806370a0823114610534578063715018a61461056a578063751039fc1461057f5780637571336a146105945780637e150d66146105b457806382aa7c68146105ca57600080fd5b806342966c681461045b5780634e221c271461047b5780634ed49269146104b4578063502f7446146104ca57806361e0c0f7146104fe5780636ddd17131461051457600080fd5b806323b872dd1161026b57806323b872dd14610386578063313ce567146103a65780633268cc56146103c25780633582ad23146103fa57806339509351146104145780633ff42b921461043457600080fd5b806306b9ec65146102be57806306fdde03146102e7578063095ea7b31461030957806318160ddd14610339578063203e727e1461034e5780632302a5d31461037057600080fd5b366102b957005b600080fd5b3480156102ca57600080fd5b506102d4600f5481565b6040519081526020015b60405180910390f35b3480156102f357600080fd5b506102fc6108e6565b6040516102de91906121a3565b34801561031557600080fd5b50610329610324366004612206565b610978565b60405190151581526020016102de565b34801561034557600080fd5b506002546102d4565b34801561035a57600080fd5b5061036e610369366004612232565b61098f565b005b34801561037c57600080fd5b506102d460135481565b34801561039257600080fd5b506103296103a136600461224b565b610a69565b3480156103b257600080fd5b50604051601281526020016102de565b3480156103ce57600080fd5b506006546103e2906001600160a01b031681565b6040516001600160a01b0390911681526020016102de565b34801561040657600080fd5b50600a546103299060ff1681565b34801561042057600080fd5b5061032961042f366004612206565b610b13565b34801561044057600080fd5b50600a546103e290630100000090046001600160a01b031681565b34801561046757600080fd5b5061036e610476366004612232565b610b4f565b34801561048757600080fd5b5061032961049636600461228c565b6001600160a01b03166000908152601c602052604090205460ff1690565b3480156104c057600080fd5b506102d460175481565b3480156104d657600080fd5b506103e27f000000000000000000000000000000000000000000000000000000000000000081565b34801561050a57600080fd5b506102d4600e5481565b34801561052057600080fd5b50600a546103299062010000900460ff1681565b34801561054057600080fd5b506102d461054f36600461228c565b6001600160a01b031660009081526020819052604090205490565b34801561057657600080fd5b5061036e610b5c565b34801561058b57600080fd5b50610329610b92565b3480156105a057600080fd5b5061036e6105af3660046122a9565b610bf7565b3480156105c057600080fd5b506102d460075481565b3480156105d657600080fd5b5061036e6105e5366004612232565b610c4c565b3480156105f657600080fd5b50600c546103e2906001600160a01b031681565b34801561061657600080fd5b506005546001600160a01b03166103e2565b34801561063457600080fd5b506102d460095481565b34801561064a57600080fd5b506103e27f000000000000000000000000000000000000000000000000000000000000000081565b34801561067e57600080fd5b506102fc610cd9565b34801561069357600080fd5b5061036e6106a2366004612206565b610ce8565b3480156106b357600080fd5b506019546103299060ff1681565b3480156106cd57600080fd5b50600a5461032990610100900460ff1681565b3480156106ec57600080fd5b506103296106fb366004612206565b610d12565b34801561070c57600080fd5b5061032961071b366004612206565b610dab565b34801561072c57600080fd5b506102d460105481565b34801561074257600080fd5b5061032961075136600461228c565b601f6020526000908152604090205460ff1681565b34801561077257600080fd5b506102d4600d5481565b34801561078857600080fd5b506102d460145481565b34801561079e57600080fd5b5061036e6107ad3660046122a9565b610db8565b3480156107be57600080fd5b5061036e6107cd366004612232565b610e41565b3480156107de57600080fd5b506102d460085481565b3480156107f457600080fd5b506102d460115481565b34801561080a57600080fd5b5061036e6108193660046122a9565b610f17565b34801561082a57600080fd5b506102d460165481565b34801561084057600080fd5b50600b546103e2906001600160a01b031681565b34801561086057600080fd5b506102d461086f3660046122e7565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156108a657600080fd5b506102d460125481565b3480156108bc57600080fd5b5061036e6108cb36600461228c565b610f6c565b3480156108dc57600080fd5b506102d460155481565b6060600380546108f590612315565b80601f016020809104026020016040519081016040528092919081815260200182805461092190612315565b801561096e5780601f106109435761010080835404028352916020019161096e565b820191906000526020600020905b81548152906001019060200180831161095157829003601f168201915b5050505050905090565b6000610985338484611004565b5060015b92915050565b6005546001600160a01b031633146109c25760405162461bcd60e51b81526004016109b99061234f565b60405180910390fd5b670de0b6b3a76400006103e86109d760025490565b6109e290600161239a565b6109ec91906123b1565b6109f691906123b1565b811015610a515760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d6178547853697a65206c6f776572207468616e20604482015263302e312560e01b60648201526084016109b9565b610a6381670de0b6b3a764000061239a565b60075550565b6000610a76848484611128565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610afb5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016109b9565b610b088533858403611004565b506001949350505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610985918590610b4a9086906123d3565b611004565b610b5933826119b6565b50565b6005546001600160a01b03163314610b865760405162461bcd60e51b81526004016109b99061234f565b610b906000611b04565b565b6005546000906001600160a01b03163314610bbf5760405162461bcd60e51b81526004016109b99061234f565b506001600e8190556000600f8190556010819055600d829055600a805460ff1916905560128290556013819055601455601181905590565b6005546001600160a01b03163314610c215760405162461bcd60e51b81526004016109b99061234f565b6001600160a01b03919091166000908152601d60205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610c765760405162461bcd60e51b81526004016109b99061234f565b600a54610100900460ff1615610cbf5760405162461bcd60e51b815260206004820152600e60248201526d151bdad95b881b185d5b98da195960921b60448201526064016109b9565b600a805443601a5562ffff00191662010100179055601b55565b6060600480546108f590612315565b336000908152601c602052604090205460ff16610d0457600080fd5b610d0e82826119b6565b5050565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610d945760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016109b9565b610da13385858403611004565b5060019392505050565b6000610985338484611128565b6005546001600160a01b03163314610de25760405162461bcd60e51b81526004016109b99061234f565b6001600160a01b0382166000818152601c6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b03163314610e6b5760405162461bcd60e51b81526004016109b99061234f565b670de0b6b3a76400006103e8610e8060025490565b610e8b90600561239a565b610e9591906123b1565b610e9f91906123b1565b811015610eff5760405162461bcd60e51b815260206004820152602860248201527f43616e6e6f7420736574206d617857616c6c657453697a65206c6f776572207460448201526768616e20302e352560c01b60648201526084016109b9565b610f1181670de0b6b3a764000061239a565b60095550565b6005546001600160a01b03163314610f415760405162461bcd60e51b81526004016109b99061234f565b6001600160a01b03919091166000908152601e60205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610f965760405162461bcd60e51b81526004016109b99061234f565b6001600160a01b038116610ffb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109b9565b610b5981611b04565b6001600160a01b0383166110665760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016109b9565b6001600160a01b0382166110c75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016109b9565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661114e5760405162461bcd60e51b81526004016109b9906123e6565b6001600160a01b0382166111745760405162461bcd60e51b81526004016109b99061242b565b8060000361118d5761118883836000611b56565b505050565b600a5460ff1615611674576005546001600160a01b038481169116148015906111c457506005546001600160a01b03838116911614155b80156111d857506001600160a01b03821615155b80156111ef57506001600160a01b03821661dead14155b80156112055750600654600160a01b900460ff16155b1561167457600a54610100900460ff1661129d576001600160a01b0383166000908152601c602052604090205460ff168061125857506001600160a01b0382166000908152601c602052604090205460ff165b61129d5760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016109b9565b60195460ff16156113e4576005546001600160a01b038381169116148015906112f857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b801561133657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b156113e4573260009081526018602052604090205443116113d15760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016109b9565b3260009081526018602052604090204390555b6001600160a01b0383166000908152601f602052604090205460ff16801561142557506001600160a01b0382166000908152601d602052604090205460ff16155b1561151e5760075481111561148f5760405162461bcd60e51b815260206004820152602a60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526936b0bc2a3c29b4bd329760b11b60648201526084016109b9565b6001600160a01b0382166000908152601e602052604090205460ff16611519576009546001600160a01b0383166000908152602081905260409020546114d590836123d3565b11156115195760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016109b9565b611674565b6001600160a01b0382166000908152601f602052604090205460ff16801561155f57506001600160a01b0383166000908152601d602052604090205460ff16155b156115ca576007548111156115195760405162461bcd60e51b815260206004820152602b60248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201526a1036b0bc2a3c29b4bd329760a91b60648201526084016109b9565b6001600160a01b0382166000908152601d602052604090205460ff16611674576001600160a01b0382166000908152601e602052604090205460ff16611674576009546001600160a01b03831660009081526020819052604090205461163090836123d3565b11156116745760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016109b9565b3060009081526020819052604090205460085481108015908190611699575060085483115b80156116ad5750600a5462010000900460ff165b80156116c35750600654600160a01b900460ff16155b80156116e857506001600160a01b0385166000908152601f602052604090205460ff16155b801561170d57506001600160a01b0385166000908152601c602052604090205460ff16155b801561173257506001600160a01b0384166000908152601c602052604090205460ff16155b15611760576006805460ff60a01b1916600160a01b179055611752611cab565b6006805460ff60a01b191690555b6006546001600160a01b0386166000908152601c602052604090205460ff600160a01b9092048216159116806117ae57506001600160a01b0385166000908152601c602052604090205460ff165b156117b7575060005b600081156119a2576001600160a01b0386166000908152601f602052604090205460ff1680156117e957506000601154115b156118a75761180e606461180860115488611ed290919063ffffffff16565b90611ee5565b905060115460135482611821919061239a565b61182b91906123b1565b6016600082825461183c91906123d3565b9091555050601154601454611851908361239a565b61185b91906123b1565b6017600082825461186c91906123d3565b9091555050601154601254611881908361239a565b61188b91906123b1565b6015600082825461189c91906123d3565b909155506119849050565b6001600160a01b0387166000908152601f602052604090205460ff1680156118d157506000600d54115b15611984576118f06064611808600d5488611ed290919063ffffffff16565b9050600d54600f5482611903919061239a565b61190d91906123b1565b6016600082825461191e91906123d3565b9091555050600d54601054611933908361239a565b61193d91906123b1565b6017600082825461194e91906123d3565b9091555050600d54600e54611963908361239a565b61196d91906123b1565b6015600082825461197e91906123d3565b90915550505b801561199557611995873083611b56565b61199f818661246e565b94505b6119ad878787611b56565b50505050505050565b6001600160a01b038216611a165760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016109b9565b6001600160a01b03821660009081526020819052604090205481811015611a8a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016109b9565b6001600160a01b0383166000908152602081905260408120838303905560028054849290611ab990849061246e565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038316611b7c5760405162461bcd60e51b81526004016109b9906123e6565b6001600160a01b038216611ba25760405162461bcd60e51b81526004016109b99061242b565b6001600160a01b03831660009081526020819052604090205481811015611c1a5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016109b9565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611c519084906123d3565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611c9d91815260200190565b60405180910390a350505050565b3060009081526020819052604081205490506000601754601554601654611cd291906123d3565b611cdc91906123d3565b90506000821580611ceb575081155b15611cf557505050565b600854611d0390601461239a565b831115611d1b57600854611d1890601461239a565b92505b600060028360165486611d2e919061239a565b611d3891906123b1565b611d4291906123b1565b90506000611d508583611ef1565b905047611d5c82611efd565b6000611d684783611ef1565b90506000611d858761180860155485611ed290919063ffffffff16565b90506000611da28861180860175486611ed290919063ffffffff16565b9050600081611db1848661246e565b611dbb919061246e565b600060158190556017819055600b546040519199509192506001600160a01b039091169083908981818185875af1925050503d8060008114611e19576040519150601f19603f3d011682016040523d82523d6000602084013e611e1e565b606091505b50909850508615801590611e325750600081115b15611e8357611e4187826120bd565b60408051878152602081018390529081018890527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15b600a546040516001600160a01b03630100000090920491909116904780156108fc02916000818181858888f19350505050158015611ec5573d6000803e3d6000fd5b5050505050505050505050565b6000611ede828461239a565b9392505050565b6000611ede82846123b1565b6000611ede828461246e565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611f3257611f32612481565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd49190612497565b81600181518110611fe757611fe7612481565b60200260200101906001600160a01b031690816001600160a01b031681525050612032307f000000000000000000000000000000000000000000000000000000000000000084611004565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac947906120879085906000908690309042906004016124b4565b600060405180830381600087803b1580156120a157600080fd5b505af11580156120b5573d6000803e3d6000fd5b505050505050565b6120e8307f000000000000000000000000000000000000000000000000000000000000000084611004565b600c5460405163f305d71960e01b81523060048201526024810184905260006044820181905260648201526001600160a01b0391821660848201524260a48201527f00000000000000000000000000000000000000000000000000000000000000009091169063f305d71990839060c40160606040518083038185885af1158015612177573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061219c9190612525565b5050505050565b600060208083528351808285015260005b818110156121d0578581018301518582016040015282016121b4565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610b5957600080fd5b6000806040838503121561221957600080fd5b8235612224816121f1565b946020939093013593505050565b60006020828403121561224457600080fd5b5035919050565b60008060006060848603121561226057600080fd5b833561226b816121f1565b9250602084013561227b816121f1565b929592945050506040919091013590565b60006020828403121561229e57600080fd5b8135611ede816121f1565b600080604083850312156122bc57600080fd5b82356122c7816121f1565b9150602083013580151581146122dc57600080fd5b809150509250929050565b600080604083850312156122fa57600080fd5b8235612305816121f1565b915060208301356122dc816121f1565b600181811c9082168061232957607f821691505b60208210810361234957634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761098957610989612384565b6000826123ce57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561098957610989612384565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561098957610989612384565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156124a957600080fd5b8151611ede816121f1565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156125045784516001600160a01b0316835293830193918301916001016124df565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561253a57600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212204c92b60e3882bd7dfab4ed447baceae083893564567d40f33f4a73412f5ea18864736f6c634300081300334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
Deployed Bytecode
0x6080604052600436106102b25760003560e01c80638bc85f8b11610175578063b9e93700116100dc578063d2fcc00111610095578063dd62ed3e1161006f578063dd62ed3e14610854578063e96db1ef1461089a578063f2fde38b146108b0578063f32a9ab0146108d057600080fd5b8063d2fcc001146107fe578063d6b6327a1461081e578063da09c72c1461083457600080fd5b8063b9e9370014610766578063be6918831461077c578063c024666814610792578063c18bc195146107b2578063cef85139146107d2578063d0a39814146107e857600080fd5b8063a067f0331161012e578063a067f033146106a7578063a11a1add146106c1578063a457c2d7146106e0578063a9059cbb14610700578063af8f26e714610720578063b62496f51461073657600080fd5b80638bc85f8b146105ea5780638da5cb5b1461060a5780638f3fa860146106285780638fffabed1461063e57806395d89b41146106725780639dc29fac1461068757600080fd5b806342966c681161021957806370a08231116101d257806370a0823114610534578063715018a61461056a578063751039fc1461057f5780637571336a146105945780637e150d66146105b457806382aa7c68146105ca57600080fd5b806342966c681461045b5780634e221c271461047b5780634ed49269146104b4578063502f7446146104ca57806361e0c0f7146104fe5780636ddd17131461051457600080fd5b806323b872dd1161026b57806323b872dd14610386578063313ce567146103a65780633268cc56146103c25780633582ad23146103fa57806339509351146104145780633ff42b921461043457600080fd5b806306b9ec65146102be57806306fdde03146102e7578063095ea7b31461030957806318160ddd14610339578063203e727e1461034e5780632302a5d31461037057600080fd5b366102b957005b600080fd5b3480156102ca57600080fd5b506102d4600f5481565b6040519081526020015b60405180910390f35b3480156102f357600080fd5b506102fc6108e6565b6040516102de91906121a3565b34801561031557600080fd5b50610329610324366004612206565b610978565b60405190151581526020016102de565b34801561034557600080fd5b506002546102d4565b34801561035a57600080fd5b5061036e610369366004612232565b61098f565b005b34801561037c57600080fd5b506102d460135481565b34801561039257600080fd5b506103296103a136600461224b565b610a69565b3480156103b257600080fd5b50604051601281526020016102de565b3480156103ce57600080fd5b506006546103e2906001600160a01b031681565b6040516001600160a01b0390911681526020016102de565b34801561040657600080fd5b50600a546103299060ff1681565b34801561042057600080fd5b5061032961042f366004612206565b610b13565b34801561044057600080fd5b50600a546103e290630100000090046001600160a01b031681565b34801561046757600080fd5b5061036e610476366004612232565b610b4f565b34801561048757600080fd5b5061032961049636600461228c565b6001600160a01b03166000908152601c602052604090205460ff1690565b3480156104c057600080fd5b506102d460175481565b3480156104d657600080fd5b506103e27f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b34801561050a57600080fd5b506102d4600e5481565b34801561052057600080fd5b50600a546103299062010000900460ff1681565b34801561054057600080fd5b506102d461054f36600461228c565b6001600160a01b031660009081526020819052604090205490565b34801561057657600080fd5b5061036e610b5c565b34801561058b57600080fd5b50610329610b92565b3480156105a057600080fd5b5061036e6105af3660046122a9565b610bf7565b3480156105c057600080fd5b506102d460075481565b3480156105d657600080fd5b5061036e6105e5366004612232565b610c4c565b3480156105f657600080fd5b50600c546103e2906001600160a01b031681565b34801561061657600080fd5b506005546001600160a01b03166103e2565b34801561063457600080fd5b506102d460095481565b34801561064a57600080fd5b506103e27f00000000000000000000000097ee32b0f68002ed173fcc28003fa3726947b5e481565b34801561067e57600080fd5b506102fc610cd9565b34801561069357600080fd5b5061036e6106a2366004612206565b610ce8565b3480156106b357600080fd5b506019546103299060ff1681565b3480156106cd57600080fd5b50600a5461032990610100900460ff1681565b3480156106ec57600080fd5b506103296106fb366004612206565b610d12565b34801561070c57600080fd5b5061032961071b366004612206565b610dab565b34801561072c57600080fd5b506102d460105481565b34801561074257600080fd5b5061032961075136600461228c565b601f6020526000908152604090205460ff1681565b34801561077257600080fd5b506102d4600d5481565b34801561078857600080fd5b506102d460145481565b34801561079e57600080fd5b5061036e6107ad3660046122a9565b610db8565b3480156107be57600080fd5b5061036e6107cd366004612232565b610e41565b3480156107de57600080fd5b506102d460085481565b3480156107f457600080fd5b506102d460115481565b34801561080a57600080fd5b5061036e6108193660046122a9565b610f17565b34801561082a57600080fd5b506102d460165481565b34801561084057600080fd5b50600b546103e2906001600160a01b031681565b34801561086057600080fd5b506102d461086f3660046122e7565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156108a657600080fd5b506102d460125481565b3480156108bc57600080fd5b5061036e6108cb36600461228c565b610f6c565b3480156108dc57600080fd5b506102d460155481565b6060600380546108f590612315565b80601f016020809104026020016040519081016040528092919081815260200182805461092190612315565b801561096e5780601f106109435761010080835404028352916020019161096e565b820191906000526020600020905b81548152906001019060200180831161095157829003601f168201915b5050505050905090565b6000610985338484611004565b5060015b92915050565b6005546001600160a01b031633146109c25760405162461bcd60e51b81526004016109b99061234f565b60405180910390fd5b670de0b6b3a76400006103e86109d760025490565b6109e290600161239a565b6109ec91906123b1565b6109f691906123b1565b811015610a515760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d6178547853697a65206c6f776572207468616e20604482015263302e312560e01b60648201526084016109b9565b610a6381670de0b6b3a764000061239a565b60075550565b6000610a76848484611128565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610afb5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016109b9565b610b088533858403611004565b506001949350505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610985918590610b4a9086906123d3565b611004565b610b5933826119b6565b50565b6005546001600160a01b03163314610b865760405162461bcd60e51b81526004016109b99061234f565b610b906000611b04565b565b6005546000906001600160a01b03163314610bbf5760405162461bcd60e51b81526004016109b99061234f565b506001600e8190556000600f8190556010819055600d829055600a805460ff1916905560128290556013819055601455601181905590565b6005546001600160a01b03163314610c215760405162461bcd60e51b81526004016109b99061234f565b6001600160a01b03919091166000908152601d60205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610c765760405162461bcd60e51b81526004016109b99061234f565b600a54610100900460ff1615610cbf5760405162461bcd60e51b815260206004820152600e60248201526d151bdad95b881b185d5b98da195960921b60448201526064016109b9565b600a805443601a5562ffff00191662010100179055601b55565b6060600480546108f590612315565b336000908152601c602052604090205460ff16610d0457600080fd5b610d0e82826119b6565b5050565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610d945760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016109b9565b610da13385858403611004565b5060019392505050565b6000610985338484611128565b6005546001600160a01b03163314610de25760405162461bcd60e51b81526004016109b99061234f565b6001600160a01b0382166000818152601c6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b03163314610e6b5760405162461bcd60e51b81526004016109b99061234f565b670de0b6b3a76400006103e8610e8060025490565b610e8b90600561239a565b610e9591906123b1565b610e9f91906123b1565b811015610eff5760405162461bcd60e51b815260206004820152602860248201527f43616e6e6f7420736574206d617857616c6c657453697a65206c6f776572207460448201526768616e20302e352560c01b60648201526084016109b9565b610f1181670de0b6b3a764000061239a565b60095550565b6005546001600160a01b03163314610f415760405162461bcd60e51b81526004016109b99061234f565b6001600160a01b03919091166000908152601e60205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610f965760405162461bcd60e51b81526004016109b99061234f565b6001600160a01b038116610ffb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109b9565b610b5981611b04565b6001600160a01b0383166110665760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016109b9565b6001600160a01b0382166110c75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016109b9565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661114e5760405162461bcd60e51b81526004016109b9906123e6565b6001600160a01b0382166111745760405162461bcd60e51b81526004016109b99061242b565b8060000361118d5761118883836000611b56565b505050565b600a5460ff1615611674576005546001600160a01b038481169116148015906111c457506005546001600160a01b03838116911614155b80156111d857506001600160a01b03821615155b80156111ef57506001600160a01b03821661dead14155b80156112055750600654600160a01b900460ff16155b1561167457600a54610100900460ff1661129d576001600160a01b0383166000908152601c602052604090205460ff168061125857506001600160a01b0382166000908152601c602052604090205460ff165b61129d5760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016109b9565b60195460ff16156113e4576005546001600160a01b038381169116148015906112f857507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316826001600160a01b031614155b801561133657507f00000000000000000000000097ee32b0f68002ed173fcc28003fa3726947b5e46001600160a01b0316826001600160a01b031614155b156113e4573260009081526018602052604090205443116113d15760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016109b9565b3260009081526018602052604090204390555b6001600160a01b0383166000908152601f602052604090205460ff16801561142557506001600160a01b0382166000908152601d602052604090205460ff16155b1561151e5760075481111561148f5760405162461bcd60e51b815260206004820152602a60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526936b0bc2a3c29b4bd329760b11b60648201526084016109b9565b6001600160a01b0382166000908152601e602052604090205460ff16611519576009546001600160a01b0383166000908152602081905260409020546114d590836123d3565b11156115195760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016109b9565b611674565b6001600160a01b0382166000908152601f602052604090205460ff16801561155f57506001600160a01b0383166000908152601d602052604090205460ff16155b156115ca576007548111156115195760405162461bcd60e51b815260206004820152602b60248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201526a1036b0bc2a3c29b4bd329760a91b60648201526084016109b9565b6001600160a01b0382166000908152601d602052604090205460ff16611674576001600160a01b0382166000908152601e602052604090205460ff16611674576009546001600160a01b03831660009081526020819052604090205461163090836123d3565b11156116745760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016109b9565b3060009081526020819052604090205460085481108015908190611699575060085483115b80156116ad5750600a5462010000900460ff165b80156116c35750600654600160a01b900460ff16155b80156116e857506001600160a01b0385166000908152601f602052604090205460ff16155b801561170d57506001600160a01b0385166000908152601c602052604090205460ff16155b801561173257506001600160a01b0384166000908152601c602052604090205460ff16155b15611760576006805460ff60a01b1916600160a01b179055611752611cab565b6006805460ff60a01b191690555b6006546001600160a01b0386166000908152601c602052604090205460ff600160a01b9092048216159116806117ae57506001600160a01b0385166000908152601c602052604090205460ff165b156117b7575060005b600081156119a2576001600160a01b0386166000908152601f602052604090205460ff1680156117e957506000601154115b156118a75761180e606461180860115488611ed290919063ffffffff16565b90611ee5565b905060115460135482611821919061239a565b61182b91906123b1565b6016600082825461183c91906123d3565b9091555050601154601454611851908361239a565b61185b91906123b1565b6017600082825461186c91906123d3565b9091555050601154601254611881908361239a565b61188b91906123b1565b6015600082825461189c91906123d3565b909155506119849050565b6001600160a01b0387166000908152601f602052604090205460ff1680156118d157506000600d54115b15611984576118f06064611808600d5488611ed290919063ffffffff16565b9050600d54600f5482611903919061239a565b61190d91906123b1565b6016600082825461191e91906123d3565b9091555050600d54601054611933908361239a565b61193d91906123b1565b6017600082825461194e91906123d3565b9091555050600d54600e54611963908361239a565b61196d91906123b1565b6015600082825461197e91906123d3565b90915550505b801561199557611995873083611b56565b61199f818661246e565b94505b6119ad878787611b56565b50505050505050565b6001600160a01b038216611a165760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016109b9565b6001600160a01b03821660009081526020819052604090205481811015611a8a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016109b9565b6001600160a01b0383166000908152602081905260408120838303905560028054849290611ab990849061246e565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038316611b7c5760405162461bcd60e51b81526004016109b9906123e6565b6001600160a01b038216611ba25760405162461bcd60e51b81526004016109b99061242b565b6001600160a01b03831660009081526020819052604090205481811015611c1a5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016109b9565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611c519084906123d3565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611c9d91815260200190565b60405180910390a350505050565b3060009081526020819052604081205490506000601754601554601654611cd291906123d3565b611cdc91906123d3565b90506000821580611ceb575081155b15611cf557505050565b600854611d0390601461239a565b831115611d1b57600854611d1890601461239a565b92505b600060028360165486611d2e919061239a565b611d3891906123b1565b611d4291906123b1565b90506000611d508583611ef1565b905047611d5c82611efd565b6000611d684783611ef1565b90506000611d858761180860155485611ed290919063ffffffff16565b90506000611da28861180860175486611ed290919063ffffffff16565b9050600081611db1848661246e565b611dbb919061246e565b600060158190556017819055600b546040519199509192506001600160a01b039091169083908981818185875af1925050503d8060008114611e19576040519150601f19603f3d011682016040523d82523d6000602084013e611e1e565b606091505b50909850508615801590611e325750600081115b15611e8357611e4187826120bd565b60408051878152602081018390529081018890527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15b600a546040516001600160a01b03630100000090920491909116904780156108fc02916000818181858888f19350505050158015611ec5573d6000803e3d6000fd5b5050505050505050505050565b6000611ede828461239a565b9392505050565b6000611ede82846123b1565b6000611ede828461246e565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611f3257611f32612481565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd49190612497565b81600181518110611fe757611fe7612481565b60200260200101906001600160a01b031690816001600160a01b031681525050612032307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611004565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac947906120879085906000908690309042906004016124b4565b600060405180830381600087803b1580156120a157600080fd5b505af11580156120b5573d6000803e3d6000fd5b505050505050565b6120e8307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611004565b600c5460405163f305d71960e01b81523060048201526024810184905260006044820181905260648201526001600160a01b0391821660848201524260a48201527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d9091169063f305d71990839060c40160606040518083038185885af1158015612177573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061219c9190612525565b5050505050565b600060208083528351808285015260005b818110156121d0578581018301518582016040015282016121b4565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610b5957600080fd5b6000806040838503121561221957600080fd5b8235612224816121f1565b946020939093013593505050565b60006020828403121561224457600080fd5b5035919050565b60008060006060848603121561226057600080fd5b833561226b816121f1565b9250602084013561227b816121f1565b929592945050506040919091013590565b60006020828403121561229e57600080fd5b8135611ede816121f1565b600080604083850312156122bc57600080fd5b82356122c7816121f1565b9150602083013580151581146122dc57600080fd5b809150509250929050565b600080604083850312156122fa57600080fd5b8235612305816121f1565b915060208301356122dc816121f1565b600181811c9082168061232957607f821691505b60208210810361234957634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761098957610989612384565b6000826123ce57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561098957610989612384565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561098957610989612384565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156124a957600080fd5b8151611ede816121f1565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156125045784516001600160a01b0316835293830193918301916001016124df565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561253a57600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212204c92b60e3882bd7dfab4ed447baceae083893564567d40f33f4a73412f5ea18864736f6c63430008130033
Deployed Bytecode Sourcemap
11066:14150:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11732:23;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;11732:23:0;;;;;;;;5453:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;6367:169::-;;;;;;;;;;-1:-1:-1;6367:169:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;6367:169:0;1205:187:1;5774:108:0;;;;;;;;;;-1:-1:-1;5862:12:0;;5774:108;;21753:253;;;;;;;;;;-1:-1:-1;21753:253:0;;;;;:::i;:::-;;:::i;:::-;;11868:24;;;;;;;;;;;;;;;;6544:492;;;;;;;;;;-1:-1:-1;6544:492:0;;;;;:::i;:::-;;:::i;5673:93::-;;;;;;;;;;-1:-1:-1;5673:93:0;;5756:2;2185:36:1;;2173:2;2158:18;5673:93:0;2043:184:1;11233:73:0;;;;;;;;;;-1:-1:-1;11233:73:0;;;;-1:-1:-1;;;;;11233:73:0;;;;;;-1:-1:-1;;;;;2396:32:1;;;2378:51;;2366:2;2351:18;11233:73:0;2232:203:1;11452:32:0;;;;;;;;;;-1:-1:-1;11452:32:0;;;;;;;;7044:215;;;;;;;;;;-1:-1:-1;7044:215:0;;;;;:::i;:::-;;:::i;11567:28::-;;;;;;;;;;-1:-1:-1;11567:28:0;;;;;;;-1:-1:-1;;;;;11567:28:0;;;16708:81;;;;;;;;;;-1:-1:-1;16708:81:0;;;;;:::i;:::-;;:::i;25095:118::-;;;;;;;;;;-1:-1:-1;25095:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;25181:24:0;25157:4;25181:24;;;:15;:24;;;;;;;;;25095:118;12006:27;;;;;;;;;;;;;;;;11146:42;;;;;;;;;;;;;;;11695:30;;;;;;;;;;;;;;;;11527:31;;;;;;;;;;-1:-1:-1;11527:31:0;;;;;;;;;;;5890:127;;;;;;;;;;-1:-1:-1;5890:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;5991:18:0;5964:7;5991:18;;;;;;;;;;;;5890:127;10550:103;;;;;;;;;;;;;:::i;15775:334::-;;;;;;;;;;;;;:::i;16389:152::-;;;;;;;;;;-1:-1:-1;16389:152:0;;;;;:::i;:::-;;:::i;11343:24::-;;;;;;;;;;;;;;;;15476:247;;;;;;;;;;-1:-1:-1;15476:247:0;;;;;:::i;:::-;;:::i;11631:21::-;;;;;;;;;;-1:-1:-1;11631:21:0;;;;-1:-1:-1;;;;;11631:21:0;;;10327:87;;;;;;;;;;-1:-1:-1;10400:6:0;;-1:-1:-1;;;;;10400:6:0;10327:87;;11415:28;;;;;;;;;;;;;;;;11195:31;;;;;;;;;;;;;;;5561:104;;;;;;;;;;;;;:::i;16797:109::-;;;;;;;;;;-1:-1:-1;16797:109:0;;;;;:::i;:::-;;:::i;12159:35::-;;;;;;;;;;-1:-1:-1;12159:35:0;;;;;;;;11491:29;;;;;;;;;;-1:-1:-1;11491:29:0;;;;;;;;;;;7267:413;;;;;;;;;;-1:-1:-1;7267:413:0;;;;;:::i;:::-;;:::i;6025:175::-;;;;;;;;;;-1:-1:-1;6025:175:0;;;;;:::i;:::-;;:::i;11762:24::-;;;;;;;;;;;;;;;;12443:57;;;;;;;;;;-1:-1:-1;12443:57:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11661:27;;;;;;;;;;;;;;;;11899:25;;;;;;;;;;;;;;;;22016:178;;;;;;;;;;-1:-1:-1;22016:178:0;;;;;:::i;:::-;;:::i;16117:264::-;;;;;;;;;;-1:-1:-1;16117:264:0;;;;;:::i;:::-;;:::i;11374:34::-;;;;;;;;;;;;;;;;11795:28;;;;;;;;;;;;;;;;16549:151;;;;;;;;;;-1:-1:-1;16549:151:0;;;;;:::i;:::-;;:::i;11973:26::-;;;;;;;;;;;;;;;;11602:22;;;;;;;;;;-1:-1:-1;11602:22:0;;;;-1:-1:-1;;;;;11602:22:0;;;6208:151;;;;;;;;;;-1:-1:-1;6208:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;6324:18:0;;;6297:7;6324:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6208:151;11830:31;;;;;;;;;;;;;;;;10661:201;;;;;;;;;;-1:-1:-1;10661:201:0;;;;;:::i;:::-;;:::i;11933:33::-;;;;;;;;;;;;;;;;5453:100;5507:13;5540:5;5533:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5453:100;:::o;6367:169::-;6450:4;6467:39;441:10;6490:7;6499:6;6467:8;:39::i;:::-;-1:-1:-1;6524:4:0;6367:169;;;;;:::o;21753:253::-;10400:6;;-1:-1:-1;;;;;10400:6:0;441:10;10462:23;10454:68;;;;-1:-1:-1;;;10454:68:0;;;;;;;:::i;:::-;;;;;;;;;21890:4:::1;21882;21861:13;5862:12:::0;;;5774:108;21861:13:::1;:17;::::0;21877:1:::1;21861:17;:::i;:::-;21860:26;;;;:::i;:::-;21859:35;;;;:::i;:::-;21849:6;:45;;21827:131;;;::::0;-1:-1:-1;;;21827:131:0;;5213:2:1;21827:131:0::1;::::0;::::1;5195:21:1::0;5252:2;5232:18;;;5225:30;5291:34;5271:18;;;5264:62;-1:-1:-1;;;5342:18:1;;;5335:34;5386:19;;21827:131:0::1;5011:400:1::0;21827:131:0::1;21981:17;:6:::0;21991::::1;21981:17;:::i;:::-;21969:9;:29:::0;-1:-1:-1;21753:253:0:o;6544:492::-;6684:4;6701:36;6711:6;6719:9;6730:6;6701:9;:36::i;:::-;-1:-1:-1;;;;;6777:19:0;;6750:24;6777:19;;;:11;:19;;;;;;;;441:10;6777:33;;;;;;;;6829:26;;;;6821:79;;;;-1:-1:-1;;;6821:79:0;;5618:2:1;6821:79:0;;;5600:21:1;5657:2;5637:18;;;5630:30;5696:34;5676:18;;;5669:62;-1:-1:-1;;;5747:18:1;;;5740:38;5795:19;;6821:79:0;5416:404:1;6821:79:0;6936:57;6945:6;441:10;6986:6;6967:16;:25;6936:8;:57::i;:::-;-1:-1:-1;7024:4:0;;6544:492;-1:-1:-1;;;;6544:492:0:o;7044:215::-;441:10;7132:4;7181:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;7181:34:0;;;;;;;;;;7132:4;;7149:80;;7172:7;;7181:47;;7218:10;;7181:47;:::i;:::-;7149:8;:80::i;16708:81::-;16756:25;16762:10;16774:6;16756:5;:25::i;:::-;16708:81;:::o;10550:103::-;10400:6;;-1:-1:-1;;;;;10400:6:0;441:10;10462:23;10454:68;;;;-1:-1:-1;;;10454:68:0;;;;;;;:::i;:::-;10615:30:::1;10642:1;10615:18;:30::i;:::-;10550:103::o:0;15775:334::-;10400:6;;15827:4;;-1:-1:-1;;;;;10400:6:0;441:10;10462:23;10454:68;;;;-1:-1:-1;;;10454:68:0;;;;;;;:::i;:::-;-1:-1:-1;15862:1:0::1;15844:15;:19:::0;;;15885:1:::1;15874:8;:12:::0;;;15897:9:::1;:13:::0;;;15921:12:::1;:16:::0;;;15948:13:::1;:21:::0;;-1:-1:-1;;15948:21:0::1;::::0;;15982:16:::1;:20:::0;;;16013:9:::1;:13:::0;;;16037:10:::1;:14:::0;16062:13:::1;:17:::0;;;15775:334;:::o;16389:152::-;10400:6;;-1:-1:-1;;;;;10400:6:0;441:10;10462:23;10454:68;;;;-1:-1:-1;;;10454:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16502:24:0;;;::::1;;::::0;;;:16:::1;:24;::::0;;;;:31;;-1:-1:-1;;16502:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16389:152::o;15476:247::-;10400:6;;-1:-1:-1;;;;;10400:6:0;441:10;10462:23;10454:68;;;;-1:-1:-1;;;10454:68:0;;;;;;;:::i;:::-;15559:9:::1;::::0;::::1;::::0;::::1;;;15558:10;15550:37;;;::::0;-1:-1:-1;;;15550:37:0;;6157:2:1;15550:37:0::1;::::0;::::1;6139:21:1::0;6196:2;6176:18;;;6169:30;-1:-1:-1;;;6215:18:1;;;6208:44;6269:18;;15550:37:0::1;5955:338:1::0;15550:37:0::1;15598:9;:16:::0;;15639:12:::1;15625:11;:26:::0;-1:-1:-1;;15662:18:0;;;;;15691:10:::1;:24:::0;15476:247::o;5561:104::-;5617:13;5650:7;5643:14;;;;;:::i;16797:109::-;12973:10;25157:4;25181:24;;;:15;:24;;;;;;;;12950:35;;;;;;16876:22:::1;16882:7;16891:6;16876:5;:22::i;:::-;16797:109:::0;;:::o;7267:413::-;441:10;7360:4;7404:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;7404:34:0;;;;;;;;;;7457:35;;;;7449:85;;;;-1:-1:-1;;;7449:85:0;;6500:2:1;7449:85:0;;;6482:21:1;6539:2;6519:18;;;6512:30;6578:34;6558:18;;;6551:62;-1:-1:-1;;;6629:18:1;;;6622:35;6674:19;;7449:85:0;6298:401:1;7449:85:0;7570:67;441:10;7593:7;7621:15;7602:16;:34;7570:8;:67::i;:::-;-1:-1:-1;7668:4:0;;7267:413;-1:-1:-1;;;7267:413:0:o;6025:175::-;6111:4;6128:42;441:10;6152:9;6163:6;6128:9;:42::i;22016:178::-;10400:6;;-1:-1:-1;;;;;10400:6:0;441:10;10462:23;10454:68;;;;-1:-1:-1;;;10454:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22101:24:0;::::1;;::::0;;;:15:::1;:24;::::0;;;;;;;;:35;;-1:-1:-1;;22101:35:0::1;::::0;::::1;;::::0;;::::1;::::0;;;22152:34;;1345:41:1;;;22152:34:0::1;::::0;1318:18:1;22152:34:0::1;;;;;;;22016:178:::0;;:::o;16117:264::-;10400:6;;-1:-1:-1;;;;;10400:6:0;441:10;10462:23;10454:68;;;;-1:-1:-1;;;10454:68:0;;;;;;;:::i;:::-;16257:4:::1;16249;16228:13;5862:12:::0;;;5774:108;16228:13:::1;:17;::::0;16244:1:::1;16228:17;:::i;:::-;16227:26;;;;:::i;:::-;16226:35;;;;:::i;:::-;16216:6;:45;;16194:135;;;::::0;-1:-1:-1;;;16194:135:0;;6906:2:1;16194:135:0::1;::::0;::::1;6888:21:1::0;6945:2;6925:18;;;6918:30;6984:34;6964:18;;;6957:62;-1:-1:-1;;;7035:18:1;;;7028:38;7083:19;;16194:135:0::1;6704:404:1::0;16194:135:0::1;16356:17;:6:::0;16366::::1;16356:17;:::i;:::-;16340:13;:33:::0;-1:-1:-1;16117:264:0:o;16549:151::-;10400:6;;-1:-1:-1;;;;;10400:6:0;441:10;10462:23;10454:68;;;;-1:-1:-1;;;10454:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16657:28:0;;;::::1;;::::0;;;:20:::1;:28;::::0;;;;:35;;-1:-1:-1;;16657:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16549:151::o;10661:201::-;10400:6;;-1:-1:-1;;;;;10400:6:0;441:10;10462:23;10454:68;;;;-1:-1:-1;;;10454:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10750:22:0;::::1;10742:73;;;::::0;-1:-1:-1;;;10742:73:0;;7315:2:1;10742:73:0::1;::::0;::::1;7297:21:1::0;7354:2;7334:18;;;7327:30;7393:34;7373:18;;;7366:62;-1:-1:-1;;;7444:18:1;;;7437:36;7490:19;;10742:73:0::1;7113:402:1::0;10742:73:0::1;10826:28;10845:8;10826:18;:28::i;9435:380::-:0;-1:-1:-1;;;;;9571:19:0;;9563:68;;;;-1:-1:-1;;;9563:68:0;;7722:2:1;9563:68:0;;;7704:21:1;7761:2;7741:18;;;7734:30;7800:34;7780:18;;;7773:62;-1:-1:-1;;;7851:18:1;;;7844:34;7895:19;;9563:68:0;7520:400:1;9563:68:0;-1:-1:-1;;;;;9650:21:0;;9642:68;;;;-1:-1:-1;;;9642:68:0;;8127:2:1;9642:68:0;;;8109:21:1;8166:2;8146:18;;;8139:30;8205:34;8185:18;;;8178:62;-1:-1:-1;;;8256:18:1;;;8249:32;8298:19;;9642:68:0;7925:398:1;9642:68:0;-1:-1:-1;;;;;9723:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9775:32;;160:25:1;;;9775:32:0;;133:18:1;9775:32:0;;;;;;;9435:380;;;:::o;16914:4827::-;-1:-1:-1;;;;;17046:18:0;;17038:68;;;;-1:-1:-1;;;17038:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17125:16:0;;17117:64;;;;-1:-1:-1;;;17117:64:0;;;;;;;:::i;:::-;17198:6;17208:1;17198:11;17194:93;;17226:28;17242:4;17248:2;17252:1;17226:15;:28::i;:::-;16914:4827;;;:::o;17194:93::-;17303:13;;;;17299:2591;;;10400:6;;-1:-1:-1;;;;;17355:15:0;;;10400:6;;17355:15;;;;:49;;-1:-1:-1;10400:6:0;;-1:-1:-1;;;;;17391:13:0;;;10400:6;;17391:13;;17355:49;:86;;;;-1:-1:-1;;;;;;17425:16:0;;;;17355:86;:128;;;;-1:-1:-1;;;;;;17462:21:0;;17476:6;17462:21;;17355:128;:158;;;;-1:-1:-1;17505:8:0;;-1:-1:-1;;;17505:8:0;;;;17504:9;17355:158;17333:2546;;;17553:9;;;;;;;17548:211;;-1:-1:-1;;;;;17621:21:0;;;;;;:15;:21;;;;;;;;;:44;;-1:-1:-1;;;;;;17646:19:0;;;;;;:15;:19;;;;;;;;17621:44;17587:152;;;;-1:-1:-1;;;17587:152:0;;9340:2:1;17587:152:0;;;9322:21:1;9379:2;9359:18;;;9352:30;-1:-1:-1;;;9398:18:1;;;9391:52;9460:18;;17587:152:0;9138:346:1;17587:152:0;17915:16;;;;17911:605;;;10400:6;;-1:-1:-1;;;;;17986:13:0;;;10400:6;;17986:13;;;;:65;;;18042:8;-1:-1:-1;;;;;18028:23:0;:2;-1:-1:-1;;;;;18028:23:0;;;17986:65;:115;;;;;18094:6;-1:-1:-1;;;;;18080:21:0;:2;-1:-1:-1;;;;;18080:21:0;;;17986:115;17956:541;;;18210:9;18190:30;;;;:19;:30;;;;;;18256:12;-1:-1:-1;18152:249:0;;;;-1:-1:-1;;;18152:249:0;;9691:2:1;18152:249:0;;;9673:21:1;9730:2;9710:18;;;9703:30;9769:34;9749:18;;;9742:62;9840:34;9820:18;;;9813:62;-1:-1:-1;;;9891:19:1;;;9884:40;9941:19;;18152:249:0;9489:477:1;18152:249:0;18448:9;18428:30;;;;:19;:30;;;;;18461:12;18428:45;;17956:541;-1:-1:-1;;;;;18590:31:0;;;;;;:25;:31;;;;;;;;:77;;;;-1:-1:-1;;;;;;18647:20:0;;;;;;:16;:20;;;;;;;;18646:21;18590:77;18564:1300;;;18754:9;;18744:6;:19;;18710:147;;;;-1:-1:-1;;;18710:147:0;;10173:2:1;18710:147:0;;;10155:21:1;10212:2;10192:18;;;10185:30;10251:34;10231:18;;;10224:62;-1:-1:-1;;;10302:18:1;;;10295:40;10352:19;;18710:147:0;9971:406:1;18710:147:0;-1:-1:-1;;;;;18885:24:0;;;;;;:20;:24;;;;;;;;18880:262;;19026:13;;-1:-1:-1;;;;;5991:18:0;;5964:7;5991:18;;;;;;;;;;;19000:22;;:6;:22;:::i;:::-;:39;;18962:156;;;;-1:-1:-1;;;18962:156:0;;10584:2:1;18962:156:0;;;10566:21:1;10623:2;10603:18;;;10596:30;-1:-1:-1;;;10642:18:1;;;10635:49;10701:18;;18962:156:0;10382:343:1;18962:156:0;18564:1300;;;-1:-1:-1;;;;;19239:29:0;;;;;;:25;:29;;;;;;;;:77;;;;-1:-1:-1;;;;;;19294:22:0;;;;;;:16;:22;;;;;;;;19293:23;19239:77;19213:651;;;19403:9;;19393:6;:19;;19359:148;;;;-1:-1:-1;;;19359:148:0;;10932:2:1;19359:148:0;;;10914:21:1;10971:2;10951:18;;;10944:30;11010:34;10990:18;;;10983:62;-1:-1:-1;;;11061:18:1;;;11054:41;11112:19;;19359:148:0;10730:407:1;19213:651:0;-1:-1:-1;;;;;19538:20:0;;;;;;:16;:20;;;;;;;;19533:331;;-1:-1:-1;;;;;19588:24:0;;;;;;:20;:24;;;;;;;;19583:262;;19729:13;;-1:-1:-1;;;;;5991:18:0;;5964:7;5991:18;;;;;;;;;;;19703:22;;:6;:22;:::i;:::-;:39;;19665:156;;;;-1:-1:-1;;;19665:156:0;;10584:2:1;19665:156:0;;;10566:21:1;10623:2;10603:18;;;10596:30;-1:-1:-1;;;10642:18:1;;;10635:49;10701:18;;19665:156:0;10382:343:1;19665:156:0;19951:4;19902:28;5991:18;;;;;;;;;;;20009:19;;19985:43;;;;;;;20059:52;;;20092:19;;20083:6;:28;20059:52;:80;;;;-1:-1:-1;20128:11:0;;;;;;;20059:80;:106;;;;-1:-1:-1;20157:8:0;;-1:-1:-1;;;20157:8:0;;;;20156:9;20059:106;:155;;;;-1:-1:-1;;;;;;20183:31:0;;;;;;:25;:31;;;;;;;;20182:32;20059:155;:194;;;;-1:-1:-1;;;;;;20232:21:0;;;;;;:15;:21;;;;;;;;20231:22;20059:194;:231;;;;-1:-1:-1;;;;;;20271:19:0;;;;;;:15;:19;;;;;;;;20270:20;20059:231;20041:367;;;20317:8;:15;;-1:-1:-1;;;;20317:15:0;-1:-1:-1;;;20317:15:0;;;20349:14;:12;:14::i;:::-;20380:8;:16;;-1:-1:-1;;;;20380:16:0;;;20041:367;20436:8;;-1:-1:-1;;;;;20546:21:0;;20420:12;20546:21;;;:15;:21;;;;;;20436:8;-1:-1:-1;;;20436:8:0;;;;;20435:9;;20546:21;;:44;;-1:-1:-1;;;;;;20571:19:0;;;;;;:15;:19;;;;;;;;20546:44;20542:92;;;-1:-1:-1;20617:5:0;20542:92;20646:12;20751:7;20747:941;;;-1:-1:-1;;;;;20803:29:0;;;;;;:25;:29;;;;;;;;:50;;;;;20852:1;20836:13;;:17;20803:50;20799:740;;;20881:34;20911:3;20881:25;20892:13;;20881:6;:10;;:25;;;;:::i;:::-;:29;;:34::i;:::-;20874:41;;20970:13;;20957:9;;20950:4;:16;;;;:::i;:::-;20949:34;;;;:::i;:::-;20934:11;;:49;;;;;;;:::i;:::-;;;;-1:-1:-1;;21040:13:0;;21026:10;;21019:17;;:4;:17;:::i;:::-;21018:35;;;;:::i;:::-;21002:12;;:51;;;;;;;:::i;:::-;;;;-1:-1:-1;;21122:13:0;;21102:16;;21095:23;;:4;:23;:::i;:::-;21094:41;;;;:::i;:::-;21072:18;;:63;;;;;;;:::i;:::-;;;;-1:-1:-1;20799:740:0;;-1:-1:-1;20799:740:0;;-1:-1:-1;;;;;21197:31:0;;;;;;:25;:31;;;;;;;;:51;;;;;21247:1;21232:12;;:16;21197:51;21193:346;;;21276:33;21305:3;21276:24;21287:12;;21276:6;:10;;:24;;;;:::i;:33::-;21269:40;;21363:12;;21351:8;;21344:4;:15;;;;:::i;:::-;21343:32;;;;:::i;:::-;21328:11;;:47;;;;;;;:::i;:::-;;;;-1:-1:-1;;21431:12:0;;21418:9;;21411:16;;:4;:16;:::i;:::-;21410:33;;;;:::i;:::-;21394:12;;:49;;;;;;;:::i;:::-;;;;-1:-1:-1;;21511:12:0;;21492:15;;21485:22;;:4;:22;:::i;:::-;21484:39;;;;:::i;:::-;21462:18;;:61;;;;;;;:::i;:::-;;;;-1:-1:-1;;21193:346:0;21559:8;;21555:91;;21588:42;21604:4;21618;21625;21588:15;:42::i;:::-;21662:14;21672:4;21662:14;;:::i;:::-;;;20747:941;21700:33;21716:4;21722:2;21726:6;21700:15;:33::i;:::-;17027:4714;;;;16914:4827;;;:::o;8836:591::-;-1:-1:-1;;;;;8920:21:0;;8912:67;;;;-1:-1:-1;;;8912:67:0;;11477:2:1;8912:67:0;;;11459:21:1;11516:2;11496:18;;;11489:30;11555:34;11535:18;;;11528:62;-1:-1:-1;;;11606:18:1;;;11599:31;11647:19;;8912:67:0;11275:397:1;8912:67:0;-1:-1:-1;;;;;9079:18:0;;9054:22;9079:18;;;;;;;;;;;9116:24;;;;9108:71;;;;-1:-1:-1;;;9108:71:0;;11879:2:1;9108:71:0;;;11861:21:1;11918:2;11898:18;;;11891:30;11957:34;11937:18;;;11930:62;-1:-1:-1;;;12008:18:1;;;12001:32;12050:19;;9108:71:0;11677:398:1;9108:71:0;-1:-1:-1;;;;;9215:18:0;;:9;:18;;;;;;;;;;9236:23;;;9215:44;;9281:12;:22;;9253:6;;9215:9;9281:22;;9253:6;;9281:22;:::i;:::-;;;;-1:-1:-1;;9321:37:0;;160:25:1;;;9347:1:0;;-1:-1:-1;;;;;9321:37:0;;;;;148:2:1;133:18;9321:37:0;;;;;;;16914:4827;;;:::o;10870:191::-;10963:6;;;-1:-1:-1;;;;;10980:17:0;;;-1:-1:-1;;;;;;10980:17:0;;;;;;;11013:40;;10963:6;;;10980:17;10963:6;;11013:40;;10944:16;;11013:40;10933:128;10870:191;:::o;7688:733::-;-1:-1:-1;;;;;7828:20:0;;7820:70;;;;-1:-1:-1;;;7820:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7909:23:0;;7901:71;;;;-1:-1:-1;;;7901:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8069:17:0;;8045:21;8069:17;;;;;;;;;;;8105:23;;;;8097:74;;;;-1:-1:-1;;;8097:74:0;;12282:2:1;8097:74:0;;;12264:21:1;12321:2;12301:18;;;12294:30;12360:34;12340:18;;;12333:62;-1:-1:-1;;;12411:18:1;;;12404:36;12457:19;;8097:74:0;12080:402:1;8097:74:0;-1:-1:-1;;;;;8207:17:0;;;:9;:17;;;;;;;;;;;8227:22;;;8207:42;;8271:20;;;;;;;;:30;;8243:6;;8207:9;8271:30;;8243:6;;8271:30;:::i;:::-;;;;;;;;8336:9;-1:-1:-1;;;;;8319:35:0;8328:6;-1:-1:-1;;;;;8319:35:0;;8347:6;8319:35;;;;160:25:1;;148:2;133:18;;14:177;8319:35:0;;;;;;;;7809:612;7688:733;;;:::o;23481:1606::-;23568:4;23524:23;5991:18;;;;;;;;;;;23524:50;;23585:25;23674:12;;23640:18;;23613:11;;:45;;;;:::i;:::-;:73;;;;:::i;:::-;23585:101;-1:-1:-1;23697:12:0;23726:20;;;:46;;-1:-1:-1;23750:22:0;;23726:46;23722:85;;;23789:7;;;23481:1606::o;23722:85::-;23841:19;;:24;;23863:2;23841:24;:::i;:::-;23823:15;:42;23819:117;;;23900:19;;:24;;23922:2;23900:24;:::i;:::-;23882:42;;23819:117;23997:19;24073:1;24053:17;24038:11;;24020:15;:29;;;;:::i;:::-;24019:51;;;;:::i;:::-;:55;;;;:::i;:::-;23997:77;-1:-1:-1;24085:26:0;24114:32;:15;23997:77;24114:19;:32::i;:::-;24085:61;-1:-1:-1;24187:21:0;24221:35;24085:61;24221:15;:35::i;:::-;24269:18;24290:44;:21;24316:17;24290:25;:44::i;:::-;24269:65;;24347:18;24368:57;24407:17;24368:34;24383:18;;24368:10;:14;;:34;;;;:::i;:57::-;24347:78;;24436:17;24456:51;24489:17;24456:28;24471:12;;24456:10;:14;;:28;;;;:::i;:51::-;24436:71;-1:-1:-1;24520:23:0;24436:71;24546:23;24559:10;24546;:23;:::i;:::-;:35;;;;:::i;:::-;24608:1;24620:18;:22;;;24653:12;:16;;;24704:7;;24696:43;;24608:1;;-1:-1:-1;24520:61:0;;-1:-1:-1;;;;;;24704:7:0;;;;24725:9;;24608:1;24696:43;24608:1;24696:43;24725:9;24704:7;24696:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24682:57:0;;-1:-1:-1;;24756:15:0;;;;;:38;;;24793:1;24775:15;:19;24756:38;24752:263;;;24811:42;24824:11;24837:15;24811:12;:42::i;:::-;24873:130;;;12899:25:1;;;12955:2;12940:18;;12933:34;;;12983:18;;;12976:34;;;24873:130:0;;12887:2:1;12872:18;24873:130:0;;;;;;;24752:263;25033:13;;25025:54;;-1:-1:-1;;;;;25033:13:0;;;;;;;;;25057:21;25025:54;;;;;;;;;25057:21;25033:13;25025:54;;;;;;;;;;;;;;;;;;;;;23513:1574;;;;;;;;;;23481:1606::o;2279:98::-;2337:7;2364:5;2368:1;2364;:5;:::i;:::-;2357:12;2279:98;-1:-1:-1;;;2279:98:0:o;2385:::-;2443:7;2470:5;2474:1;2470;:5;:::i;2173:98::-;2231:7;2258:5;2262:1;2258;:5;:::i;22398:567::-;22547:16;;;22561:1;22547:16;;;;;;;;22523:21;;22547:16;;;;;;;;;;-1:-1:-1;22547:16:0;22523:40;;22592:4;22574;22579:1;22574:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;22574:23:0;;;-1:-1:-1;;;;;22574:23:0;;;;;22618:8;-1:-1:-1;;;;;22618:13:0;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22608:4;22613:1;22608:7;;;;;;;;:::i;:::-;;;;;;:25;-1:-1:-1;;;;;22608:25:0;;;-1:-1:-1;;;;;22608:25:0;;;;;22646:55;22663:4;22678:8;22689:11;22646:8;:55::i;:::-;22740:217;;-1:-1:-1;;;22740:217:0;;-1:-1:-1;;;;;22740:8:0;:59;;;;:217;;22814:11;;22840:1;;22884:4;;22911;;22931:15;;22740:217;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22452:513;22398:567;:::o;22975:498::-;23123:55;23140:4;23155:8;23166:11;23123:8;:55::i;:::-;23418:6;;23221:244;;-1:-1:-1;;;23221:244:0;;23286:4;23221:244;;;14867:34:1;14917:18;;;14910:34;;;23332:1:0;14960:18:1;;;14953:34;;;15003:18;;;14996:34;-1:-1:-1;;;;;23418:6:0;;;15046:19:1;;;15039:44;23439:15:0;15099:19:1;;;15092:35;23221:8:0;:24;;;;;;23253:9;;14801:19:1;;23221:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;22975:498;;:::o;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;885:315;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:180::-;1456:6;1509:2;1497:9;1488:7;1484:23;1480:32;1477:52;;;1525:1;1522;1515:12;1477:52;-1:-1:-1;1548:23:1;;1397:180;-1:-1:-1;1397:180:1:o;1582:456::-;1659:6;1667;1675;1728:2;1716:9;1707:7;1703:23;1699:32;1696:52;;;1744:1;1741;1734:12;1696:52;1783:9;1770:23;1802:31;1827:5;1802:31;:::i;:::-;1852:5;-1:-1:-1;1909:2:1;1894:18;;1881:32;1922:33;1881:32;1922:33;:::i;:::-;1582:456;;1974:7;;-1:-1:-1;;;2028:2:1;2013:18;;;;2000:32;;1582:456::o;2440:247::-;2499:6;2552:2;2540:9;2531:7;2527:23;2523:32;2520:52;;;2568:1;2565;2558:12;2520:52;2607:9;2594:23;2626:31;2651:5;2626:31;:::i;2924:416::-;2989:6;2997;3050:2;3038:9;3029:7;3025:23;3021:32;3018:52;;;3066:1;3063;3056:12;3018:52;3105:9;3092:23;3124:31;3149:5;3124:31;:::i;:::-;3174:5;-1:-1:-1;3231:2:1;3216:18;;3203:32;3273:15;;3266:23;3254:36;;3244:64;;3304:1;3301;3294:12;3244:64;3327:7;3317:17;;;2924:416;;;;;:::o;3345:388::-;3413:6;3421;3474:2;3462:9;3453:7;3449:23;3445:32;3442:52;;;3490:1;3487;3480:12;3442:52;3529:9;3516:23;3548:31;3573:5;3548:31;:::i;:::-;3598:5;-1:-1:-1;3655:2:1;3640:18;;3627:32;3668:33;3627:32;3668:33;:::i;3738:380::-;3817:1;3813:12;;;;3860;;;3881:61;;3935:4;3927:6;3923:17;3913:27;;3881:61;3988:2;3980:6;3977:14;3957:18;3954:38;3951:161;;4034:10;4029:3;4025:20;4022:1;4015:31;4069:4;4066:1;4059:15;4097:4;4094:1;4087:15;3951:161;;3738:380;;;:::o;4123:356::-;4325:2;4307:21;;;4344:18;;;4337:30;4403:34;4398:2;4383:18;;4376:62;4470:2;4455:18;;4123:356::o;4484:127::-;4545:10;4540:3;4536:20;4533:1;4526:31;4576:4;4573:1;4566:15;4600:4;4597:1;4590:15;4616:168;4689:9;;;4720;;4737:15;;;4731:22;;4717:37;4707:71;;4758:18;;:::i;4789:217::-;4829:1;4855;4845:132;;4899:10;4894:3;4890:20;4887:1;4880:31;4934:4;4931:1;4924:15;4962:4;4959:1;4952:15;4845:132;-1:-1:-1;4991:9:1;;4789:217::o;5825:125::-;5890:9;;;5911:10;;;5908:36;;;5924:18;;:::i;8328:401::-;8530:2;8512:21;;;8569:2;8549:18;;;8542:30;8608:34;8603:2;8588:18;;8581:62;-1:-1:-1;;;8674:2:1;8659:18;;8652:35;8719:3;8704:19;;8328:401::o;8734:399::-;8936:2;8918:21;;;8975:2;8955:18;;;8948:30;9014:34;9009:2;8994:18;;8987:62;-1:-1:-1;;;9080:2:1;9065:18;;9058:33;9123:3;9108:19;;8734:399::o;11142:128::-;11209:9;;;11230:11;;;11227:37;;;11244:18;;:::i;13153:127::-;13214:10;13209:3;13205:20;13202:1;13195:31;13245:4;13242:1;13235:15;13269:4;13266:1;13259:15;13285:251;13355:6;13408:2;13396:9;13387:7;13383:23;13379:32;13376:52;;;13424:1;13421;13414:12;13376:52;13456:9;13450:16;13475:31;13500:5;13475:31;:::i;13541:980::-;13803:4;13851:3;13840:9;13836:19;13882:6;13871:9;13864:25;13908:2;13946:6;13941:2;13930:9;13926:18;13919:34;13989:3;13984:2;13973:9;13969:18;13962:31;14013:6;14048;14042:13;14079:6;14071;14064:22;14117:3;14106:9;14102:19;14095:26;;14156:2;14148:6;14144:15;14130:29;;14177:1;14187:195;14201:6;14198:1;14195:13;14187:195;;;14266:13;;-1:-1:-1;;;;;14262:39:1;14250:52;;14357:15;;;;14322:12;;;;14298:1;14216:9;14187:195;;;-1:-1:-1;;;;;;;14438:32:1;;;;14433:2;14418:18;;14411:60;-1:-1:-1;;;14502:3:1;14487:19;14480:35;14399:3;13541:980;-1:-1:-1;;;13541:980:1:o;15138:306::-;15226:6;15234;15242;15295:2;15283:9;15274:7;15270:23;15266:32;15263:52;;;15311:1;15308;15301:12;15263:52;15340:9;15334:16;15324:26;;15390:2;15379:9;15375:18;15369:25;15359:35;;15434:2;15423:9;15419:18;15413:25;15403:35;;15138:306;;;;;:::o
Swarm Source
ipfs://4c92b60e3882bd7dfab4ed447baceae083893564567d40f33f4a73412f5ea188
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ 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.