ERC-20
Overview
Max Total Supply
1,000,000,000 QWC
Holders
16
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
761,121,428.804390942 QWCValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
QatarWorldCup
Compiler Version
v0.8.0+commit.c7dfd78e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-11-16 */ /* Web:http://qwcworldcup.org/# Telegram:https://t.me/QWCERC20 Twitter:https://twitter.com/qwc_erc20 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function waiveOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0xdead)); _owner = address(0xdead); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } interface IUniswapV2Router02 is IUniswapV2Router01 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } abstract contract BEP20 is Context, IERC20, Ownable { using SafeMath for uint256; string private _name; string private _symbol; uint8 private _decimals; address payable public MarketingWallet; address payable public TreasuryWallet; address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public isExcludedFromFee; mapping (address => bool) public isWalletLimitExempt; mapping (address => bool) public isTxLimitExempt; mapping (address => bool) public isMarketPair; uint256 public _buyLiquidityFee; uint256 public _buyMarketingFee; uint256 public _buyTeamFee; uint256 public _sellLiquidityFee; uint256 public _sellMarketingFee; uint256 public _sellTeamFee; uint256 public _liquidityShare; uint256 public _marketingShare; uint256 public _teamShare; uint256 public _totalTaxIfBuying; uint256 public _totalTaxIfSelling; uint256 public _totalDistributionShares; uint256 private _totalSupply; uint256 public _txLimitAmount; uint256 public _walletLimitAmount; uint256 private minimumTokensBeforeSwap; IUniswapV2Router02 public uniswapV2Router; address public uniswapPair; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public swapAndLiquifyBySmallOnly = false; bool public walletLimitEnable = true; event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); event SwapETHForTokens( uint256 amountIn, address[] path ); event SwapTokensForETH( uint256 amountIn, address[] path ); modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor (string memory _NAME, string memory _SYMBOL, uint256 _SUPPLY, uint256[3] memory _BUYFEE, uint256[3] memory _SELLFEE, uint256[3] memory _SHARE, uint256[2] memory _LMT, address[2] memory _walletList) { _name = _NAME; _symbol = _SYMBOL; _decimals = 9; _totalSupply = _SUPPLY * 10**_decimals; _buyLiquidityFee = _BUYFEE[0]; _buyMarketingFee = _BUYFEE[1]; _buyTeamFee = _BUYFEE[2]; _sellLiquidityFee = _SELLFEE[0]; _sellMarketingFee = _SELLFEE[1]; _sellTeamFee = _SELLFEE[2]; _liquidityShare = _SHARE[0]; _marketingShare = _SHARE[1]; _teamShare = _SHARE[2]; _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee); _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee); _totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare); _txLimitAmount = _LMT[0] * 10**_decimals; _walletLimitAmount = _LMT[1] * 10**_decimals; minimumTokensBeforeSwap = _totalSupply.mul(1).div(10000); MarketingWallet = payable(_walletList[0]); TreasuryWallet = payable(_walletList[1]); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _allowances[address(this)][address(uniswapV2Router)] = _totalSupply; isExcludedFromFee[owner()] = true; isExcludedFromFee[address(this)] = true; isWalletLimitExempt[owner()] = true; isWalletLimitExempt[address(uniswapPair)] = true; isWalletLimitExempt[address(this)] = true; isWalletLimitExempt[address(0xdead)] = true; isTxLimitExempt[owner()] = true; isTxLimitExempt[address(this)] = true; isMarketPair[address(uniswapPair)] = true; _balances[_msgSender()] = _totalSupply; emit Transfer(address(0), _msgSender(), _totalSupply); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function minimumTokensBeforeSwapAmount() public view returns (uint256) { return minimumTokensBeforeSwap; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function setMarketPairStatus(address account, bool newValue) public onlyOwner { isMarketPair[account] = newValue; } function setisTxLimitExempt(address holder, bool exempt) external onlyOwner { isTxLimitExempt[holder] = exempt; } function setisExcludedFromFee(address account, bool newValue) public onlyOwner { isExcludedFromFee[account] = newValue; } function manageExcludeFromFee(address[] calldata addresses, bool status) public onlyOwner { require(addresses.length < 201); for (uint256 i; i < addresses.length; ++i) { isExcludedFromFee[addresses[i]] = status; } } function setTxLimitAmount(uint256 newValue) external onlyOwner() { _txLimitAmount = newValue * 10 ** decimals(); } function enableWalletLimitEnable(bool newValue) external onlyOwner { walletLimitEnable = newValue; } function setisWalletLimitExempt(address holder, bool exempt) external onlyOwner { isWalletLimitExempt[holder] = exempt; } function setWalletLimitAmount(uint256 newValue) external onlyOwner { _walletLimitAmount = newValue * 10 ** decimals(); } function setNumTokensBeforeSwap(uint256 newValue) external onlyOwner() { minimumTokensBeforeSwap = newValue; } function setMarketingWallet(address newAddress) external onlyOwner() { MarketingWallet = payable(newAddress); } function setTreasuryWallet(address newAddress) external onlyOwner() { TreasuryWallet = payable(newAddress); } function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner { swapAndLiquifyEnabled = _enabled; emit SwapAndLiquifyEnabledUpdated(_enabled); } function setSwapAndLiquifyBySmallOnly(bool newValue) public onlyOwner { swapAndLiquifyBySmallOnly = newValue; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(deadAddress)); } function transferToAddressETH(address payable recipient, uint256 amount) private { recipient.transfer(amount); } //to recieve ETH from uniswapV2Router when swaping receive() external payable {} function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _transfer(address sender, address recipient, uint256 amount) private returns (bool) { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); if(inSwapAndLiquify) { return _basicTransfer(sender, recipient, amount); } else { if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient]) { require(smallOrEqual(amount, _txLimitAmount)); } uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap; if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled) { if(swapAndLiquifyBySmallOnly) contractTokenBalance = minimumTokensBeforeSwap; swapAndLiquify(contractTokenBalance); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 finalAmount; if (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) { finalAmount = amount; } else { finalAmount = takeFee(sender, recipient, amount); } if(walletLimitEnable && !isWalletLimitExempt[recipient]) require(smallOrEqual(balanceOf(recipient).add(finalAmount), _walletLimitAmount)); _balances[recipient] = _balances[recipient].add(finalAmount); emit Transfer(sender, recipient, finalAmount); return true; } } function smallOrEqual(uint256 a, uint256 b) public pure returns(bool) { return a<=b; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function swapAndLiquify(uint256 tAmount) private lockTheSwap { uint256 tokensForLP = tAmount.mul(_liquidityShare).div(_totalDistributionShares).div(2); uint256 tokensForSwap = tAmount.sub(tokensForLP); swapTokensForEth(tokensForSwap); uint256 amountReceived = address(this).balance; uint256 totalBNBFee = _totalDistributionShares.sub(_liquidityShare.div(2)); uint256 amountBNBLiquidity = amountReceived.mul(_liquidityShare).div(totalBNBFee).div(2); uint256 amountBNBTeam = amountReceived.mul(_teamShare).div(totalBNBFee); uint256 amountBNBMarketing = amountReceived.sub(amountBNBLiquidity).sub(amountBNBTeam); if(amountBNBMarketing > 0) transferToAddressETH(MarketingWallet, amountBNBMarketing); if(amountBNBTeam > 0) transferToAddressETH(TreasuryWallet, amountBNBTeam); if(amountBNBLiquidity > 0 && tokensForLP > 0) addLiquidity(tokensForLP, amountBNBLiquidity); } function swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), // The contract block.timestamp ) {} catch {} emit SwapTokensForETH(tokenAmount, path); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { // approve token transfer to cover all possible scenarios _approve(address(this), address(uniswapV2Router), tokenAmount); // add the liquidity try uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable MarketingWallet, block.timestamp ) {} catch {} } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeAmount = 0; if(isMarketPair[sender]) { feeAmount = amount.mul(_totalTaxIfBuying).div(100); } else if(isMarketPair[recipient]) { feeAmount = amount.mul(_totalTaxIfSelling).div(100); } if(feeAmount > 0) { _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } return amount.sub(feeAmount); } } contract QatarWorldCup is BEP20 { constructor() BEP20( "Qatar World Cup", "QWC", 1000000000, [uint256(0),uint256(2),uint256(1)], [uint256(0),uint256(2),uint256(1)], [uint256(0),uint256(4),uint256(2)], [uint256(1000000000),uint256(1000000000)], [address(0xa962d2CD77fC7068BAAe525283910D8B6CD26F42),address(0x8b9264778116a63AD8bdb073b21b9f01B9054378)] ){} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"MarketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TreasuryWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_txLimitAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletLimitAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"enableWalletLimitEnable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manageExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setMarketPairStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setSwapAndLiquifyBySmallOnly","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setTreasuryWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setTxLimitAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setWalletLimitAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setisExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setisTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setisWalletLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"}],"name":"smallOrEqual","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"swapAndLiquifyBySmallOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"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":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"waiveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"walletLimitEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a06040526ddead000000000000000000000000608052601c805461ffff60b01b1960ff60a81b19909116600160a81b1716600160b81b1790553480156200004657600080fd5b506040518060400160405280600f81526020016e0516174617220576f726c642043757608c1b8152506040518060400160405280600381526020016251574360e81b815250633b9aca006040518060600160405280600081526020016002815260200160018152506040518060600160405280600081526020016002815260200160018152506040518060600160405280600081526020016004815260200160028152506040518060400160405280633b9aca008152602001633b9aca00815250604051806040016040528073a962d2cd77fc7068baae525283910d8b6cd26f426001600160a01b03166001600160a01b03168152602001738b9264778116a63ad8bdb073b21b9f01b90543786001600160a01b03166001600160a01b031681525060006200017a6200076a60201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508751620001d99060019060208b019062000899565b508651620001ef9060029060208a019062000899565b506003805460ff1916600917908190556200020f9060ff16600a62000ae2565b6200021b908762000bcd565b6017558451600b819055602080870151600c819055604080890151600d8190558851600e5588840151600f558882015160105587516011558784015160125590870151601355620002919390926200027d9290620013cf6200076e821b17901c565b6200076e60201b620013cf1790919060201c565b601481905550620002bc6010546200027d600f54600e546200076e60201b620013cf1790919060201c565b601581905550620002e76013546200027d6012546011546200076e60201b620013cf1790919060201c565b601655600354620002fd9060ff16600a62000ae2565b82516200030b919062000bcd565b601855600354620003219060ff16600a62000ae2565b602083015162000332919062000bcd565b601981905550620003706127106200035c6001601754620007b460201b620013fe1790919060201c565b6200080260201b620014431790919060201c565b601a55805160038054610100600160a81b0319166101006001600160a01b039384160217905560208083015160048054919093166001600160a01b03199091161782556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d93849363c45a01559380830193919290829003018186803b158015620003fd57600080fd5b505afa15801562000412573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200043891906200093f565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200048157600080fd5b505afa15801562000496573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004bc91906200093f565b6040518363ffffffff1660e01b8152600401620004db92919062000968565b602060405180830381600087803b158015620004f657600080fd5b505af11580156200050b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200053191906200093f565b601c80546001600160a01b03199081166001600160a01b0393841617909155601b805490911683831617908190556017543060009081526006602090815260408083209490951682529290925291812091909155600190600790620005956200084c565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526007909252812080549092166001908117909255600890620005e56200084c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601c5490911681526008909252808220805484166001908117909155308352908220805484168217905561dead82527f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd09334299805490931681179092556009906200067a6200084c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260098452828120805486166001908117909155601c549092168152600a90935290822080549093161790915560175490600590620006e86200076a565b6001600160a01b031681526020810191909152604001600020556200070c6200076a565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60175460405162000753919062000a50565b60405180910390a350505050505050505062000c42565b3390565b6000806200077d838562000a59565b905083811015620007ab5760405162461bcd60e51b8152600401620007a290620009d8565b60405180910390fd5b90505b92915050565b600082620007c557506000620007ae565b6000620007d3838562000bcd565b905082620007e2858362000a74565b14620007ab5760405162461bcd60e51b8152600401620007a29062000a0f565b6000620007ab83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200085b60201b60201c565b6000546001600160a01b031690565b600081836200087f5760405162461bcd60e51b8152600401620007a2919062000982565b5060006200088e848662000a74565b9150505b9392505050565b828054620008a79062000bef565b90600052602060002090601f016020900481019282620008cb576000855562000916565b82601f10620008e657805160ff191683800117855562000916565b8280016001018555821562000916579182015b8281111562000916578251825591602001919060010190620008f9565b506200092492915062000928565b5090565b5b8082111562000924576000815560010162000929565b60006020828403121562000951578081fd5b81516001600160a01b0381168114620007ab578182fd5b6001600160a01b0392831681529116602082015260400190565b6000602080835283518082850152825b81811015620009b05785810183015185820160400152820162000992565b81811115620009c25783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b90815260200190565b6000821982111562000a6f5762000a6f62000c2c565b500190565b60008262000a9057634e487b7160e01b81526012600452602481fd5b500490565b80825b600180861162000aa9575062000ad9565b81870482111562000abe5762000abe62000c2c565b8086161562000acc57918102915b9490941c93800262000a98565b94509492505050565b6000620007ab60001960ff85168460008262000b015750600162000892565b8162000b105750600062000892565b816001811462000b29576002811462000b345762000b68565b600191505062000892565b60ff84111562000b485762000b4862000c2c565b6001841b91508482111562000b615762000b6162000c2c565b5062000892565b5060208310610133831016604e8410600b841016171562000ba0575081810a8381111562000b9a5762000b9a62000c2c565b62000892565b62000baf848484600162000a95565b80860482111562000bc45762000bc462000c2c565b02949350505050565b600081600019048311821515161562000bea5762000bea62000c2c565b500290565b60028104600182168062000c0457607f821691505b6020821081141562000c2657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60805160601c6126bd62000c6860003960008181610c1e0152610c4a01526126bd6000f3fe60806040526004361061036f5760003560e01c806388790a68116101c6578063c469b6dd116100f7578063cdf7249311610095578063dd62ed3e1161006f578063dd62ed3e14610908578063e2f2a68614610928578063f0cd1dac14610948578063f2fde38b1461095d57610376565b8063cdf72493146108be578063d9419b73146108de578063dc44b6a0146108f357610376565b8063c816841b116100d1578063c816841b1461085f578063c860795214610874578063c867d60b14610889578063cab03471146108a957610376565b8063c469b6dd14610815578063c49b9a801461082a578063c5d241891461084a57610376565b8063a073d37f11610164578063a83f53a71161013e578063a83f53a7146107a0578063a8602fea146107b5578063a9059cbb146107d5578063a911928c146107f557610376565b8063a073d37f14610756578063a08e671f1461076b578063a457c2d71461078057610376565b8063914eb66a116101a0578063914eb66a146106f757806395d89b411461070c578063989200de146107215780639daec0bc1461074157610376565b806388790a68146106ad5780638b42507f146106c25780638da5cb5b146106e257610376565b80633e07387c116102a057806361a23c691161023e57806370a02c8b1161021857806370a02c8b1461063857806370a082311461065857806382eefb4314610678578063844d591c1461068d57610376565b806361a23c69146105ee57806362e8e50b146106035780636ad53b591461062357610376565b80634a74bb021161027a5780634a74bb02146105845780635342acb41461059957806357a5802f146105b95780635d098b38146105ce57610376565b80633e07387c1461052f5780633ecad2711461054f57806346663b821461056f57610376565b806323b872dd1161030d5780632b112e49116102e75780632b112e49146104b8578063313ce567146104cd57806339509351146104ef5780633b97084a1461050f57610376565b806323b872dd1461046e5780632598cdb21461048e57806327c8f835146104a357610376565b806311ffeaf21161034957806311ffeaf2146103f55780631694505e1461041757806318160ddd1461042c5780631afe88921461044e57610376565b806306fdde031461037b578063095ea7b3146103a65780630ecc200f146103d357610376565b3661037657005b600080fd5b34801561038757600080fd5b5061039061097d565b60405161039d9190612169565b60405180910390f35b3480156103b257600080fd5b506103c66103c1366004611fa3565b610a0f565b60405161039d919061215e565b3480156103df57600080fd5b506103f36103ee366004611fce565b610a2d565b005b34801561040157600080fd5b5061040a610afb565b60405161039d919061210f565b34801561042357600080fd5b5061040a610b0a565b34801561043857600080fd5b50610441610b19565b60405161039d91906123bd565b34801561045a57600080fd5b506103f3610469366004611f6f565b610b1f565b34801561047a57600080fd5b506103c6610489366004611f2f565b610b7f565b34801561049a57600080fd5b5061040a610c08565b3480156104af57600080fd5b5061040a610c1c565b3480156104c457600080fd5b50610441610c40565b3480156104d957600080fd5b506104e2610c7c565b60405161039d9190612423565b3480156104fb57600080fd5b506103c661050a366004611fa3565b610c85565b34801561051b57600080fd5b506103f361052a366004612066565b610cd3565b34801561053b57600080fd5b506103f361054a36600461204c565b610d0d565b34801561055b57600080fd5b506103c661056a366004611ebf565b610d60565b34801561057b57600080fd5b506103c6610d75565b34801561059057600080fd5b506103c6610d85565b3480156105a557600080fd5b506103c66105b4366004611ebf565b610d95565b3480156105c557600080fd5b50610441610daa565b3480156105da57600080fd5b506103f36105e9366004611ebf565b610db0565b3480156105fa57600080fd5b50610441610e0d565b34801561060f57600080fd5b506103f361061e36600461204c565b610e13565b34801561062f57600080fd5b50610441610e66565b34801561064457600080fd5b506103f3610653366004611f6f565b610e6c565b34801561066457600080fd5b50610441610673366004611ebf565b610ecc565b34801561068457600080fd5b50610441610eeb565b34801561069957600080fd5b506103f36106a8366004611f6f565b610ef1565b3480156106b957600080fd5b50610441610f51565b3480156106ce57600080fd5b506103c66106dd366004611ebf565b610f57565b3480156106ee57600080fd5b5061040a610f6c565b34801561070357600080fd5b506103f3610f7b565b34801561071857600080fd5b50610390611000565b34801561072d57600080fd5b506103f361073c366004612066565b61100f565b34801561074d57600080fd5b50610441611067565b34801561076257600080fd5b5061044161106d565b34801561077757600080fd5b50610441611073565b34801561078c57600080fd5b506103c661079b366004611fa3565b611079565b3480156107ac57600080fd5b506104416110e1565b3480156107c157600080fd5b506103f36107d0366004611ebf565b6110e7565b3480156107e157600080fd5b506103c66107f0366004611fa3565b61113e565b34801561080157600080fd5b506103c661081036600461207e565b611152565b34801561082157600080fd5b50610441611157565b34801561083657600080fd5b506103f361084536600461204c565b61115d565b34801561085657600080fd5b506104416111e4565b34801561086b57600080fd5b5061040a6111ea565b34801561088057600080fd5b506104416111f9565b34801561089557600080fd5b506103c66108a4366004611ebf565b6111ff565b3480156108b557600080fd5b50610441611214565b3480156108ca57600080fd5b506103f36108d9366004612066565b61121a565b3480156108ea57600080fd5b506103c6611272565b3480156108ff57600080fd5b50610441611282565b34801561091457600080fd5b50610441610923366004611ef7565b611288565b34801561093457600080fd5b506103f3610943366004611f6f565b6112b3565b34801561095457600080fd5b50610441611313565b34801561096957600080fd5b506103f3610978366004611ebf565b611319565b60606001805461098c906125b6565b80601f01602080910402602001604051908101604052809291908181526020018280546109b8906125b6565b8015610a055780601f106109da57610100808354040283529160200191610a05565b820191906000526020600020905b8154815290600101906020018083116109e857829003601f168201915b5050505050905090565b6000610a23610a1c611485565b8484611489565b5060015b92915050565b610a35611485565b6000546001600160a01b03908116911614610a6b5760405162461bcd60e51b8152600401610a62906122ff565b60405180910390fd5b60c98210610a7857600080fd5b60005b82811015610af5578160076000868685818110610aa857634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610abd9190611ebf565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610aee816125f1565b9050610a7b565b50505050565b6004546001600160a01b031681565b601b546001600160a01b031681565b60175490565b610b27611485565b6000546001600160a01b03908116911614610b545760405162461bcd60e51b8152600401610a62906122ff565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000610b8c84848461153d565b50610bfd84610b99611485565b610bf88560405180606001604052806028815260200161263b602891396001600160a01b038a16600090815260066020526040812090610bd7611485565b6001600160a01b031681526020810191909152604001600020549190611837565b611489565b5060015b9392505050565b60035461010090046001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610c77610c6e7f0000000000000000000000000000000000000000000000000000000000000000610ecc565b60175490611871565b905090565b60035460ff1690565b6000610a23610c92611485565b84610bf88560066000610ca3611485565b6001600160a01b03908116825260208083019390935260409182016000908120918c1681529252902054906113cf565b610cdb611485565b6000546001600160a01b03908116911614610d085760405162461bcd60e51b8152600401610a62906122ff565b601a55565b610d15611485565b6000546001600160a01b03908116911614610d425760405162461bcd60e51b8152600401610a62906122ff565b601c8054911515600160b01b0260ff60b01b19909216919091179055565b600a6020526000908152604090205460ff1681565b601c54600160b81b900460ff1681565b601c54600160a81b900460ff1681565b60076020526000908152604090205460ff1681565b60115481565b610db8611485565b6000546001600160a01b03908116911614610de55760405162461bcd60e51b8152600401610a62906122ff565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b60125481565b610e1b611485565b6000546001600160a01b03908116911614610e485760405162461bcd60e51b8152600401610a62906122ff565b601c8054911515600160b81b0260ff60b81b19909216919091179055565b60185481565b610e74611485565b6000546001600160a01b03908116911614610ea15760405162461bcd60e51b8152600401610a62906122ff565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6001600160a01b0381166000908152600560205260409020545b919050565b60155481565b610ef9611485565b6000546001600160a01b03908116911614610f265760405162461bcd60e51b8152600401610a62906122ff565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b600e5481565b60096020526000908152604090205460ff1681565b6000546001600160a01b031690565b610f83611485565b6000546001600160a01b03908116911614610fb05760405162461bcd60e51b8152600401610a62906122ff565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b60606002805461098c906125b6565b611017611485565b6000546001600160a01b039081169116146110445760405162461bcd60e51b8152600401610a62906122ff565b61104c610c7c565b61105790600a6124af565b6110619082612580565b60195550565b60195481565b601a5490565b60165481565b6000610a23611086611485565b84610bf88560405180606001604052806025815260200161266360259139600660006110b0611485565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611837565b60135481565b6110ef611485565b6000546001600160a01b0390811691161461111c5760405162461bcd60e51b8152600401610a62906122ff565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000610bfd61114b611485565b848461153d565b101590565b600d5481565b611165611485565b6000546001600160a01b039081169116146111925760405162461bcd60e51b8152600401610a62906122ff565b601c805460ff60a81b1916600160a81b831515021790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159906111d990839061215e565b60405180910390a150565b600c5481565b601c546001600160a01b031681565b600f5481565b60086020526000908152604090205460ff1681565b60105481565b611222611485565b6000546001600160a01b0390811691161461124f5760405162461bcd60e51b8152600401610a62906122ff565b611257610c7c565b61126290600a6124af565b61126c9082612580565b60185550565b601c54600160b01b900460ff1681565b600b5481565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6112bb611485565b6000546001600160a01b039081169116146112e85760405162461bcd60e51b8152600401610a62906122ff565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b60145481565b611321611485565b6000546001600160a01b0390811691161461134e5760405162461bcd60e51b8152600401610a62906122ff565b6001600160a01b0381166113745760405162461bcd60e51b8152600401610a62906121ff565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806113dc8385612431565b905083811015610c015760405162461bcd60e51b8152600401610a6290612287565b60008261140d57506000610a27565b60006114198385612580565b9050826114268583612449565b14610c015760405162461bcd60e51b8152600401610a62906122be565b6000610c0183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118b3565b3390565b6001600160a01b0383166114af5760405162461bcd60e51b8152600401610a6290612379565b6001600160a01b0382166114d55760405162461bcd60e51b8152600401610a6290612245565b6001600160a01b0380841660008181526006602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906115309085906123bd565b60405180910390a3505050565b60006001600160a01b0384166115655760405162461bcd60e51b8152600401610a6290612334565b6001600160a01b03831661158b5760405162461bcd60e51b8152600401610a62906121bc565b601c54600160a01b900460ff16156115af576115a88484846118e1565b9050610c01565b6001600160a01b03841660009081526009602052604090205460ff161580156115f157506001600160a01b03831660009081526009602052604090205460ff16155b1561160b5761160282601854611152565b61160b57600080fd5b600061161630610ecc565b601a54909150811080159081906116375750601c54600160a01b900460ff16155b801561165c57506001600160a01b0386166000908152600a602052604090205460ff16155b80156116715750601c54600160a81b900460ff165b1561169757601c54600160b01b900460ff161561168e57601a5491505b611697826119c5565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600590915291909120546116e9918690611837565b6001600160a01b038716600090815260056020908152604080832093909355600790529081205460ff168061173657506001600160a01b03861660009081526007602052604090205460ff165b15611742575083611750565b61174d878787611b00565b90505b601c54600160b81b900460ff16801561178257506001600160a01b03861660009081526008602052604090205460ff16155b156117ae576117a561179d8261179789610ecc565b906113cf565b601954611152565b6117ae57600080fd5b6001600160a01b0386166000908152600560205260409020546117d190826113cf565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118239085906123bd565b60405180910390a360019350505050610c01565b6000818484111561185b5760405162461bcd60e51b8152600401610a629190612169565b506000611868848661259f565b95945050505050565b6000610c0183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611837565b600081836118d45760405162461bcd60e51b8152600401610a629190612169565b5060006118688486612449565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054611932918490611837565b6001600160a01b03808616600090815260056020526040808220939093559085168152205461196190836113cf565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119b39086906123bd565b60405180910390a35060019392505050565b601c805460ff60a01b1916600160a01b1790556016546011546000916119fb916002916119f591829087906113fe565b90611443565b90506000611a098383611871565b9050611a1481611c04565b6011544790600090611a3490611a2b906002611443565b60165490611871565b90506000611a5660026119f5846119f5601154886113fe90919063ffffffff16565b90506000611a73836119f5601354876113fe90919063ffffffff16565b90506000611a8b82611a858786611871565b90611871565b90508015611aae57600354611aae9061010090046001600160a01b031682611dbc565b8115611aca57600454611aca906001600160a01b031683611dbc565b600083118015611ada5750600087115b15611ae957611ae98784611df7565b5050601c805460ff60a01b19169055505050505050565b6001600160a01b0383166000908152600a6020526040812054819060ff1615611b4457611b3d60646119f5601454866113fe90919063ffffffff16565b9050611b82565b6001600160a01b0384166000908152600a602052604090205460ff1615611b8257611b7f60646119f5601554866113fe90919063ffffffff16565b90505b8015611bfa5730600090815260056020526040902054611ba290826113cf565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611bf19085906123bd565b60405180910390a35b6118688382611871565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611c4757634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601b54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611c9b57600080fd5b505afa158015611caf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cd39190611edb565b81600181518110611cf457634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152601b54611d1a9130911684611489565b601b5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611d539085906000908690309042906004016123e7565b600060405180830381600087803b158015611d6d57600080fd5b505af1925050508015611d7e575060015b507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611db09291906123c6565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611df2573d6000803e3d6000fd5b505050565b601b54611e0f9030906001600160a01b031684611489565b601b5460035460405163f305d71960e01b81526001600160a01b039283169263f305d719928592611e5492309289926000928392610100900416904290600401612123565b6060604051808303818588803b158015611e6d57600080fd5b505af193505050508015611e9e575060408051601f3d908101601f19168201909252611e9b9181019061209f565b60015b611ea757611eab565b5050505b5050565b80358015158114610ee657600080fd5b600060208284031215611ed0578081fd5b8135610c0181612622565b600060208284031215611eec578081fd5b8151610c0181612622565b60008060408385031215611f09578081fd5b8235611f1481612622565b91506020830135611f2481612622565b809150509250929050565b600080600060608486031215611f43578081fd5b8335611f4e81612622565b92506020840135611f5e81612622565b929592945050506040919091013590565b60008060408385031215611f81578182fd5b8235611f8c81612622565b9150611f9a60208401611eaf565b90509250929050565b60008060408385031215611fb5578182fd5b8235611fc081612622565b946020939093013593505050565b600080600060408486031215611fe2578283fd5b833567ffffffffffffffff80821115611ff9578485fd5b818601915086601f83011261200c578485fd5b81358181111561201a578586fd5b876020808302850101111561202d578586fd5b6020928301955093506120439186019050611eaf565b90509250925092565b60006020828403121561205d578081fd5b610c0182611eaf565b600060208284031215612077578081fd5b5035919050565b60008060408385031215612090578182fd5b50508035926020909101359150565b6000806000606084860312156120b3578283fd5b8351925060208401519150604084015190509250925092565b6000815180845260208085019450808401835b838110156121045781516001600160a01b0316875295820195908201906001016120df565b509495945050505050565b6001600160a01b0391909116815260200190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b8181101561219557858101830151858201604001528201612179565b818111156121a65783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b90815260200190565b6000838252604060208301526123df60408301846120cc565b949350505050565b600086825285602083015260a0604083015261240660a08301866120cc565b6001600160a01b0394909416606083015250608001529392505050565b60ff91909116815260200190565b600082198211156124445761244461260c565b500190565b60008261246457634e487b7160e01b81526012600452602481fd5b500490565b80825b600180861161247b57506124a6565b81870482111561248d5761248d61260c565b8086161561249a57918102915b9490941c93800261246c565b94509492505050565b6000610c0160001960ff8516846000826124cb57506001610c01565b816124d857506000610c01565b81600181146124ee57600281146124f857612525565b6001915050610c01565b60ff8411156125095761250961260c565b6001841b91508482111561251f5761251f61260c565b50610c01565b5060208310610133831016604e8410600b8410161715612558575081810a838111156125535761255361260c565b610c01565b6125658484846001612469565b8086048211156125775761257761260c565b02949350505050565b600081600019048311821515161561259a5761259a61260c565b500290565b6000828210156125b1576125b161260c565b500390565b6002810460018216806125ca57607f821691505b602082108114156125eb57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156126055761260561260c565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461263757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122035f74377e883c8780e127da83282bec1e475e71323013db9f9621187b27ff9b364736f6c63430008000033
Deployed Bytecode
0x60806040526004361061036f5760003560e01c806388790a68116101c6578063c469b6dd116100f7578063cdf7249311610095578063dd62ed3e1161006f578063dd62ed3e14610908578063e2f2a68614610928578063f0cd1dac14610948578063f2fde38b1461095d57610376565b8063cdf72493146108be578063d9419b73146108de578063dc44b6a0146108f357610376565b8063c816841b116100d1578063c816841b1461085f578063c860795214610874578063c867d60b14610889578063cab03471146108a957610376565b8063c469b6dd14610815578063c49b9a801461082a578063c5d241891461084a57610376565b8063a073d37f11610164578063a83f53a71161013e578063a83f53a7146107a0578063a8602fea146107b5578063a9059cbb146107d5578063a911928c146107f557610376565b8063a073d37f14610756578063a08e671f1461076b578063a457c2d71461078057610376565b8063914eb66a116101a0578063914eb66a146106f757806395d89b411461070c578063989200de146107215780639daec0bc1461074157610376565b806388790a68146106ad5780638b42507f146106c25780638da5cb5b146106e257610376565b80633e07387c116102a057806361a23c691161023e57806370a02c8b1161021857806370a02c8b1461063857806370a082311461065857806382eefb4314610678578063844d591c1461068d57610376565b806361a23c69146105ee57806362e8e50b146106035780636ad53b591461062357610376565b80634a74bb021161027a5780634a74bb02146105845780635342acb41461059957806357a5802f146105b95780635d098b38146105ce57610376565b80633e07387c1461052f5780633ecad2711461054f57806346663b821461056f57610376565b806323b872dd1161030d5780632b112e49116102e75780632b112e49146104b8578063313ce567146104cd57806339509351146104ef5780633b97084a1461050f57610376565b806323b872dd1461046e5780632598cdb21461048e57806327c8f835146104a357610376565b806311ffeaf21161034957806311ffeaf2146103f55780631694505e1461041757806318160ddd1461042c5780631afe88921461044e57610376565b806306fdde031461037b578063095ea7b3146103a65780630ecc200f146103d357610376565b3661037657005b600080fd5b34801561038757600080fd5b5061039061097d565b60405161039d9190612169565b60405180910390f35b3480156103b257600080fd5b506103c66103c1366004611fa3565b610a0f565b60405161039d919061215e565b3480156103df57600080fd5b506103f36103ee366004611fce565b610a2d565b005b34801561040157600080fd5b5061040a610afb565b60405161039d919061210f565b34801561042357600080fd5b5061040a610b0a565b34801561043857600080fd5b50610441610b19565b60405161039d91906123bd565b34801561045a57600080fd5b506103f3610469366004611f6f565b610b1f565b34801561047a57600080fd5b506103c6610489366004611f2f565b610b7f565b34801561049a57600080fd5b5061040a610c08565b3480156104af57600080fd5b5061040a610c1c565b3480156104c457600080fd5b50610441610c40565b3480156104d957600080fd5b506104e2610c7c565b60405161039d9190612423565b3480156104fb57600080fd5b506103c661050a366004611fa3565b610c85565b34801561051b57600080fd5b506103f361052a366004612066565b610cd3565b34801561053b57600080fd5b506103f361054a36600461204c565b610d0d565b34801561055b57600080fd5b506103c661056a366004611ebf565b610d60565b34801561057b57600080fd5b506103c6610d75565b34801561059057600080fd5b506103c6610d85565b3480156105a557600080fd5b506103c66105b4366004611ebf565b610d95565b3480156105c557600080fd5b50610441610daa565b3480156105da57600080fd5b506103f36105e9366004611ebf565b610db0565b3480156105fa57600080fd5b50610441610e0d565b34801561060f57600080fd5b506103f361061e36600461204c565b610e13565b34801561062f57600080fd5b50610441610e66565b34801561064457600080fd5b506103f3610653366004611f6f565b610e6c565b34801561066457600080fd5b50610441610673366004611ebf565b610ecc565b34801561068457600080fd5b50610441610eeb565b34801561069957600080fd5b506103f36106a8366004611f6f565b610ef1565b3480156106b957600080fd5b50610441610f51565b3480156106ce57600080fd5b506103c66106dd366004611ebf565b610f57565b3480156106ee57600080fd5b5061040a610f6c565b34801561070357600080fd5b506103f3610f7b565b34801561071857600080fd5b50610390611000565b34801561072d57600080fd5b506103f361073c366004612066565b61100f565b34801561074d57600080fd5b50610441611067565b34801561076257600080fd5b5061044161106d565b34801561077757600080fd5b50610441611073565b34801561078c57600080fd5b506103c661079b366004611fa3565b611079565b3480156107ac57600080fd5b506104416110e1565b3480156107c157600080fd5b506103f36107d0366004611ebf565b6110e7565b3480156107e157600080fd5b506103c66107f0366004611fa3565b61113e565b34801561080157600080fd5b506103c661081036600461207e565b611152565b34801561082157600080fd5b50610441611157565b34801561083657600080fd5b506103f361084536600461204c565b61115d565b34801561085657600080fd5b506104416111e4565b34801561086b57600080fd5b5061040a6111ea565b34801561088057600080fd5b506104416111f9565b34801561089557600080fd5b506103c66108a4366004611ebf565b6111ff565b3480156108b557600080fd5b50610441611214565b3480156108ca57600080fd5b506103f36108d9366004612066565b61121a565b3480156108ea57600080fd5b506103c6611272565b3480156108ff57600080fd5b50610441611282565b34801561091457600080fd5b50610441610923366004611ef7565b611288565b34801561093457600080fd5b506103f3610943366004611f6f565b6112b3565b34801561095457600080fd5b50610441611313565b34801561096957600080fd5b506103f3610978366004611ebf565b611319565b60606001805461098c906125b6565b80601f01602080910402602001604051908101604052809291908181526020018280546109b8906125b6565b8015610a055780601f106109da57610100808354040283529160200191610a05565b820191906000526020600020905b8154815290600101906020018083116109e857829003601f168201915b5050505050905090565b6000610a23610a1c611485565b8484611489565b5060015b92915050565b610a35611485565b6000546001600160a01b03908116911614610a6b5760405162461bcd60e51b8152600401610a62906122ff565b60405180910390fd5b60c98210610a7857600080fd5b60005b82811015610af5578160076000868685818110610aa857634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610abd9190611ebf565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610aee816125f1565b9050610a7b565b50505050565b6004546001600160a01b031681565b601b546001600160a01b031681565b60175490565b610b27611485565b6000546001600160a01b03908116911614610b545760405162461bcd60e51b8152600401610a62906122ff565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000610b8c84848461153d565b50610bfd84610b99611485565b610bf88560405180606001604052806028815260200161263b602891396001600160a01b038a16600090815260066020526040812090610bd7611485565b6001600160a01b031681526020810191909152604001600020549190611837565b611489565b5060015b9392505050565b60035461010090046001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000dead81565b6000610c77610c6e7f000000000000000000000000000000000000000000000000000000000000dead610ecc565b60175490611871565b905090565b60035460ff1690565b6000610a23610c92611485565b84610bf88560066000610ca3611485565b6001600160a01b03908116825260208083019390935260409182016000908120918c1681529252902054906113cf565b610cdb611485565b6000546001600160a01b03908116911614610d085760405162461bcd60e51b8152600401610a62906122ff565b601a55565b610d15611485565b6000546001600160a01b03908116911614610d425760405162461bcd60e51b8152600401610a62906122ff565b601c8054911515600160b01b0260ff60b01b19909216919091179055565b600a6020526000908152604090205460ff1681565b601c54600160b81b900460ff1681565b601c54600160a81b900460ff1681565b60076020526000908152604090205460ff1681565b60115481565b610db8611485565b6000546001600160a01b03908116911614610de55760405162461bcd60e51b8152600401610a62906122ff565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b60125481565b610e1b611485565b6000546001600160a01b03908116911614610e485760405162461bcd60e51b8152600401610a62906122ff565b601c8054911515600160b81b0260ff60b81b19909216919091179055565b60185481565b610e74611485565b6000546001600160a01b03908116911614610ea15760405162461bcd60e51b8152600401610a62906122ff565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6001600160a01b0381166000908152600560205260409020545b919050565b60155481565b610ef9611485565b6000546001600160a01b03908116911614610f265760405162461bcd60e51b8152600401610a62906122ff565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b600e5481565b60096020526000908152604090205460ff1681565b6000546001600160a01b031690565b610f83611485565b6000546001600160a01b03908116911614610fb05760405162461bcd60e51b8152600401610a62906122ff565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b60606002805461098c906125b6565b611017611485565b6000546001600160a01b039081169116146110445760405162461bcd60e51b8152600401610a62906122ff565b61104c610c7c565b61105790600a6124af565b6110619082612580565b60195550565b60195481565b601a5490565b60165481565b6000610a23611086611485565b84610bf88560405180606001604052806025815260200161266360259139600660006110b0611485565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611837565b60135481565b6110ef611485565b6000546001600160a01b0390811691161461111c5760405162461bcd60e51b8152600401610a62906122ff565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000610bfd61114b611485565b848461153d565b101590565b600d5481565b611165611485565b6000546001600160a01b039081169116146111925760405162461bcd60e51b8152600401610a62906122ff565b601c805460ff60a81b1916600160a81b831515021790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159906111d990839061215e565b60405180910390a150565b600c5481565b601c546001600160a01b031681565b600f5481565b60086020526000908152604090205460ff1681565b60105481565b611222611485565b6000546001600160a01b0390811691161461124f5760405162461bcd60e51b8152600401610a62906122ff565b611257610c7c565b61126290600a6124af565b61126c9082612580565b60185550565b601c54600160b01b900460ff1681565b600b5481565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6112bb611485565b6000546001600160a01b039081169116146112e85760405162461bcd60e51b8152600401610a62906122ff565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b60145481565b611321611485565b6000546001600160a01b0390811691161461134e5760405162461bcd60e51b8152600401610a62906122ff565b6001600160a01b0381166113745760405162461bcd60e51b8152600401610a62906121ff565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806113dc8385612431565b905083811015610c015760405162461bcd60e51b8152600401610a6290612287565b60008261140d57506000610a27565b60006114198385612580565b9050826114268583612449565b14610c015760405162461bcd60e51b8152600401610a62906122be565b6000610c0183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118b3565b3390565b6001600160a01b0383166114af5760405162461bcd60e51b8152600401610a6290612379565b6001600160a01b0382166114d55760405162461bcd60e51b8152600401610a6290612245565b6001600160a01b0380841660008181526006602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906115309085906123bd565b60405180910390a3505050565b60006001600160a01b0384166115655760405162461bcd60e51b8152600401610a6290612334565b6001600160a01b03831661158b5760405162461bcd60e51b8152600401610a62906121bc565b601c54600160a01b900460ff16156115af576115a88484846118e1565b9050610c01565b6001600160a01b03841660009081526009602052604090205460ff161580156115f157506001600160a01b03831660009081526009602052604090205460ff16155b1561160b5761160282601854611152565b61160b57600080fd5b600061161630610ecc565b601a54909150811080159081906116375750601c54600160a01b900460ff16155b801561165c57506001600160a01b0386166000908152600a602052604090205460ff16155b80156116715750601c54600160a81b900460ff165b1561169757601c54600160b01b900460ff161561168e57601a5491505b611697826119c5565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600590915291909120546116e9918690611837565b6001600160a01b038716600090815260056020908152604080832093909355600790529081205460ff168061173657506001600160a01b03861660009081526007602052604090205460ff165b15611742575083611750565b61174d878787611b00565b90505b601c54600160b81b900460ff16801561178257506001600160a01b03861660009081526008602052604090205460ff16155b156117ae576117a561179d8261179789610ecc565b906113cf565b601954611152565b6117ae57600080fd5b6001600160a01b0386166000908152600560205260409020546117d190826113cf565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118239085906123bd565b60405180910390a360019350505050610c01565b6000818484111561185b5760405162461bcd60e51b8152600401610a629190612169565b506000611868848661259f565b95945050505050565b6000610c0183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611837565b600081836118d45760405162461bcd60e51b8152600401610a629190612169565b5060006118688486612449565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054611932918490611837565b6001600160a01b03808616600090815260056020526040808220939093559085168152205461196190836113cf565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119b39086906123bd565b60405180910390a35060019392505050565b601c805460ff60a01b1916600160a01b1790556016546011546000916119fb916002916119f591829087906113fe565b90611443565b90506000611a098383611871565b9050611a1481611c04565b6011544790600090611a3490611a2b906002611443565b60165490611871565b90506000611a5660026119f5846119f5601154886113fe90919063ffffffff16565b90506000611a73836119f5601354876113fe90919063ffffffff16565b90506000611a8b82611a858786611871565b90611871565b90508015611aae57600354611aae9061010090046001600160a01b031682611dbc565b8115611aca57600454611aca906001600160a01b031683611dbc565b600083118015611ada5750600087115b15611ae957611ae98784611df7565b5050601c805460ff60a01b19169055505050505050565b6001600160a01b0383166000908152600a6020526040812054819060ff1615611b4457611b3d60646119f5601454866113fe90919063ffffffff16565b9050611b82565b6001600160a01b0384166000908152600a602052604090205460ff1615611b8257611b7f60646119f5601554866113fe90919063ffffffff16565b90505b8015611bfa5730600090815260056020526040902054611ba290826113cf565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611bf19085906123bd565b60405180910390a35b6118688382611871565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611c4757634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601b54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611c9b57600080fd5b505afa158015611caf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cd39190611edb565b81600181518110611cf457634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152601b54611d1a9130911684611489565b601b5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611d539085906000908690309042906004016123e7565b600060405180830381600087803b158015611d6d57600080fd5b505af1925050508015611d7e575060015b507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611db09291906123c6565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611df2573d6000803e3d6000fd5b505050565b601b54611e0f9030906001600160a01b031684611489565b601b5460035460405163f305d71960e01b81526001600160a01b039283169263f305d719928592611e5492309289926000928392610100900416904290600401612123565b6060604051808303818588803b158015611e6d57600080fd5b505af193505050508015611e9e575060408051601f3d908101601f19168201909252611e9b9181019061209f565b60015b611ea757611eab565b5050505b5050565b80358015158114610ee657600080fd5b600060208284031215611ed0578081fd5b8135610c0181612622565b600060208284031215611eec578081fd5b8151610c0181612622565b60008060408385031215611f09578081fd5b8235611f1481612622565b91506020830135611f2481612622565b809150509250929050565b600080600060608486031215611f43578081fd5b8335611f4e81612622565b92506020840135611f5e81612622565b929592945050506040919091013590565b60008060408385031215611f81578182fd5b8235611f8c81612622565b9150611f9a60208401611eaf565b90509250929050565b60008060408385031215611fb5578182fd5b8235611fc081612622565b946020939093013593505050565b600080600060408486031215611fe2578283fd5b833567ffffffffffffffff80821115611ff9578485fd5b818601915086601f83011261200c578485fd5b81358181111561201a578586fd5b876020808302850101111561202d578586fd5b6020928301955093506120439186019050611eaf565b90509250925092565b60006020828403121561205d578081fd5b610c0182611eaf565b600060208284031215612077578081fd5b5035919050565b60008060408385031215612090578182fd5b50508035926020909101359150565b6000806000606084860312156120b3578283fd5b8351925060208401519150604084015190509250925092565b6000815180845260208085019450808401835b838110156121045781516001600160a01b0316875295820195908201906001016120df565b509495945050505050565b6001600160a01b0391909116815260200190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b8181101561219557858101830151858201604001528201612179565b818111156121a65783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b90815260200190565b6000838252604060208301526123df60408301846120cc565b949350505050565b600086825285602083015260a0604083015261240660a08301866120cc565b6001600160a01b0394909416606083015250608001529392505050565b60ff91909116815260200190565b600082198211156124445761244461260c565b500190565b60008261246457634e487b7160e01b81526012600452602481fd5b500490565b80825b600180861161247b57506124a6565b81870482111561248d5761248d61260c565b8086161561249a57918102915b9490941c93800261246c565b94509492505050565b6000610c0160001960ff8516846000826124cb57506001610c01565b816124d857506000610c01565b81600181146124ee57600281146124f857612525565b6001915050610c01565b60ff8411156125095761250961260c565b6001841b91508482111561251f5761251f61260c565b50610c01565b5060208310610133831016604e8410600b8410161715612558575081810a838111156125535761255361260c565b610c01565b6125658484846001612469565b8086048211156125775761257761260c565b02949350505050565b600081600019048311821515161561259a5761259a61260c565b500290565b6000828210156125b1576125b161260c565b500390565b6002810460018216806125ca57607f821691505b602082108114156125eb57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156126055761260561260c565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461263757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122035f74377e883c8780e127da83282bec1e475e71323013db9f9621187b27ff9b364736f6c63430008000033
Deployed Bytecode Sourcemap
18477:441:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8733:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10027:161;;;;;;;;;;-1:-1:-1;10027:161:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;10960:260::-;;;;;;;;;;-1:-1:-1;10960:260:0;;;;;:::i;:::-;;:::i;:::-;;4601:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;5718:41::-;;;;;;;;;;;;;:::i;9010:100::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;10678:127::-;;;;;;;;;;-1:-1:-1;10678:127:0;;;;;:::i;:::-;;:::i;13026:313::-;;;;;;;;;;-1:-1:-1;13026:313:0;;;;;:::i;:::-;;:::i;4556:38::-;;;;;;;;;;;;;:::i;4645:81::-;;;;;;;;;;;;;:::i;12487:128::-;;;;;;;;;;;;;:::i;8919:83::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;9396:218::-;;;;;;;;;;-1:-1:-1;9396:218:0;;;;;:::i;:::-;;:::i;11775:124::-;;;;;;;;;;-1:-1:-1;11775:124:0;;;;;:::i;:::-;;:::i;12350:125::-;;;;;;;;;;-1:-1:-1;12350:125:0;;;;;:::i;:::-;;:::i;5039:45::-;;;;;;;;;;-1:-1:-1;5039:45:0;;;;;:::i;:::-;;:::i;5932:36::-;;;;;;;;;;;;;:::i;5833:40::-;;;;;;;;;;;;;:::i;4868:50::-;;;;;;;;;;-1:-1:-1;4868:50:0;;;;;:::i;:::-;;:::i;5322:30::-;;;;;;;;;;;;;:::i;11907:125::-;;;;;;;;;;-1:-1:-1;11907:125:0;;;;;:::i;:::-;;:::i;5359:30::-;;;;;;;;;;;;;:::i;11368:113::-;;;;;;;;;;-1:-1:-1;11368:113:0;;;;;:::i;:::-;;:::i;5592:29::-;;;;;;;;;;;;;:::i;11489:135::-;;;;;;;;;;-1:-1:-1;11489:135:0;;;;;:::i;:::-;;:::i;9118:119::-;;;;;;;;;;-1:-1:-1;9118:119:0;;;;;:::i;:::-;;:::i;5469:33::-;;;;;;;;;;;;;:::i;10541:129::-;;;;;;;;;;-1:-1:-1;10541:129:0;;;;;:::i;:::-;;:::i;5208:32::-;;;;;;;;;;;;;:::i;4984:48::-;;;;;;;;;;-1:-1:-1;4984:48:0;;;;;:::i;:::-;;:::i;2908:79::-;;;;;;;;;;;;;:::i;3133:155::-;;;;;;;;;;;;;:::i;8824:87::-;;;;;;;;;;;;;:::i;11632:135::-;;;;;;;;;;-1:-1:-1;11632:135:0;;;;;:::i;:::-;;:::i;5629:33::-;;;;;;;;;;;;;:::i;9899:120::-;;;;;;;;;;;;;:::i;5509:39::-;;;;;;;;;;;;;:::i;9622:269::-;;;;;;;;;;-1:-1:-1;9622:269:0;;;;;:::i;:::-;;:::i;5396:25::-;;;;;;;;;;;;;:::i;12040:123::-;;;;;;;;;;-1:-1:-1;12040:123:0;;;;;:::i;:::-;;:::i;12851:167::-;;;;;;;;;;-1:-1:-1;12851:167:0;;;;;:::i;:::-;;:::i;15135:86::-;;;;;;;;;;-1:-1:-1;15135:86:0;;;;;:::i;:::-;;:::i;5169:26::-;;;;;;;;;;;;;:::i;12171:171::-;;;;;;;;;;-1:-1:-1;12171:171:0;;;;;:::i;:::-;;:::i;5131:31::-;;;;;;;;;;;;;:::i;5766:26::-;;;;;;;;;;;;;:::i;5247:32::-;;;;;;;;;;;;;:::i;4925:52::-;;;;;;;;;;-1:-1:-1;4925:52:0;;;;;:::i;:::-;;:::i;5286:27::-;;;;;;;;;;;;;:::i;11232:128::-;;;;;;;;;;-1:-1:-1;11232:128:0;;;;;:::i;:::-;;:::i;5880:45::-;;;;;;;;;;;;;:::i;5093:31::-;;;;;;;;;;;;;:::i;9245:143::-;;;;;;;;;;-1:-1:-1;9245:143:0;;;;;:::i;:::-;;:::i;10817:135::-;;;;;;;;;;-1:-1:-1;10817:135:0;;;;;:::i;:::-;;:::i;5430:32::-;;;;;;;;;;;;;:::i;3296:244::-;;;;;;;;;;-1:-1:-1;3296:244:0;;;;;:::i;:::-;;:::i;8733:83::-;8770:13;8803:5;8796:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8733:83;:::o;10027:161::-;10102:4;10119:39;10128:12;:10;:12::i;:::-;10142:7;10151:6;10119:8;:39::i;:::-;-1:-1:-1;10176:4:0;10027:161;;;;;:::o;10960:260::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;;;;;;;;;11088:3:::1;11069:22:::0;::::1;11061:31;;;::::0;::::1;;11108:9;11103:110;11119:20:::0;;::::1;11103:110;;;11195:6;11161:17;:31;11179:9;;11189:1;11179:12;;;;;-1:-1:-1::0;;;11179:12:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11161:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;11161:31:0;:40;;-1:-1:-1;;11161:40:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11141:3:::1;::::0;::::1;:::i;:::-;;;11103:110;;;;10960:260:::0;;;:::o;4601:37::-;;;-1:-1:-1;;;;;4601:37:0;;:::o;5718:41::-;;;-1:-1:-1;;;;;5718:41:0;;:::o;9010:100::-;9090:12;;9010:100;:::o;10678:127::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10765:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;10765:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10678:127::o;13026:313::-;13124:4;13141:36;13151:6;13159:9;13170:6;13141:9;:36::i;:::-;;13188:121;13197:6;13205:12;:10;:12::i;:::-;13219:89;13257:6;13219:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13219:19:0;;;;;;:11;:19;;;;;;13239:12;:10;:12::i;:::-;-1:-1:-1;;;;;13219:33:0;;;;;;;;;;;;-1:-1:-1;13219:33:0;;;:89;:37;:89::i;:::-;13188:8;:121::i;:::-;-1:-1:-1;13327:4:0;13026:313;;;;;;:::o;4556:38::-;;;;;;-1:-1:-1;;;;;4556:38:0;;:::o;4645:81::-;;;:::o;12487:128::-;12540:7;12567:40;12584:22;12594:11;12584:9;:22::i;:::-;12567:12;;;:16;:40::i;:::-;12560:47;;12487:128;:::o;8919:83::-;8985:9;;;;8919:83;:::o;9396:218::-;9484:4;9501:83;9510:12;:10;:12::i;:::-;9524:7;9533:50;9572:10;9533:11;:25;9545:12;:10;:12::i;:::-;-1:-1:-1;;;;;9533:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;9533:25:0;;;:34;;;;;;;;;;;:38;:50::i;11775:124::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;11857:23:::1;:34:::0;11775:124::o;12350:125::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;12431:25:::1;:36:::0;;;::::1;;-1:-1:-1::0;;;12431:36:0::1;-1:-1:-1::0;;;;12431:36:0;;::::1;::::0;;;::::1;::::0;;12350:125::o;5039:45::-;;;;;;;;;;;;;;;:::o;5932:36::-;;;-1:-1:-1;;;5932:36:0;;;;;:::o;5833:40::-;;;-1:-1:-1;;;5833:40:0;;;;;:::o;4868:50::-;;;;;;;;;;;;;;;:::o;5322:30::-;;;;:::o;11907:125::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;11987:15:::1;:37:::0;;-1:-1:-1;;;;;11987:37:0;;::::1;;;-1:-1:-1::0;;;;;;11987:37:0;;::::1;::::0;;;::::1;::::0;;11907:125::o;5359:30::-;;;;:::o;11368:113::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;11445:17:::1;:28:::0;;;::::1;;-1:-1:-1::0;;;11445:28:0::1;-1:-1:-1::0;;;;11445:28:0;;::::1;::::0;;;::::1;::::0;;11368:113::o;5592:29::-;;;;:::o;11489:135::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11580:27:0;;;::::1;;::::0;;;:19:::1;:27;::::0;;;;:36;;-1:-1:-1;;11580:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11489:135::o;9118:119::-;-1:-1:-1;;;;;9211:18:0;;9184:7;9211:18;;;:9;:18;;;;;;9118:119;;;;:::o;5469:33::-;;;;:::o;10541:129::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10630:21:0;;;::::1;;::::0;;;:12:::1;:21;::::0;;;;:32;;-1:-1:-1;;10630:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10541:129::o;5208:32::-;;;;:::o;4984:48::-;;;;;;;;;;;;;;;:::o;2908:79::-;2946:7;2973:6;-1:-1:-1;;;;;2973:6:0;2908:79;:::o;3133:155::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;3221:6:::1;::::0;;3200:45:::1;::::0;3237:6:::1;::::0;-1:-1:-1;;;;;3221:6:0;;::::1;::::0;3200:45:::1;::::0;::::1;3256:6;:24:::0;;-1:-1:-1;;;;;;3256:24:0::1;3273:6;3256:24;::::0;;3133:155::o;8824:87::-;8863:13;8896:7;8889:14;;;;;:::i;11632:135::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;11749:10:::1;:8;:10::i;:::-;11743:16;::::0;:2:::1;:16;:::i;:::-;11732:27;::::0;:8;:27:::1;:::i;:::-;11710:18;:49:::0;-1:-1:-1;11632:135:0:o;5629:33::-;;;;:::o;9899:120::-;9988:23;;9899:120;:::o;5509:39::-;;;;:::o;9622:269::-;9715:4;9732:129;9741:12;:10;:12::i;:::-;9755:7;9764:96;9803:15;9764:96;;;;;;;;;;;;;;;;;:11;:25;9776:12;:10;:12::i;:::-;-1:-1:-1;;;;;9764:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;9764:25:0;;;:34;;;;;;;;;;;:96;:38;:96::i;5396:25::-;;;;:::o;12040:123::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;12119:14:::1;:36:::0;;-1:-1:-1;;;;;;12119:36:0::1;-1:-1:-1::0;;;;;12119:36:0;;;::::1;::::0;;;::::1;::::0;;12040:123::o;12851:167::-;12929:4;12946:42;12956:12;:10;:12::i;:::-;12970:9;12981:6;12946:9;:42::i;15135:86::-;-1:-1:-1;15214:4:0;;15135:86::o;5169:26::-;;;;:::o;12171:171::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;12248:21:::1;:32:::0;;-1:-1:-1;;;;12248:32:0::1;-1:-1:-1::0;;;12248:32:0;::::1;;;;::::0;;12296:38:::1;::::0;::::1;::::0;::::1;::::0;12248:32;;12296:38:::1;:::i;:::-;;;;;;;;12171:171:::0;:::o;5131:31::-;;;;:::o;5766:26::-;;;-1:-1:-1;;;;;5766:26:0;;:::o;5247:32::-;;;;:::o;4925:52::-;;;;;;;;;;;;;;;:::o;5286:27::-;;;;:::o;11232:128::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;11342:10:::1;:8;:10::i;:::-;11336:16;::::0;:2:::1;:16;:::i;:::-;11325:27;::::0;:8;:27:::1;:::i;:::-;11308:14;:44:::0;-1:-1:-1;11232:128:0:o;5880:45::-;;;-1:-1:-1;;;5880:45:0;;;;;:::o;5093:31::-;;;;:::o;9245:143::-;-1:-1:-1;;;;;9353:18:0;;;9326:7;9353:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9245:143::o;10817:135::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10907:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:37;;-1:-1:-1;;10907:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10817:135::o;5430:32::-;;;;:::o;3296:244::-;3052:12;:10;:12::i;:::-;3042:6;;-1:-1:-1;;;;;3042:6:0;;;:22;;;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3385:22:0;::::1;3377:73;;;;-1:-1:-1::0;;;3377:73:0::1;;;;;;;:::i;:::-;3487:6;::::0;;3466:38:::1;::::0;-1:-1:-1;;;;;3466:38:0;;::::1;::::0;3487:6;::::1;::::0;3466:38:::1;::::0;::::1;3515:6;:17:::0;;-1:-1:-1;;;;;;3515:17:0::1;-1:-1:-1::0;;;;;3515:17:0;;;::::1;::::0;;;::::1;::::0;;3296:244::o;1151:181::-;1209:7;;1241:5;1245:1;1241;:5;:::i;:::-;1229:17;;1270:1;1265;:6;;1257:46;;;;-1:-1:-1;;;1257:46:0;;;;;;;:::i;1684:250::-;1742:7;1766:6;1762:47;;-1:-1:-1;1796:1:0;1789:8;;1762:47;1821:9;1833:5;1837:1;1833;:5;:::i;:::-;1821:17;-1:-1:-1;1866:1:0;1857:5;1861:1;1821:17;1857:5;:::i;:::-;:10;1849:56;;;;-1:-1:-1;;;1849:56:0;;;;;;;:::i;1942:132::-;2000:7;2027:39;2031:1;2034;2027:39;;;;;;;;;;;;;;;;;:3;:39::i;202:115::-;298:10;202:115;:::o;10196:337::-;-1:-1:-1;;;;;10289:19:0;;10281:68;;;;-1:-1:-1;;;10281:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10368:21:0;;10360:68;;;;-1:-1:-1;;;10360:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10441:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;10493:32;;;;;10471:6;;10493:32;:::i;:::-;;;;;;;;10196:337;;;:::o;13347:1780::-;13434:4;-1:-1:-1;;;;;13461:20:0;;13453:70;;;;-1:-1:-1;;;13453:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13542:23:0;;13534:71;;;;-1:-1:-1;;;13534:71:0;;;;;;;:::i;:::-;13621:16;;-1:-1:-1;;;13621:16:0;;;;13618:1502;;;13671:41;13686:6;13694:9;13705:6;13671:14;:41::i;:::-;13664:48;;;;13618:1502;-1:-1:-1;;;;;13768:23:0;;;;;;:15;:23;;;;;;;;13767:24;:55;;;;-1:-1:-1;;;;;;13796:26:0;;;;;;:15;:26;;;;;;;;13795:27;13767:55;13764:140;;;13851:36;13864:6;13872:14;;13851:12;:36::i;:::-;13843:45;;;;;;13932:28;13963:24;13981:4;13963:9;:24::i;:::-;14057:23;;13932:55;;-1:-1:-1;14033:47:0;;;;;;;14113:44;;-1:-1:-1;14141:16:0;;-1:-1:-1;;;14141:16:0;;;;14140:17;14113:44;:69;;;;-1:-1:-1;;;;;;14162:20:0;;;;;;:12;:20;;;;;;;;14161:21;14113:69;:94;;;;-1:-1:-1;14186:21:0;;-1:-1:-1;;;14186:21:0;;;;14113:94;14109:305;;;14245:25;;-1:-1:-1;;;14245:25:0;;;;14242:97;;;14316:23;;14293:46;;14242:97;14358:36;14373:20;14358:14;:36::i;:::-;14450:53;;;;;;;;;;;-1:-1:-1;;;14450:53:0;;;;;;;;-1:-1:-1;;;;;14450:17:0;;-1:-1:-1;14450:17:0;;;:9;:17;;;;;;;;:53;;14472:6;;14450:21;:53::i;:::-;-1:-1:-1;;;;;14430:17:0;;;;;;:9;:17;;;;;;;;:73;;;;14556:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;14585:28:0;;;;;;:17;:28;;;;;;;;14556:57;14552:207;;;-1:-1:-1;14648:6:0;14552:207;;;14709:34;14717:6;14725:9;14736:6;14709:7;:34::i;:::-;14695:48;;14552:207;14778:17;;-1:-1:-1;;;14778:17:0;;;;:52;;;;-1:-1:-1;;;;;;14800:30:0;;;;;;:19;:30;;;;;;;;14799:31;14778:52;14775:154;;;14857:71;14870:37;14895:11;14870:20;14880:9;14870;:20::i;:::-;:24;;:37::i;:::-;14909:18;;14857:12;:71::i;:::-;14849:80;;;;;;-1:-1:-1;;;;;14969:20:0;;;;;;:9;:20;;;;;;:37;;14994:11;14969:24;:37::i;:::-;-1:-1:-1;;;;;14946:20:0;;;;;;;:9;:20;;;;;;;:60;;;;15028:40;;;;;;;;;;15056:11;;15028:40;:::i;:::-;;;;;;;;15090:4;15083:11;;;;;;;1484:192;1570:7;1606:12;1598:6;;;;1590:29;;;;-1:-1:-1;;;1590:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1630:9:0;1642:5;1646:1;1642;:5;:::i;:::-;1630:17;1484:192;-1:-1:-1;;;;;1484:192:0:o;1340:136::-;1398:7;1425:43;1429:1;1432;1425:43;;;;;;;;;;;;;;;;;:3;:43::i;2082:189::-;2168:7;2203:12;2196:5;2188:28;;;;-1:-1:-1;;;2188:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2227:9:0;2239:5;2243:1;2239;:5;:::i;15229:330::-;15359:53;;;;;;;;;;;-1:-1:-1;;;15359:53:0;;;;;;;;-1:-1:-1;;;;;15359:17:0;;15322:4;15359:17;;;:9;:17;;;;;;;:53;;15381:6;;15359:21;:53::i;:::-;-1:-1:-1;;;;;15339:17:0;;;;;;;:9;:17;;;;;;:73;;;;15446:20;;;;;;;:32;;15471:6;15446:24;:32::i;:::-;-1:-1:-1;;;;;15423:20:0;;;;;;;:9;:20;;;;;;;:55;;;;15494:35;;;;;;;;;;15522:6;;15494:35;:::i;:::-;;;;;;;;-1:-1:-1;15547:4:0;15229:330;;;;;:::o;15567:1038::-;6391:16;:23;;-1:-1:-1;;;;6391:23:0;-1:-1:-1;;;6391:23:0;;;15704:24:::1;::::0;15683:15:::1;::::0;6391:23;;15671:65:::1;::::0;15734:1:::1;::::0;15671:58:::1;::::0;;;:7;;:11:::1;:28::i;:::-;:32:::0;::::1;:58::i;:65::-;15649:87:::0;-1:-1:-1;15747:21:0::1;15771:24;:7:::0;15649:87;15771:11:::1;:24::i;:::-;15747:48;;15808:31;15825:13;15808:16;:31::i;:::-;15960:15;::::0;15875:21:::1;::::0;15850:22:::1;::::0;15931:52:::1;::::0;15960:22:::1;::::0;15980:1:::1;15960:19;:22::i;:::-;15931:24;::::0;;:28:::1;:52::i;:::-;15909:74;;16004:26;16033:59;16090:1;16033:52;16073:11;16033:35;16052:15;;16033:14;:18;;:35;;;;:::i;:59::-;16004:88;;16103:21;16127:47;16162:11;16127:30;16146:10;;16127:14;:18;;:30;;;;:::i;:47::-;16103:71:::0;-1:-1:-1;16185:26:0::1;16214:57;16103:71:::0;16214:38:::1;:14:::0;16233:18;16214::::1;:38::i;:::-;:42:::0;::::1;:57::i;:::-;16185:86:::0;-1:-1:-1;16287:22:0;;16284:97:::1;;16345:15;::::0;16324:57:::1;::::0;16345:15:::1;::::0;::::1;-1:-1:-1::0;;;;;16345:15:0::1;16362:18:::0;16324:20:::1;:57::i;:::-;16397:17:::0;;16394:86:::1;;16450:14;::::0;16429:51:::1;::::0;-1:-1:-1;;;;;16450:14:0::1;16466:13:::0;16429:20:::1;:51::i;:::-;16517:1;16496:18;:22;:41;;;;;16536:1;16522:11;:15;16496:41;16493:104;;;16552:45;16565:11;16578:18;16552:12;:45::i;:::-;-1:-1:-1::0;;6437:16:0;:24;;-1:-1:-1;;;;6437:24:0;;;-1:-1:-1;;;;;;15567:1038:0:o;17848:622::-;-1:-1:-1;;;;;18009:20:0;;17934:7;18009:20;;;:12;:20;;;;;;17934:7;;18009:20;;18006:223;;;18058:38;18092:3;18058:29;18069:17;;18058:6;:10;;:29;;;;:::i;:38::-;18046:50;;18006:223;;;-1:-1:-1;;;;;18126:23:0;;;;;;:12;:23;;;;;;;;18123:106;;;18178:39;18213:3;18178:30;18189:18;;18178:6;:10;;:30;;;;:::i;:39::-;18166:51;;18123:106;18252:13;;18249:173;;18327:4;18309:24;;;;:9;:24;;;;;;:39;;18338:9;18309:28;:39::i;:::-;18300:4;18282:24;;;;:9;:24;;;;;;;:66;;;;18368:42;;-1:-1:-1;;;;;18368:42:0;;;;;;;18400:9;;18368:42;:::i;:::-;;;;;;;;18249:173;18441:21;:6;18452:9;18441:10;:21::i;16615:681::-;16765:16;;;16779:1;16765:16;;;;;;;;16741:21;;16765:16;;;;;;;;;;-1:-1:-1;16765:16:0;16741:40;;16810:4;16792;16797:1;16792:7;;;;;;-1:-1:-1;;;16792:7:0;;;;;;;;;-1:-1:-1;;;;;16792:23:0;;;:7;;;;;;;;;;:23;;;;16836:15;;:22;;;-1:-1:-1;;;16836:22:0;;;;:15;;;;;:20;;:22;;;;;16792:7;;16836:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16826:4;16831:1;16826:7;;;;;;-1:-1:-1;;;16826:7:0;;;;;;;;;-1:-1:-1;;;;;16826:32:0;;;:7;;;;;;;;;:32;16903:15;;16871:62;;16888:4;;16903:15;16921:11;16871:8;:62::i;:::-;16976:15;;:240;;-1:-1:-1;;;16976:240:0;;-1:-1:-1;;;;;16976:15:0;;;;:66;;:240;;17057:11;;16976:15;;17127:4;;17154;;17190:15;;16976:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16972:256;17253:35;17270:11;17283:4;17253:35;;;;;;;:::i;:::-;;;;;;;;16615:681;;:::o;12623:126::-;12715:26;;-1:-1:-1;;;;;12715:18:0;;;:26;;;;;12734:6;;12715:26;;;;12734:6;12715:18;:26;;;;;;;;;;;;;;;;;;;;;12623:126;;:::o;17304:536::-;17484:15;;17452:62;;17469:4;;-1:-1:-1;;;;;17484:15:0;17502:11;17452:8;:62::i;:::-;17561:15;;17765;;17561:260;;-1:-1:-1;;;17561:260:0;;-1:-1:-1;;;;;17561:15:0;;;;:31;;17600:9;;17561:260;;17633:4;;17653:11;;17561:15;;;;;17765;;;;17795;;17561:260;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17561:260:0;;;;;;;;-1:-1:-1;;17561:260:0;;;;;;;;;;;;:::i;:::-;;;17557:276;;;;;;;;;17304:536;;:::o;14:162:1:-;81:20;;137:13;;130:21;120:32;;110:2;;166:1;163;156:12;181:259;;293:2;281:9;272:7;268:23;264:32;261:2;;;314:6;306;299:22;261:2;358:9;345:23;377:33;404:5;377:33;:::i;445:263::-;;568:2;556:9;547:7;543:23;539:32;536:2;;;589:6;581;574:22;536:2;626:9;620:16;645:33;672:5;645:33;:::i;713:402::-;;;842:2;830:9;821:7;817:23;813:32;810:2;;;863:6;855;848:22;810:2;907:9;894:23;926:33;953:5;926:33;:::i;:::-;978:5;-1:-1:-1;1035:2:1;1020:18;;1007:32;1048:35;1007:32;1048:35;:::i;:::-;1102:7;1092:17;;;800:315;;;;;:::o;1120:470::-;;;;1266:2;1254:9;1245:7;1241:23;1237:32;1234:2;;;1287:6;1279;1272:22;1234:2;1331:9;1318:23;1350:33;1377:5;1350:33;:::i;:::-;1402:5;-1:-1:-1;1459:2:1;1444:18;;1431:32;1472:35;1431:32;1472:35;:::i;:::-;1224:366;;1526:7;;-1:-1:-1;;;1580:2:1;1565:18;;;;1552:32;;1224:366::o;1595:329::-;;;1721:2;1709:9;1700:7;1696:23;1692:32;1689:2;;;1742:6;1734;1727:22;1689:2;1786:9;1773:23;1805:33;1832:5;1805:33;:::i;:::-;1857:5;-1:-1:-1;1881:37:1;1914:2;1899:18;;1881:37;:::i;:::-;1871:47;;1679:245;;;;;:::o;1929:327::-;;;2058:2;2046:9;2037:7;2033:23;2029:32;2026:2;;;2079:6;2071;2064:22;2026:2;2123:9;2110:23;2142:33;2169:5;2142:33;:::i;:::-;2194:5;2246:2;2231:18;;;;2218:32;;-1:-1:-1;;;2016:240:1:o;2261:744::-;;;;2422:2;2410:9;2401:7;2397:23;2393:32;2390:2;;;2443:6;2435;2428:22;2390:2;2488:9;2475:23;2517:18;2558:2;2550:6;2547:14;2544:2;;;2579:6;2571;2564:22;2544:2;2622:6;2611:9;2607:22;2597:32;;2667:7;2660:4;2656:2;2652:13;2648:27;2638:2;;2694:6;2686;2679:22;2638:2;2739;2726:16;2765:2;2757:6;2754:14;2751:2;;;2786:6;2778;2771:22;2751:2;2849:7;2842:4;2834;2826:6;2822:17;2818:2;2814:26;2810:37;2807:50;2804:2;;;2875:6;2867;2860:22;2804:2;2911:4;2903:13;;;;-1:-1:-1;2935:6:1;-1:-1:-1;2960:39:1;;2978:20;;;-1:-1:-1;2960:39:1;:::i;:::-;2950:49;;2380:625;;;;;:::o;3010:192::-;;3119:2;3107:9;3098:7;3094:23;3090:32;3087:2;;;3140:6;3132;3125:22;3087:2;3168:28;3186:9;3168:28;:::i;3207:190::-;;3319:2;3307:9;3298:7;3294:23;3290:32;3287:2;;;3340:6;3332;3325:22;3287:2;-1:-1:-1;3368:23:1;;3277:120;-1:-1:-1;3277:120:1:o;3402:258::-;;;3531:2;3519:9;3510:7;3506:23;3502:32;3499:2;;;3552:6;3544;3537:22;3499:2;-1:-1:-1;;3580:23:1;;;3650:2;3635:18;;;3622:32;;-1:-1:-1;3489:171:1:o;3665:316::-;;;;3822:2;3810:9;3801:7;3797:23;3793:32;3790:2;;;3843:6;3835;3828:22;3790:2;3877:9;3871:16;3861:26;;3927:2;3916:9;3912:18;3906:25;3896:35;;3971:2;3960:9;3956:18;3950:25;3940:35;;3780:201;;;;;:::o;3986:469::-;;4083:5;4077:12;4110:6;4105:3;4098:19;4136:4;4165:2;4160:3;4156:12;4149:19;;4202:2;4195:5;4191:14;4223:3;4235:195;4249:6;4246:1;4243:13;4235:195;;;4314:13;;-1:-1:-1;;;;;4310:39:1;4298:52;;4370:12;;;;4405:15;;;;4346:1;4264:9;4235:195;;;-1:-1:-1;4446:3:1;;4053:402;-1:-1:-1;;;;;4053:402:1:o;4460:203::-;-1:-1:-1;;;;;4624:32:1;;;;4606:51;;4594:2;4579:18;;4561:102::o;4892:615::-;-1:-1:-1;;;;;5259:15:1;;;5241:34;;5306:2;5291:18;;5284:34;;;;5349:2;5334:18;;5327:34;;;;5392:2;5377:18;;5370:34;;;;5441:15;;;5435:3;5420:19;;5413:44;5221:3;5473:19;;5466:35;;;;5190:3;5175:19;;5157:350::o;5512:187::-;5677:14;;5670:22;5652:41;;5640:2;5625:18;;5607:92::o;5938:603::-;;6079:2;6108;6097:9;6090:21;6140:6;6134:13;6183:6;6178:2;6167:9;6163:18;6156:34;6208:4;6221:140;6235:6;6232:1;6229:13;6221:140;;;6330:14;;;6326:23;;6320:30;6296:17;;;6315:2;6292:26;6285:66;6250:10;;6221:140;;;6379:6;6376:1;6373:13;6370:2;;;6449:4;6444:2;6435:6;6424:9;6420:22;6416:31;6409:45;6370:2;-1:-1:-1;6525:2:1;6504:15;-1:-1:-1;;6500:29:1;6485:45;;;;6532:2;6481:54;;6059:482;-1:-1:-1;;;6059:482:1:o;6546:399::-;6748:2;6730:21;;;6787:2;6767:18;;;6760:30;6826:34;6821:2;6806:18;;6799:62;-1:-1:-1;;;6892:2:1;6877:18;;6870:33;6935:3;6920:19;;6720:225::o;6950:402::-;7152:2;7134:21;;;7191:2;7171:18;;;7164:30;7230:34;7225:2;7210:18;;7203:62;-1:-1:-1;;;7296:2:1;7281:18;;7274:36;7342:3;7327:19;;7124:228::o;7357:398::-;7559:2;7541:21;;;7598:2;7578:18;;;7571:30;7637:34;7632:2;7617:18;;7610:62;-1:-1:-1;;;7703:2:1;7688:18;;7681:32;7745:3;7730:19;;7531:224::o;7760:351::-;7962:2;7944:21;;;8001:2;7981:18;;;7974:30;8040:29;8035:2;8020:18;;8013:57;8102:2;8087:18;;7934:177::o;8116:397::-;8318:2;8300:21;;;8357:2;8337:18;;;8330:30;8396:34;8391:2;8376:18;;8369:62;-1:-1:-1;;;8462:2:1;8447:18;;8440:31;8503:3;8488:19;;8290:223::o;8518:356::-;8720:2;8702:21;;;8739:18;;;8732:30;8798:34;8793:2;8778:18;;8771:62;8865:2;8850:18;;8692:182::o;8879:401::-;9081:2;9063:21;;;9120:2;9100:18;;;9093:30;9159:34;9154:2;9139:18;;9132:62;-1:-1:-1;;;9225:2:1;9210:18;;9203:35;9270:3;9255:19;;9053:227::o;9285:400::-;9487:2;9469:21;;;9526:2;9506:18;;;9499:30;9565:34;9560:2;9545:18;;9538:62;-1:-1:-1;;;9631:2:1;9616:18;;9609:34;9675:3;9660:19;;9459:226::o;9690:177::-;9836:25;;;9824:2;9809:18;;9791:76::o;9872:338::-;;10079:6;10068:9;10061:25;10122:2;10117;10106:9;10102:18;10095:30;10142:62;10200:2;10189:9;10185:18;10177:6;10142:62;:::i;:::-;10134:70;10051:159;-1:-1:-1;;;;10051:159:1:o;10215:588::-;;10514:6;10503:9;10496:25;10557:6;10552:2;10541:9;10537:18;10530:34;10600:3;10595:2;10584:9;10580:18;10573:31;10621:63;10679:3;10668:9;10664:19;10656:6;10621:63;:::i;:::-;-1:-1:-1;;;;;10720:32:1;;;;10715:2;10700:18;;10693:60;-1:-1:-1;10784:3:1;10769:19;10762:35;10613:71;10486:317;-1:-1:-1;;;10486:317:1:o;10808:184::-;10980:4;10968:17;;;;10950:36;;10938:2;10923:18;;10905:87::o;10997:128::-;;11068:1;11064:6;11061:1;11058:13;11055:2;;;11074:18;;:::i;:::-;-1:-1:-1;11110:9:1;;11045:80::o;11130:217::-;;11196:1;11186:2;;-1:-1:-1;;;11221:31:1;;11275:4;11272:1;11265:15;11303:4;11228:1;11293:15;11186:2;-1:-1:-1;11332:9:1;;11176:171::o;11352:453::-;11448:6;11471:5;11485:314;11534:1;11571:2;11561:8;11558:16;11548:2;;11578:5;;;11548:2;11619:4;11614:3;11610:14;11604:4;11601:24;11598:2;;;11628:18;;:::i;:::-;11678:2;11668:8;11664:17;11661:2;;;11693:16;;;;11661:2;11772:17;;;;;11732:15;;11485:314;;;11429:376;;;;;;;:::o;11810:148::-;;11897:55;-1:-1:-1;;11938:4:1;11924:19;;11918:4;11963:922;12047:8;12037:2;;-1:-1:-1;12088:1:1;12102:5;;12037:2;12136:4;12126:2;;-1:-1:-1;12173:1:1;12187:5;;12126:2;12218:4;12236:1;12231:59;;;;12304:1;12299:183;;;;12211:271;;12231:59;12261:1;12252:10;;12275:5;;;12299:183;12336:3;12326:8;12323:17;12320:2;;;12343:18;;:::i;:::-;12399:1;12389:8;12385:16;12376:25;;12427:3;12420:5;12417:14;12414:2;;;12434:18;;:::i;:::-;12467:5;;;12211:271;;12566:2;12556:8;12553:16;12547:3;12541:4;12538:13;12534:36;12528:2;12518:8;12515:16;12510:2;12504:4;12501:12;12497:35;12494:77;12491:2;;;-1:-1:-1;12603:19:1;;;12638:14;;;12635:2;;;12655:18;;:::i;:::-;12688:5;;12491:2;12735:42;12773:3;12763:8;12757:4;12754:1;12735:42;:::i;:::-;12810:6;12805:3;12801:16;12792:7;12789:29;12786:2;;;12821:18;;:::i;:::-;12859:20;;12027:858;-1:-1:-1;;;;12027:858:1:o;12890:168::-;;12996:1;12992;12988:6;12984:14;12981:1;12978:21;12973:1;12966:9;12959:17;12955:45;12952:2;;;13003:18;;:::i;:::-;-1:-1:-1;13043:9:1;;12942:116::o;13063:125::-;;13131:1;13128;13125:8;13122:2;;;13136:18;;:::i;:::-;-1:-1:-1;13173:9:1;;13112:76::o;13193:380::-;13278:1;13268:12;;13325:1;13315:12;;;13336:2;;13390:4;13382:6;13378:17;13368:27;;13336:2;13443;13435:6;13432:14;13412:18;13409:38;13406:2;;;13489:10;13484:3;13480:20;13477:1;13470:31;13524:4;13521:1;13514:15;13552:4;13549:1;13542:15;13406:2;;13248:325;;;:::o;13578:135::-;;-1:-1:-1;;13638:17:1;;13635:2;;;13658:18;;:::i;:::-;-1:-1:-1;13705:1:1;13694:13;;13625:88::o;13718:127::-;13779:10;13774:3;13770:20;13767:1;13760:31;13810:4;13807:1;13800:15;13834:4;13831:1;13824:15;13850:133;-1:-1:-1;;;;;13927:31:1;;13917:42;;13907:2;;13973:1;13970;13963:12;13907:2;13897:86;:::o
Swarm Source
ipfs://35f74377e883c8780e127da83282bec1e475e71323013db9f9621187b27ff9b3
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.