ERC-20
Overview
Max Total Supply
1,000,000 SonicGoFast
Holders
9
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
16,548.304232741129685453 SonicGoFastValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
ERC20Token1
Compiler Version
v0.8.24+commit.e11b9ed9
Optimization Enabled:
No with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT // Website: https://erc20-launchpad-afpm.vercel.app/home1 // Telegram: https://erc20-launchpad-afpm.vercel.app/home2 // Twitter: https://erc20-launchpad-afpm.vercel.app/home3 // Discord: https://erc20-launchpad-afpm.vercel.app/home4 pragma solidity ^0.8.10; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } /* Library Definitions */ library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } interface IUniswapV2Factory { event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 value ) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Mint(address indexed sender, uint256 amount0, uint256 amount1); event Burn( address indexed sender, uint256 amount0, uint256 amount1, address indexed to ); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns ( uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast ); function price0CumulativeLast() external view returns (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function mint(address to) external returns (uint256 liquidity); function burn(address to) external returns (uint256 amount0, uint256 amount1); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } interface IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); 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); } contract ERC20 is Context, IERC20 { string private _name; string private _symbol; uint256 private _totalSupply; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, amount); } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } /* Main Contract */ contract ERC20Token1 is ERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public uniswapRouter; address public uniswapPair; address public mkWallet; bool public tradingActive = false; bool public swapEnabled = false; bool public limitsInEffect = true; uint8 private _decimals = 18; uint256 public maxTxnSize; uint256 public swapTokensAtAmount; uint256 public maxWalletSize; uint256 public buyMarketFee; uint256 public sellMarketFee; uint256 public tokensForMarket; bool private swapping; mapping(address => bool) private isBlackList; mapping(address => bool) public isExcludedFromFees; mapping(address => bool) public isExcludemaxTxnSize; mapping(address => bool) public ammPairs; constructor( string memory name_, string memory symbol_, uint8 decimals_, uint256 totalNativeSupply_, address marketingWallet_, uint256 buyFee_, uint256 sellFee_ ) ERC20(name_, symbol_) { _decimals = decimals_; mkWallet = marketingWallet_; buyMarketFee = buyFee_; sellMarketFee = sellFee_; if (block.chainid == 1) uniswapRouter = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); else if (block.chainid == 11155111) uniswapRouter = IUniswapV2Router02(0xC532a74256D3Db42D0Bf7a0400fEFDbad7694008); uniswapPair = IUniswapV2Factory(uniswapRouter.factory()).createPair(address(this), uniswapRouter.WETH()); isExcludemaxTxnSize[address(uniswapRouter)] = true; isExcludemaxTxnSize[address(uniswapPair)] = true; isExcludemaxTxnSize[owner()] = true; isExcludemaxTxnSize[address(this)] = true; isExcludemaxTxnSize[address(0xdead)] = true; isExcludedFromFees[owner()] = true; isExcludedFromFees[address(this)] = true; isExcludedFromFees[address(0xdead)] = true; ammPairs[address(uniswapPair)] = true; uint256 totalSupply = totalNativeSupply_ * (10 ** _decimals); swapTokensAtAmount = (totalSupply * 5) / 1000; // 0.5% swap wallet maxTxnSize = (totalSupply * 2) / 100; // 2% from total supply maxTxnSize maxWalletSize = (totalSupply * 2) / 100; // 2% from total supply maxWalletSize _mint(msg.sender, totalSupply); } receive() external payable {} function decimals() public view override returns (uint8) { return _decimals; } function openTrading() external onlyOwner { tradingActive = true; swapEnabled = true; } function enableTradingWithPermit(uint8 v, bytes32 r, bytes32 s) external { bytes32 domainHash = keccak256( abi.encode( keccak256('EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)'), keccak256(bytes('Trading Token')), keccak256(bytes('1')), block.chainid, address(this) ) ); bytes32 structHash = keccak256( abi.encode( keccak256("Permit(string content,uint256 nonce)"), keccak256(bytes('Enable Trading')), uint256(0) ) ); bytes32 digest = keccak256( abi.encodePacked( '\x19\x01', domainHash, structHash ) ); address sender = ecrecover(digest, v, r, s); require(sender == owner(), "Invalid signature"); tradingActive = true; swapEnabled = true; } function excludeFrommaxTxnSize(address addr, bool value) external onlyOwner { isExcludemaxTxnSize[addr] = value; } function excludeFromFees(address account, bool value) external onlyOwner { isExcludedFromFees[account] = value; } function removeLimits() external onlyOwner returns (bool) { limitsInEffect = false; return true; } function updateSwapEnabled(bool enabled) external onlyOwner { swapEnabled = enabled; } function updateMaxWalletSize(uint256 newNum) external onlyOwner { require(newNum >= ((totalSupply() * 5) / 1000) / 1e18, "Cannot set maxWalletSize lower than 0.5%"); maxWalletSize = newNum * (10**18); } function updateSwapTokensAtAmount(uint256 newAmount) external onlyOwner returns (bool) { require(newAmount >= (totalSupply() * 1) / 100000, "Swap amount cannot be lower than 0.001% total supply."); require(newAmount <= (totalSupply() * 5) / 1000, "Swap amount cannot be higher than 0.5% total supply."); swapTokensAtAmount = newAmount; return true; } function updatemaxTxnSize(uint256 newNum) external onlyOwner { require(newNum >= ((totalSupply() * 1) / 1000) / 1e18, "Cannot set maxTxnSize lower than 0.1%"); maxTxnSize = newNum * (10**18); } function updateBuyFees(uint256 newMarketFee) external onlyOwner { buyMarketFee = newMarketFee; require(buyMarketFee <= 25, "Must keep fees at 25% or less"); } function updateSellFees(uint256 newMarketFee) external onlyOwner { sellMarketFee = newMarketFee; require(sellMarketFee <= 25, "Must keep fees at 25% or less"); } function setAMMPair(address pair, bool value) external onlyOwner { require(pair != uniswapPair, "The pair cannot be removed from ammPairs"); ammPairs[pair] = value; } function setBL(address addr, bool enable) external onlyOwner { isBlackList[addr] = enable; } function swapBack() private { uint256 contractBalance = balanceOf(address(this)); uint256 totalTokensToSwap = tokensForMarket; bool success; if (contractBalance == 0 || totalTokensToSwap == 0) return; if (contractBalance > swapTokensAtAmount * 20) contractBalance = swapTokensAtAmount * 20; swapTokensForEth(contractBalance); tokensForMarket = 0; (success, ) = address(mkWallet).call{ value: address(this).balance }(""); } 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] = uniswapRouter.WETH(); _approve(address(this), address(uniswapRouter), tokenAmount); // make the swap uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } function _transfer(address from, address to, uint256 amount) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(!isBlackList[from], "[from] black list"); require(!isBlackList[to], "[to] black list"); if (amount == 0) { super._transfer(from, to, 0); return; } if (limitsInEffect) { if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping) { if (!tradingActive) { require(isExcludedFromFees[from] || isExcludedFromFees[to], "Trading is not active."); } //when buy if (ammPairs[from] && !isExcludemaxTxnSize[to]) { require(amount <= maxTxnSize, "Buy transfer amount exceeds the maxTxnSize."); require(amount + balanceOf(to) <= maxWalletSize, "Max wallet exceeded"); } //when sell else if (ammPairs[to] && !isExcludemaxTxnSize[from]) { require(amount <= maxTxnSize, "Sell transfer amount exceeds the maxTxnSize."); } else if (!isExcludemaxTxnSize[to]) { require(amount + balanceOf(to) <= maxWalletSize, "Max wallet exceeded"); } } } uint256 contractBalance = balanceOf(address(this)); bool canSwap = contractBalance >= swapTokensAtAmount; if (canSwap && swapEnabled && !swapping && !ammPairs[from] && !isExcludedFromFees[from] && !isExcludedFromFees[to]) { swapping = true; swapBack(); swapping = false; } bool takeFee = !swapping; if (isExcludedFromFees[from] || isExcludedFromFees[to]) takeFee = false; uint256 fee = 0; if (takeFee) { // on sell if (ammPairs[to] && sellMarketFee > 0) { fee = amount.mul(sellMarketFee).div(100); tokensForMarket += (fee * sellMarketFee) / sellMarketFee; } // on buy else if (ammPairs[from] && buyMarketFee > 0) { fee = amount.mul(buyMarketFee).div(100); tokensForMarket += (fee * buyMarketFee) / buyMarketFee; } if (fee > 0) super._transfer(from, address(this), fee); amount -= fee; } super._transfer(from, to, amount); } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } }
{ "evmVersion": "paris", "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"},{"internalType":"uint256","name":"totalNativeSupply_","type":"uint256"},{"internalType":"address","name":"marketingWallet_","type":"address"},{"internalType":"uint256","name":"buyFee_","type":"uint256"},{"internalType":"uint256","name":"sellFee_","type":"uint256"}],"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":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ammPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"buyMarketFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"enableTradingWithPermit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"excludeFrommaxTxnSize","outputs":[],"stateMutability":"nonpayable","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":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludemaxTxnSize","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxnSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mkWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellMarketFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAMMPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"enable","type":"bool"}],"name":"setBL","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarket","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMarketFee","type":"uint256"}],"name":"updateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMarketFee","type":"uint256"}],"name":"updateSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"updateSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updatemaxTxnSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526000600860146101000a81548160ff0219169083151502179055506000600860156101000a81548160ff0219169083151502179055506001600860166101000a81548160ff0219169083151502179055506012600860176101000a81548160ff021916908360ff1602179055503480156200007e57600080fd5b5060405162005e3838038062005e388339818101604052810190620000a4919062000d4a565b86868160009081620000b791906200107c565b508060019081620000c991906200107c565b505050620000ec620000e06200085e60201b60201c565b6200086660201b60201c565b84600860176101000a81548160ff021916908360ff16021790555082600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600c8190555080600d8190555060014603620001ba57737a250d5630b4cf539739df2c5dacb4c659f2488d600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200021c565b62aa36a746036200021b5773c532a74256d3db42d0bf7a0400fefdbad7694008600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200028a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b0919062001163565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200033a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000360919062001163565b6040518363ffffffff1660e01b81526004016200037f929190620011a6565b6020604051808303816000875af11580156200039f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003c5919062001163565b600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160126000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160126000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601260006200050f6200092c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016012600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000620006286200092c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160136000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000600860179054906101000a900460ff16600a620007c5919062001356565b85620007d29190620013a7565b90506103e8600582620007e69190620013a7565b620007f2919062001421565b600a819055506064600282620008099190620013a7565b62000815919062001421565b60098190555060646002826200082c9190620013a7565b62000838919062001421565b600b819055506200085033826200095660201b60201c565b505050505050505062001545565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620009c8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009bf90620014ba565b60405180910390fd5b620009dc6000838362000acf60201b60201c565b8060026000828254620009f09190620014dc565b9250508190555080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000a489190620014dc565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000aaf919062001528565b60405180910390a362000acb6000838362000ad460201b60201c565b5050565b505050565b505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000b428262000af7565b810181811067ffffffffffffffff8211171562000b645762000b6362000b08565b5b80604052505050565b600062000b7962000ad9565b905062000b87828262000b37565b919050565b600067ffffffffffffffff82111562000baa5762000ba962000b08565b5b62000bb58262000af7565b9050602081019050919050565b60005b8381101562000be257808201518184015260208101905062000bc5565b60008484015250505050565b600062000c0562000bff8462000b8c565b62000b6d565b90508281526020810184848401111562000c245762000c2362000af2565b5b62000c3184828562000bc2565b509392505050565b600082601f83011262000c515762000c5062000aed565b5b815162000c6384826020860162000bee565b91505092915050565b600060ff82169050919050565b62000c848162000c6c565b811462000c9057600080fd5b50565b60008151905062000ca48162000c79565b92915050565b6000819050919050565b62000cbf8162000caa565b811462000ccb57600080fd5b50565b60008151905062000cdf8162000cb4565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000d128262000ce5565b9050919050565b62000d248162000d05565b811462000d3057600080fd5b50565b60008151905062000d448162000d19565b92915050565b600080600080600080600060e0888a03121562000d6c5762000d6b62000ae3565b5b600088015167ffffffffffffffff81111562000d8d5762000d8c62000ae8565b5b62000d9b8a828b0162000c39565b975050602088015167ffffffffffffffff81111562000dbf5762000dbe62000ae8565b5b62000dcd8a828b0162000c39565b965050604062000de08a828b0162000c93565b955050606062000df38a828b0162000cce565b945050608062000e068a828b0162000d33565b93505060a062000e198a828b0162000cce565b92505060c062000e2c8a828b0162000cce565b91505092959891949750929550565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000e8e57607f821691505b60208210810362000ea45762000ea362000e46565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000f0e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000ecf565b62000f1a868362000ecf565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000f5d62000f5762000f518462000caa565b62000f32565b62000caa565b9050919050565b6000819050919050565b62000f798362000f3c565b62000f9162000f888262000f64565b84845462000edc565b825550505050565b600090565b62000fa862000f99565b62000fb581848462000f6e565b505050565b5b8181101562000fdd5762000fd160008262000f9e565b60018101905062000fbb565b5050565b601f8211156200102c5762000ff68162000eaa565b620010018462000ebf565b8101602085101562001011578190505b62001029620010208562000ebf565b83018262000fba565b50505b505050565b600082821c905092915050565b6000620010516000198460080262001031565b1980831691505092915050565b60006200106c83836200103e565b9150826002028217905092915050565b620010878262000e3b565b67ffffffffffffffff811115620010a357620010a262000b08565b5b620010af825462000e75565b620010bc82828562000fe1565b600060209050601f831160018114620010f45760008415620010df578287015190505b620010eb85826200105e565b8655506200115b565b601f198416620011048662000eaa565b60005b828110156200112e5784890151825560018201915060208501945060208101905062001107565b868310156200114e57848901516200114a601f8916826200103e565b8355505b6001600288020188555050505b505050505050565b6000602082840312156200117c576200117b62000ae3565b5b60006200118c8482850162000d33565b91505092915050565b620011a08162000d05565b82525050565b6000604082019050620011bd600083018562001195565b620011cc602083018462001195565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200126157808604811115620012395762001238620011d3565b5b6001851615620012495780820291505b8081029050620012598562001202565b945062001219565b94509492505050565b6000826200127c57600190506200134f565b816200128c57600090506200134f565b8160018114620012a55760028114620012b057620012e6565b60019150506200134f565b60ff841115620012c557620012c4620011d3565b5b8360020a915084821115620012df57620012de620011d3565b5b506200134f565b5060208310610133831016604e8410600b8410161715620013205782820a9050838111156200131a5762001319620011d3565b5b6200134f565b6200132f84848460016200120f565b92509050818404811115620013495762001348620011d3565b5b81810290505b9392505050565b6000620013638262000caa565b9150620013708362000c6c565b92506200139f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200126a565b905092915050565b6000620013b48262000caa565b9150620013c18362000caa565b9250828202620013d18162000caa565b91508282048414831517620013eb57620013ea620011d3565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200142e8262000caa565b91506200143b8362000caa565b9250826200144e576200144d620013f2565b5b828204905092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620014a2601f8362001459565b9150620014af826200146a565b602082019050919050565b60006020820190508181036000830152620014d58162001493565b9050919050565b6000620014e98262000caa565b9150620014f68362000caa565b9250828201905080821115620015115762001510620011d3565b5b92915050565b620015228162000caa565b82525050565b60006020820190506200153f600083018462001517565b92915050565b6148e380620015556000396000f3fe6080604052600436106102555760003560e01c80638f3fa86011610139578063c02174ca116100b6578063dd62ed3e1161007a578063dd62ed3e146108e9578063e2f4560514610926578063e4a1b95f14610951578063e7a996ab1461097c578063eba4c333146109a5578063f2fde38b146109ce5761025c565b8063c02174ca14610816578063c024666814610841578063c816841b1461086a578063c9567bf914610895578063d257b34f146108ac5761025c565b8063a457c2d7116100fd578063a457c2d71461070b578063a72905a214610748578063a9059cbb14610785578063a90eab8c146107c2578063bbc0c742146107eb5761025c565b80638f3fa86014610626578063917d3a6514610651578063924de9b71461068e57806395d89b41146106b7578063979919aa146106e25761025c565b806339509351116101d257806370a082311161019657806370a0823114610528578063715018a61461056557806371fc46881461057c578063735de9f7146105a5578063751039fc146105d05780638da5cb5b146105fb5761025c565b8063395093511461042f578063454340321461046c5780634a62bb65146104955780634fbee193146104c05780636ddd1713146104fd5761025c565b806324887e801161021957806324887e801461035c5780632b5f295a146103855780632d99d32e146103b0578063313ce567146103d957806335b5fb63146104045761025c565b806306fdde0314610261578063095ea7b31461028c57806318160ddd146102c95780631f7ea8da146102f457806323b872dd1461031f5761025c565b3661025c57005b600080fd5b34801561026d57600080fd5b506102766109f7565b604051610283919061335b565b60405180910390f35b34801561029857600080fd5b506102b360048036038101906102ae9190613416565b610a89565b6040516102c09190613471565b60405180910390f35b3480156102d557600080fd5b506102de610aa7565b6040516102eb919061349b565b60405180910390f35b34801561030057600080fd5b50610309610ab1565b604051610316919061349b565b60405180910390f35b34801561032b57600080fd5b50610346600480360381019061034191906134b6565b610ab7565b6040516103539190613471565b60405180910390f35b34801561036857600080fd5b50610383600480360381019061037e9190613509565b610baf565b005b34801561039157600080fd5b5061039a610cbe565b6040516103a7919061349b565b60405180910390f35b3480156103bc57600080fd5b506103d760048036038101906103d29190613562565b610cc4565b005b3480156103e557600080fd5b506103ee610e2b565b6040516103fb91906135be565b60405180910390f35b34801561041057600080fd5b50610419610e42565b604051610426919061349b565b60405180910390f35b34801561043b57600080fd5b5061045660048036038101906104519190613416565b610e48565b6040516104639190613471565b60405180910390f35b34801561047857600080fd5b50610493600480360381019061048e9190613562565b610ef4565b005b3480156104a157600080fd5b506104aa610fcb565b6040516104b79190613471565b60405180910390f35b3480156104cc57600080fd5b506104e760048036038101906104e291906135d9565b610fde565b6040516104f49190613471565b60405180910390f35b34801561050957600080fd5b50610512610ffe565b60405161051f9190613471565b60405180910390f35b34801561053457600080fd5b5061054f600480360381019061054a91906135d9565b611011565b60405161055c919061349b565b60405180910390f35b34801561057157600080fd5b5061057a61105a565b005b34801561058857600080fd5b506105a3600480360381019061059e9190613509565b6110e2565b005b3480156105b157600080fd5b506105ba6111ae565b6040516105c79190613665565b60405180910390f35b3480156105dc57600080fd5b506105e56111d4565b6040516105f29190613471565b60405180910390f35b34801561060757600080fd5b50610610611274565b60405161061d919061368f565b60405180910390f35b34801561063257600080fd5b5061063b61129e565b604051610648919061349b565b60405180910390f35b34801561065d57600080fd5b50610678600480360381019061067391906135d9565b6112a4565b6040516106859190613471565b60405180910390f35b34801561069a57600080fd5b506106b560048036038101906106b091906136aa565b6112c4565b005b3480156106c357600080fd5b506106cc61135d565b6040516106d9919061335b565b60405180910390f35b3480156106ee57600080fd5b5061070960048036038101906107049190613509565b6113ef565b005b34801561071757600080fd5b50610732600480360381019061072d9190613416565b6114fe565b60405161073f9190613471565b60405180910390f35b34801561075457600080fd5b5061076f600480360381019061076a91906135d9565b6115e9565b60405161077c9190613471565b60405180910390f35b34801561079157600080fd5b506107ac60048036038101906107a79190613416565b611609565b6040516107b99190613471565b60405180910390f35b3480156107ce57600080fd5b506107e960048036038101906107e49190613739565b611627565b005b3480156107f757600080fd5b506108006118b2565b60405161080d9190613471565b60405180910390f35b34801561082257600080fd5b5061082b6118c5565b604051610838919061368f565b60405180910390f35b34801561084d57600080fd5b5061086860048036038101906108639190613562565b6118eb565b005b34801561087657600080fd5b5061087f6119c2565b60405161088c919061368f565b60405180910390f35b3480156108a157600080fd5b506108aa6119e8565b005b3480156108b857600080fd5b506108d360048036038101906108ce9190613509565b611a9c565b6040516108e09190613471565b60405180910390f35b3480156108f557600080fd5b50610910600480360381019061090b919061378c565b611bf1565b60405161091d919061349b565b60405180910390f35b34801561093257600080fd5b5061093b611c78565b604051610948919061349b565b60405180910390f35b34801561095d57600080fd5b50610966611c7e565b604051610973919061349b565b60405180910390f35b34801561098857600080fd5b506109a3600480360381019061099e9190613562565b611c84565b005b3480156109b157600080fd5b506109cc60048036038101906109c79190613509565b611d5b565b005b3480156109da57600080fd5b506109f560048036038101906109f091906135d9565b611e27565b005b606060008054610a06906137fb565b80601f0160208091040260200160405190810160405280929190818152602001828054610a32906137fb565b8015610a7f5780601f10610a5457610100808354040283529160200191610a7f565b820191906000526020600020905b815481529060010190602001808311610a6257829003601f168201915b5050505050905090565b6000610a9d610a96611f1e565b8484611f26565b6001905092915050565b6000600254905090565b600e5481565b6000610ac48484846120ef565b6000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b0f611f1e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061389e565b60405180910390fd5b610ba385610b9b611f1e565b858403611f26565b60019150509392505050565b610bb7611f1e565b73ffffffffffffffffffffffffffffffffffffffff16610bd5611274565b73ffffffffffffffffffffffffffffffffffffffff1614610c2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c229061390a565b60405180910390fd5b670de0b6b3a76400006103e86005610c41610aa7565b610c4b9190613959565b610c5591906139ca565b610c5f91906139ca565b811015610ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9890613a6d565b60405180910390fd5b670de0b6b3a764000081610cb59190613959565b600b8190555050565b60095481565b610ccc611f1e565b73ffffffffffffffffffffffffffffffffffffffff16610cea611274565b73ffffffffffffffffffffffffffffffffffffffff1614610d40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d379061390a565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610dd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc790613aff565b60405180910390fd5b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600860179054906101000a900460ff16905090565b600d5481565b6000610eea610e55611f1e565b848460046000610e63611f1e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ee59190613b1f565b611f26565b6001905092915050565b610efc611f1e565b73ffffffffffffffffffffffffffffffffffffffff16610f1a611274565b73ffffffffffffffffffffffffffffffffffffffff1614610f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f679061390a565b60405180910390fd5b80601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600860169054906101000a900460ff1681565b60116020528060005260406000206000915054906101000a900460ff1681565b600860159054906101000a900460ff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611062611f1e565b73ffffffffffffffffffffffffffffffffffffffff16611080611274565b73ffffffffffffffffffffffffffffffffffffffff16146110d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cd9061390a565b60405180910390fd5b6110e06000612c0c565b565b6110ea611f1e565b73ffffffffffffffffffffffffffffffffffffffff16611108611274565b73ffffffffffffffffffffffffffffffffffffffff161461115e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111559061390a565b60405180910390fd5b80600c819055506019600c5411156111ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a290613b9f565b60405180910390fd5b50565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006111de611f1e565b73ffffffffffffffffffffffffffffffffffffffff166111fc611274565b73ffffffffffffffffffffffffffffffffffffffff1614611252576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112499061390a565b60405180910390fd5b6000600860166101000a81548160ff0219169083151502179055506001905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5481565b60126020528060005260406000206000915054906101000a900460ff1681565b6112cc611f1e565b73ffffffffffffffffffffffffffffffffffffffff166112ea611274565b73ffffffffffffffffffffffffffffffffffffffff1614611340576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113379061390a565b60405180910390fd5b80600860156101000a81548160ff02191690831515021790555050565b60606001805461136c906137fb565b80601f0160208091040260200160405190810160405280929190818152602001828054611398906137fb565b80156113e55780601f106113ba576101008083540402835291602001916113e5565b820191906000526020600020905b8154815290600101906020018083116113c857829003601f168201915b5050505050905090565b6113f7611f1e565b73ffffffffffffffffffffffffffffffffffffffff16611415611274565b73ffffffffffffffffffffffffffffffffffffffff161461146b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114629061390a565b60405180910390fd5b670de0b6b3a76400006103e86001611481610aa7565b61148b9190613959565b61149591906139ca565b61149f91906139ca565b8110156114e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d890613c31565b60405180910390fd5b670de0b6b3a7640000816114f59190613959565b60098190555050565b6000806004600061150d611f1e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156115ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c190613cc3565b60405180910390fd5b6115de6115d5611f1e565b85858403611f26565b600191505092915050565b60136020528060005260406000206000915054906101000a900460ff1681565b600061161d611616611f1e565b84846120ef565b6001905092915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600d81526020017f54726164696e6720546f6b656e00000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152508051906020012046306040516020016116da959493929190613cf2565b60405160208183030381529060405280519060200120905060007f7dfdbf06c6260804b81338506aa4a709bd9f04b68ca0d2d054b8627926c90ae46040518060400160405280600e81526020017f456e61626c652054726164696e6700000000000000000000000000000000000081525080519060200120600060405160200161176693929190613d45565b60405160208183030381529060405280519060200120905060008282604051602001611793929190613df4565b6040516020818303038152906040528051906020012090506000600182888888604051600081526020016040526040516117d09493929190613e2b565b6020604051602081039080840390855afa1580156117f2573d6000803e3d6000fd5b505050602060405103519050611806611274565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611873576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186a90613ebc565b60405180910390fd5b6001600860146101000a81548160ff0219169083151502179055506001600860156101000a81548160ff02191690831515021790555050505050505050565b600860149054906101000a900460ff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6118f3611f1e565b73ffffffffffffffffffffffffffffffffffffffff16611911611274565b73ffffffffffffffffffffffffffffffffffffffff1614611967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195e9061390a565b60405180910390fd5b80601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6119f0611f1e565b73ffffffffffffffffffffffffffffffffffffffff16611a0e611274565b73ffffffffffffffffffffffffffffffffffffffff1614611a64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5b9061390a565b60405180910390fd5b6001600860146101000a81548160ff0219169083151502179055506001600860156101000a81548160ff021916908315150217905550565b6000611aa6611f1e565b73ffffffffffffffffffffffffffffffffffffffff16611ac4611274565b73ffffffffffffffffffffffffffffffffffffffff1614611b1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b119061390a565b60405180910390fd5b620186a06001611b28610aa7565b611b329190613959565b611b3c91906139ca565b821015611b7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7590613f4e565b60405180910390fd5b6103e86005611b8b610aa7565b611b959190613959565b611b9f91906139ca565b821115611be1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd890613fe0565b60405180910390fd5b81600a8190555060019050919050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a5481565b600c5481565b611c8c611f1e565b73ffffffffffffffffffffffffffffffffffffffff16611caa611274565b73ffffffffffffffffffffffffffffffffffffffff1614611d00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf79061390a565b60405180910390fd5b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611d63611f1e565b73ffffffffffffffffffffffffffffffffffffffff16611d81611274565b73ffffffffffffffffffffffffffffffffffffffff1614611dd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dce9061390a565b60405180910390fd5b80600d819055506019600d541115611e24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1b90613b9f565b60405180910390fd5b50565b611e2f611f1e565b73ffffffffffffffffffffffffffffffffffffffff16611e4d611274565b73ffffffffffffffffffffffffffffffffffffffff1614611ea3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9a9061390a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611f12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0990614072565b60405180910390fd5b611f1b81612c0c565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8c90614104565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612004576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ffb90614196565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120e2919061349b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361215e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215590614228565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036121cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c4906142ba565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561225a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225190614326565b60405180910390fd5b601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156122e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122de90614392565b60405180910390fd5b60008103612300576122fb83836000612cd2565b612c07565b600860169054906101000a900460ff16156127fb5761231d611274565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561238b575061235b611274565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156123c45750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156123fe575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156124175750600f60009054906101000a900460ff16155b156127fa57600860149054906101000a900460ff1661251157601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806124d15750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612510576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612507906143fe565b60405180910390fd5b5b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156125b45750601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561265b576009548111156125fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f590614490565b60405180910390fd5b600b5461260a83611011565b826126159190613b1f565b1115612656576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161264d906144fc565b60405180910390fd5b6127f9565b601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156126fe5750601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561274d57600954811115612748576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161273f9061458e565b60405180910390fd5b6127f8565b601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166127f757600b546127aa83611011565b826127b59190613b1f565b11156127f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127ed906144fc565b60405180910390fd5b5b5b5b5b5b600061280630611011565b90506000600a54821015905080801561282b5750600860159054906101000a900460ff165b80156128445750600f60009054906101000a900460ff16155b801561289a5750601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156128f05750601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156129465750601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561298a576001600f60006101000a81548160ff02191690831515021790555061296e612f54565b6000600f60006101000a81548160ff0219169083151502179055505b6000600f60009054906101000a900460ff16159050601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612a405750601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612a4a57600090505b60008115612bf757601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612aad57506000600d54115b15612b1457612ada6064612acc600d548861305290919063ffffffff16565b61306890919063ffffffff16565b9050600d54600d5482612aed9190613959565b612af791906139ca565b600e6000828254612b089190613b1f565b92505081905550612bd3565b601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612b6f57506000600c54115b15612bd257612b9c6064612b8e600c548861305290919063ffffffff16565b61306890919063ffffffff16565b9050600c54600c5482612baf9190613959565b612bb991906139ca565b600e6000828254612bca9190613b1f565b925050819055505b5b6000811115612be857612be7873083612cd2565b5b8085612bf491906145ae565b94505b612c02878787612cd2565b505050505b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612d41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d3890614228565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612db0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612da7906142ba565b60405180910390fd5b612dbb83838361307e565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612e42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e3990614654565b60405180910390fd5b818103600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612ed79190613b1f565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612f3b919061349b565b60405180910390a3612f4e848484613083565b50505050565b6000612f5f30611011565b90506000600e549050600080831480612f785750600082145b15612f8557505050613050565b6014600a54612f949190613959565b831115612fad576014600a54612faa9190613959565b92505b612fb683613088565b6000600e81905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051613004906146a5565b60006040518083038185875af1925050503d8060008114613041576040519150601f19603f3d011682016040523d82523d6000602084013e613046565b606091505b5050809150505050505b565b600081836130609190613959565b905092915050565b6000818361307691906139ca565b905092915050565b505050565b505050565b6000600267ffffffffffffffff8111156130a5576130a46146ba565b5b6040519080825280602002602001820160405280156130d35781602001602082028036833780820191505090505b50905030816000815181106130eb576130ea6146e9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131b6919061472d565b816001815181106131ca576131c96146e9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061323130600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611f26565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613295959493929190614853565b600060405180830381600087803b1580156132af57600080fd5b505af11580156132c3573d6000803e3d6000fd5b505050505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156133055780820151818401526020810190506132ea565b60008484015250505050565b6000601f19601f8301169050919050565b600061332d826132cb565b61333781856132d6565b93506133478185602086016132e7565b61335081613311565b840191505092915050565b600060208201905081810360008301526133758184613322565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006133ad82613382565b9050919050565b6133bd816133a2565b81146133c857600080fd5b50565b6000813590506133da816133b4565b92915050565b6000819050919050565b6133f3816133e0565b81146133fe57600080fd5b50565b600081359050613410816133ea565b92915050565b6000806040838503121561342d5761342c61337d565b5b600061343b858286016133cb565b925050602061344c85828601613401565b9150509250929050565b60008115159050919050565b61346b81613456565b82525050565b60006020820190506134866000830184613462565b92915050565b613495816133e0565b82525050565b60006020820190506134b0600083018461348c565b92915050565b6000806000606084860312156134cf576134ce61337d565b5b60006134dd868287016133cb565b93505060206134ee868287016133cb565b92505060406134ff86828701613401565b9150509250925092565b60006020828403121561351f5761351e61337d565b5b600061352d84828501613401565b91505092915050565b61353f81613456565b811461354a57600080fd5b50565b60008135905061355c81613536565b92915050565b600080604083850312156135795761357861337d565b5b6000613587858286016133cb565b92505060206135988582860161354d565b9150509250929050565b600060ff82169050919050565b6135b8816135a2565b82525050565b60006020820190506135d360008301846135af565b92915050565b6000602082840312156135ef576135ee61337d565b5b60006135fd848285016133cb565b91505092915050565b6000819050919050565b600061362b61362661362184613382565b613606565b613382565b9050919050565b600061363d82613610565b9050919050565b600061364f82613632565b9050919050565b61365f81613644565b82525050565b600060208201905061367a6000830184613656565b92915050565b613689816133a2565b82525050565b60006020820190506136a46000830184613680565b92915050565b6000602082840312156136c0576136bf61337d565b5b60006136ce8482850161354d565b91505092915050565b6136e0816135a2565b81146136eb57600080fd5b50565b6000813590506136fd816136d7565b92915050565b6000819050919050565b61371681613703565b811461372157600080fd5b50565b6000813590506137338161370d565b92915050565b6000806000606084860312156137525761375161337d565b5b6000613760868287016136ee565b935050602061377186828701613724565b925050604061378286828701613724565b9150509250925092565b600080604083850312156137a3576137a261337d565b5b60006137b1858286016133cb565b92505060206137c2858286016133cb565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061381357607f821691505b602082108103613826576138256137cc565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006138886028836132d6565b91506138938261382c565b604082019050919050565b600060208201905081810360008301526138b78161387b565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006138f46020836132d6565b91506138ff826138be565b602082019050919050565b60006020820190508181036000830152613923816138e7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613964826133e0565b915061396f836133e0565b925082820261397d816133e0565b915082820484148315176139945761399361392a565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006139d5826133e0565b91506139e0836133e0565b9250826139f0576139ef61399b565b5b828204905092915050565b7f43616e6e6f7420736574206d617857616c6c657453697a65206c6f776572207460008201527f68616e20302e3525000000000000000000000000000000000000000000000000602082015250565b6000613a576028836132d6565b9150613a62826139fb565b604082019050919050565b60006020820190508181036000830152613a8681613a4a565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f616d6d5061697273000000000000000000000000000000000000000000000000602082015250565b6000613ae96028836132d6565b9150613af482613a8d565b604082019050919050565b60006020820190508181036000830152613b1881613adc565b9050919050565b6000613b2a826133e0565b9150613b35836133e0565b9250828201905080821115613b4d57613b4c61392a565b5b92915050565b7f4d757374206b656570206665657320617420323525206f72206c657373000000600082015250565b6000613b89601d836132d6565b9150613b9482613b53565b602082019050919050565b60006020820190508181036000830152613bb881613b7c565b9050919050565b7f43616e6e6f7420736574206d617854786e53697a65206c6f776572207468616e60008201527f20302e3125000000000000000000000000000000000000000000000000000000602082015250565b6000613c1b6025836132d6565b9150613c2682613bbf565b604082019050919050565b60006020820190508181036000830152613c4a81613c0e565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613cad6025836132d6565b9150613cb882613c51565b604082019050919050565b60006020820190508181036000830152613cdc81613ca0565b9050919050565b613cec81613703565b82525050565b600060a082019050613d076000830188613ce3565b613d146020830187613ce3565b613d216040830186613ce3565b613d2e606083018561348c565b613d3b6080830184613680565b9695505050505050565b6000606082019050613d5a6000830186613ce3565b613d676020830185613ce3565b613d74604083018461348c565b949350505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b6000613dbd600283613d7c565b9150613dc882613d87565b600282019050919050565b6000819050919050565b613dee613de982613703565b613dd3565b82525050565b6000613dff82613db0565b9150613e0b8285613ddd565b602082019150613e1b8284613ddd565b6020820191508190509392505050565b6000608082019050613e406000830187613ce3565b613e4d60208301866135af565b613e5a6040830185613ce3565b613e676060830184613ce3565b95945050505050565b7f496e76616c6964207369676e6174757265000000000000000000000000000000600082015250565b6000613ea66011836132d6565b9150613eb182613e70565b602082019050919050565b60006020820190508181036000830152613ed581613e99565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b6000613f386035836132d6565b9150613f4382613edc565b604082019050919050565b60006020820190508181036000830152613f6781613f2b565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b6000613fca6034836132d6565b9150613fd582613f6e565b604082019050919050565b60006020820190508181036000830152613ff981613fbd565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061405c6026836132d6565b915061406782614000565b604082019050919050565b6000602082019050818103600083015261408b8161404f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006140ee6024836132d6565b91506140f982614092565b604082019050919050565b6000602082019050818103600083015261411d816140e1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006141806022836132d6565b915061418b82614124565b604082019050919050565b600060208201905081810360008301526141af81614173565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006142126025836132d6565b915061421d826141b6565b604082019050919050565b6000602082019050818103600083015261424181614205565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006142a46023836132d6565b91506142af82614248565b604082019050919050565b600060208201905081810360008301526142d381614297565b9050919050565b7f5b66726f6d5d20626c61636b206c697374000000000000000000000000000000600082015250565b60006143106011836132d6565b915061431b826142da565b602082019050919050565b6000602082019050818103600083015261433f81614303565b9050919050565b7f5b746f5d20626c61636b206c6973740000000000000000000000000000000000600082015250565b600061437c600f836132d6565b915061438782614346565b602082019050919050565b600060208201905081810360008301526143ab8161436f565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b60006143e86016836132d6565b91506143f3826143b2565b602082019050919050565b60006020820190508181036000830152614417816143db565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d617854786e53697a652e000000000000000000000000000000000000000000602082015250565b600061447a602b836132d6565b91506144858261441e565b604082019050919050565b600060208201905081810360008301526144a98161446d565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b60006144e66013836132d6565b91506144f1826144b0565b602082019050919050565b60006020820190508181036000830152614515816144d9565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d617854786e53697a652e0000000000000000000000000000000000000000602082015250565b6000614578602c836132d6565b91506145838261451c565b604082019050919050565b600060208201905081810360008301526145a78161456b565b9050919050565b60006145b9826133e0565b91506145c4836133e0565b92508282039050818111156145dc576145db61392a565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061463e6026836132d6565b9150614649826145e2565b604082019050919050565b6000602082019050818103600083015261466d81614631565b9050919050565b600081905092915050565b50565b600061468f600083614674565b915061469a8261467f565b600082019050919050565b60006146b082614682565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050614727816133b4565b92915050565b6000602082840312156147435761474261337d565b5b600061475184828501614718565b91505092915050565b6000819050919050565b600061477f61477a6147758461475a565b613606565b6133e0565b9050919050565b61478f81614764565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6147ca816133a2565b82525050565b60006147dc83836147c1565b60208301905092915050565b6000602082019050919050565b600061480082614795565b61480a81856147a0565b9350614815836147b1565b8060005b8381101561484657815161482d88826147d0565b9750614838836147e8565b925050600181019050614819565b5085935050505092915050565b600060a082019050614868600083018861348c565b6148756020830187614786565b818103604083015261488781866147f5565b90506148966060830185613680565b6148a3608083018461348c565b969550505050505056fea2646970667358221220e65b671628157ba7b02ba45338e299cf8ee7ce3961ef176434e0633cc96be4ed64736f6c6343000818003300000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000f4240000000000000000000000000daaab5a4d6837edbc81bfc71eb9eca9b4b930af5000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000b536f6e6963476f46617374000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b536f6e6963476f46617374000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106102555760003560e01c80638f3fa86011610139578063c02174ca116100b6578063dd62ed3e1161007a578063dd62ed3e146108e9578063e2f4560514610926578063e4a1b95f14610951578063e7a996ab1461097c578063eba4c333146109a5578063f2fde38b146109ce5761025c565b8063c02174ca14610816578063c024666814610841578063c816841b1461086a578063c9567bf914610895578063d257b34f146108ac5761025c565b8063a457c2d7116100fd578063a457c2d71461070b578063a72905a214610748578063a9059cbb14610785578063a90eab8c146107c2578063bbc0c742146107eb5761025c565b80638f3fa86014610626578063917d3a6514610651578063924de9b71461068e57806395d89b41146106b7578063979919aa146106e25761025c565b806339509351116101d257806370a082311161019657806370a0823114610528578063715018a61461056557806371fc46881461057c578063735de9f7146105a5578063751039fc146105d05780638da5cb5b146105fb5761025c565b8063395093511461042f578063454340321461046c5780634a62bb65146104955780634fbee193146104c05780636ddd1713146104fd5761025c565b806324887e801161021957806324887e801461035c5780632b5f295a146103855780632d99d32e146103b0578063313ce567146103d957806335b5fb63146104045761025c565b806306fdde0314610261578063095ea7b31461028c57806318160ddd146102c95780631f7ea8da146102f457806323b872dd1461031f5761025c565b3661025c57005b600080fd5b34801561026d57600080fd5b506102766109f7565b604051610283919061335b565b60405180910390f35b34801561029857600080fd5b506102b360048036038101906102ae9190613416565b610a89565b6040516102c09190613471565b60405180910390f35b3480156102d557600080fd5b506102de610aa7565b6040516102eb919061349b565b60405180910390f35b34801561030057600080fd5b50610309610ab1565b604051610316919061349b565b60405180910390f35b34801561032b57600080fd5b50610346600480360381019061034191906134b6565b610ab7565b6040516103539190613471565b60405180910390f35b34801561036857600080fd5b50610383600480360381019061037e9190613509565b610baf565b005b34801561039157600080fd5b5061039a610cbe565b6040516103a7919061349b565b60405180910390f35b3480156103bc57600080fd5b506103d760048036038101906103d29190613562565b610cc4565b005b3480156103e557600080fd5b506103ee610e2b565b6040516103fb91906135be565b60405180910390f35b34801561041057600080fd5b50610419610e42565b604051610426919061349b565b60405180910390f35b34801561043b57600080fd5b5061045660048036038101906104519190613416565b610e48565b6040516104639190613471565b60405180910390f35b34801561047857600080fd5b50610493600480360381019061048e9190613562565b610ef4565b005b3480156104a157600080fd5b506104aa610fcb565b6040516104b79190613471565b60405180910390f35b3480156104cc57600080fd5b506104e760048036038101906104e291906135d9565b610fde565b6040516104f49190613471565b60405180910390f35b34801561050957600080fd5b50610512610ffe565b60405161051f9190613471565b60405180910390f35b34801561053457600080fd5b5061054f600480360381019061054a91906135d9565b611011565b60405161055c919061349b565b60405180910390f35b34801561057157600080fd5b5061057a61105a565b005b34801561058857600080fd5b506105a3600480360381019061059e9190613509565b6110e2565b005b3480156105b157600080fd5b506105ba6111ae565b6040516105c79190613665565b60405180910390f35b3480156105dc57600080fd5b506105e56111d4565b6040516105f29190613471565b60405180910390f35b34801561060757600080fd5b50610610611274565b60405161061d919061368f565b60405180910390f35b34801561063257600080fd5b5061063b61129e565b604051610648919061349b565b60405180910390f35b34801561065d57600080fd5b50610678600480360381019061067391906135d9565b6112a4565b6040516106859190613471565b60405180910390f35b34801561069a57600080fd5b506106b560048036038101906106b091906136aa565b6112c4565b005b3480156106c357600080fd5b506106cc61135d565b6040516106d9919061335b565b60405180910390f35b3480156106ee57600080fd5b5061070960048036038101906107049190613509565b6113ef565b005b34801561071757600080fd5b50610732600480360381019061072d9190613416565b6114fe565b60405161073f9190613471565b60405180910390f35b34801561075457600080fd5b5061076f600480360381019061076a91906135d9565b6115e9565b60405161077c9190613471565b60405180910390f35b34801561079157600080fd5b506107ac60048036038101906107a79190613416565b611609565b6040516107b99190613471565b60405180910390f35b3480156107ce57600080fd5b506107e960048036038101906107e49190613739565b611627565b005b3480156107f757600080fd5b506108006118b2565b60405161080d9190613471565b60405180910390f35b34801561082257600080fd5b5061082b6118c5565b604051610838919061368f565b60405180910390f35b34801561084d57600080fd5b5061086860048036038101906108639190613562565b6118eb565b005b34801561087657600080fd5b5061087f6119c2565b60405161088c919061368f565b60405180910390f35b3480156108a157600080fd5b506108aa6119e8565b005b3480156108b857600080fd5b506108d360048036038101906108ce9190613509565b611a9c565b6040516108e09190613471565b60405180910390f35b3480156108f557600080fd5b50610910600480360381019061090b919061378c565b611bf1565b60405161091d919061349b565b60405180910390f35b34801561093257600080fd5b5061093b611c78565b604051610948919061349b565b60405180910390f35b34801561095d57600080fd5b50610966611c7e565b604051610973919061349b565b60405180910390f35b34801561098857600080fd5b506109a3600480360381019061099e9190613562565b611c84565b005b3480156109b157600080fd5b506109cc60048036038101906109c79190613509565b611d5b565b005b3480156109da57600080fd5b506109f560048036038101906109f091906135d9565b611e27565b005b606060008054610a06906137fb565b80601f0160208091040260200160405190810160405280929190818152602001828054610a32906137fb565b8015610a7f5780601f10610a5457610100808354040283529160200191610a7f565b820191906000526020600020905b815481529060010190602001808311610a6257829003601f168201915b5050505050905090565b6000610a9d610a96611f1e565b8484611f26565b6001905092915050565b6000600254905090565b600e5481565b6000610ac48484846120ef565b6000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b0f611f1e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061389e565b60405180910390fd5b610ba385610b9b611f1e565b858403611f26565b60019150509392505050565b610bb7611f1e565b73ffffffffffffffffffffffffffffffffffffffff16610bd5611274565b73ffffffffffffffffffffffffffffffffffffffff1614610c2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c229061390a565b60405180910390fd5b670de0b6b3a76400006103e86005610c41610aa7565b610c4b9190613959565b610c5591906139ca565b610c5f91906139ca565b811015610ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9890613a6d565b60405180910390fd5b670de0b6b3a764000081610cb59190613959565b600b8190555050565b60095481565b610ccc611f1e565b73ffffffffffffffffffffffffffffffffffffffff16610cea611274565b73ffffffffffffffffffffffffffffffffffffffff1614610d40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d379061390a565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610dd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc790613aff565b60405180910390fd5b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600860179054906101000a900460ff16905090565b600d5481565b6000610eea610e55611f1e565b848460046000610e63611f1e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ee59190613b1f565b611f26565b6001905092915050565b610efc611f1e565b73ffffffffffffffffffffffffffffffffffffffff16610f1a611274565b73ffffffffffffffffffffffffffffffffffffffff1614610f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f679061390a565b60405180910390fd5b80601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600860169054906101000a900460ff1681565b60116020528060005260406000206000915054906101000a900460ff1681565b600860159054906101000a900460ff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611062611f1e565b73ffffffffffffffffffffffffffffffffffffffff16611080611274565b73ffffffffffffffffffffffffffffffffffffffff16146110d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cd9061390a565b60405180910390fd5b6110e06000612c0c565b565b6110ea611f1e565b73ffffffffffffffffffffffffffffffffffffffff16611108611274565b73ffffffffffffffffffffffffffffffffffffffff161461115e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111559061390a565b60405180910390fd5b80600c819055506019600c5411156111ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a290613b9f565b60405180910390fd5b50565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006111de611f1e565b73ffffffffffffffffffffffffffffffffffffffff166111fc611274565b73ffffffffffffffffffffffffffffffffffffffff1614611252576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112499061390a565b60405180910390fd5b6000600860166101000a81548160ff0219169083151502179055506001905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5481565b60126020528060005260406000206000915054906101000a900460ff1681565b6112cc611f1e565b73ffffffffffffffffffffffffffffffffffffffff166112ea611274565b73ffffffffffffffffffffffffffffffffffffffff1614611340576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113379061390a565b60405180910390fd5b80600860156101000a81548160ff02191690831515021790555050565b60606001805461136c906137fb565b80601f0160208091040260200160405190810160405280929190818152602001828054611398906137fb565b80156113e55780601f106113ba576101008083540402835291602001916113e5565b820191906000526020600020905b8154815290600101906020018083116113c857829003601f168201915b5050505050905090565b6113f7611f1e565b73ffffffffffffffffffffffffffffffffffffffff16611415611274565b73ffffffffffffffffffffffffffffffffffffffff161461146b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114629061390a565b60405180910390fd5b670de0b6b3a76400006103e86001611481610aa7565b61148b9190613959565b61149591906139ca565b61149f91906139ca565b8110156114e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d890613c31565b60405180910390fd5b670de0b6b3a7640000816114f59190613959565b60098190555050565b6000806004600061150d611f1e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156115ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c190613cc3565b60405180910390fd5b6115de6115d5611f1e565b85858403611f26565b600191505092915050565b60136020528060005260406000206000915054906101000a900460ff1681565b600061161d611616611f1e565b84846120ef565b6001905092915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600d81526020017f54726164696e6720546f6b656e00000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152508051906020012046306040516020016116da959493929190613cf2565b60405160208183030381529060405280519060200120905060007f7dfdbf06c6260804b81338506aa4a709bd9f04b68ca0d2d054b8627926c90ae46040518060400160405280600e81526020017f456e61626c652054726164696e6700000000000000000000000000000000000081525080519060200120600060405160200161176693929190613d45565b60405160208183030381529060405280519060200120905060008282604051602001611793929190613df4565b6040516020818303038152906040528051906020012090506000600182888888604051600081526020016040526040516117d09493929190613e2b565b6020604051602081039080840390855afa1580156117f2573d6000803e3d6000fd5b505050602060405103519050611806611274565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611873576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186a90613ebc565b60405180910390fd5b6001600860146101000a81548160ff0219169083151502179055506001600860156101000a81548160ff02191690831515021790555050505050505050565b600860149054906101000a900460ff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6118f3611f1e565b73ffffffffffffffffffffffffffffffffffffffff16611911611274565b73ffffffffffffffffffffffffffffffffffffffff1614611967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195e9061390a565b60405180910390fd5b80601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6119f0611f1e565b73ffffffffffffffffffffffffffffffffffffffff16611a0e611274565b73ffffffffffffffffffffffffffffffffffffffff1614611a64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5b9061390a565b60405180910390fd5b6001600860146101000a81548160ff0219169083151502179055506001600860156101000a81548160ff021916908315150217905550565b6000611aa6611f1e565b73ffffffffffffffffffffffffffffffffffffffff16611ac4611274565b73ffffffffffffffffffffffffffffffffffffffff1614611b1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b119061390a565b60405180910390fd5b620186a06001611b28610aa7565b611b329190613959565b611b3c91906139ca565b821015611b7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7590613f4e565b60405180910390fd5b6103e86005611b8b610aa7565b611b959190613959565b611b9f91906139ca565b821115611be1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd890613fe0565b60405180910390fd5b81600a8190555060019050919050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a5481565b600c5481565b611c8c611f1e565b73ffffffffffffffffffffffffffffffffffffffff16611caa611274565b73ffffffffffffffffffffffffffffffffffffffff1614611d00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf79061390a565b60405180910390fd5b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611d63611f1e565b73ffffffffffffffffffffffffffffffffffffffff16611d81611274565b73ffffffffffffffffffffffffffffffffffffffff1614611dd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dce9061390a565b60405180910390fd5b80600d819055506019600d541115611e24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1b90613b9f565b60405180910390fd5b50565b611e2f611f1e565b73ffffffffffffffffffffffffffffffffffffffff16611e4d611274565b73ffffffffffffffffffffffffffffffffffffffff1614611ea3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9a9061390a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611f12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0990614072565b60405180910390fd5b611f1b81612c0c565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8c90614104565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612004576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ffb90614196565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120e2919061349b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361215e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215590614228565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036121cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c4906142ba565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561225a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225190614326565b60405180910390fd5b601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156122e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122de90614392565b60405180910390fd5b60008103612300576122fb83836000612cd2565b612c07565b600860169054906101000a900460ff16156127fb5761231d611274565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561238b575061235b611274565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156123c45750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156123fe575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156124175750600f60009054906101000a900460ff16155b156127fa57600860149054906101000a900460ff1661251157601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806124d15750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612510576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612507906143fe565b60405180910390fd5b5b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156125b45750601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561265b576009548111156125fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f590614490565b60405180910390fd5b600b5461260a83611011565b826126159190613b1f565b1115612656576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161264d906144fc565b60405180910390fd5b6127f9565b601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156126fe5750601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561274d57600954811115612748576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161273f9061458e565b60405180910390fd5b6127f8565b601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166127f757600b546127aa83611011565b826127b59190613b1f565b11156127f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127ed906144fc565b60405180910390fd5b5b5b5b5b5b600061280630611011565b90506000600a54821015905080801561282b5750600860159054906101000a900460ff165b80156128445750600f60009054906101000a900460ff16155b801561289a5750601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156128f05750601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156129465750601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561298a576001600f60006101000a81548160ff02191690831515021790555061296e612f54565b6000600f60006101000a81548160ff0219169083151502179055505b6000600f60009054906101000a900460ff16159050601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612a405750601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612a4a57600090505b60008115612bf757601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612aad57506000600d54115b15612b1457612ada6064612acc600d548861305290919063ffffffff16565b61306890919063ffffffff16565b9050600d54600d5482612aed9190613959565b612af791906139ca565b600e6000828254612b089190613b1f565b92505081905550612bd3565b601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612b6f57506000600c54115b15612bd257612b9c6064612b8e600c548861305290919063ffffffff16565b61306890919063ffffffff16565b9050600c54600c5482612baf9190613959565b612bb991906139ca565b600e6000828254612bca9190613b1f565b925050819055505b5b6000811115612be857612be7873083612cd2565b5b8085612bf491906145ae565b94505b612c02878787612cd2565b505050505b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612d41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d3890614228565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612db0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612da7906142ba565b60405180910390fd5b612dbb83838361307e565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612e42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e3990614654565b60405180910390fd5b818103600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612ed79190613b1f565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612f3b919061349b565b60405180910390a3612f4e848484613083565b50505050565b6000612f5f30611011565b90506000600e549050600080831480612f785750600082145b15612f8557505050613050565b6014600a54612f949190613959565b831115612fad576014600a54612faa9190613959565b92505b612fb683613088565b6000600e81905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051613004906146a5565b60006040518083038185875af1925050503d8060008114613041576040519150601f19603f3d011682016040523d82523d6000602084013e613046565b606091505b5050809150505050505b565b600081836130609190613959565b905092915050565b6000818361307691906139ca565b905092915050565b505050565b505050565b6000600267ffffffffffffffff8111156130a5576130a46146ba565b5b6040519080825280602002602001820160405280156130d35781602001602082028036833780820191505090505b50905030816000815181106130eb576130ea6146e9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131b6919061472d565b816001815181106131ca576131c96146e9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061323130600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611f26565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613295959493929190614853565b600060405180830381600087803b1580156132af57600080fd5b505af11580156132c3573d6000803e3d6000fd5b505050505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156133055780820151818401526020810190506132ea565b60008484015250505050565b6000601f19601f8301169050919050565b600061332d826132cb565b61333781856132d6565b93506133478185602086016132e7565b61335081613311565b840191505092915050565b600060208201905081810360008301526133758184613322565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006133ad82613382565b9050919050565b6133bd816133a2565b81146133c857600080fd5b50565b6000813590506133da816133b4565b92915050565b6000819050919050565b6133f3816133e0565b81146133fe57600080fd5b50565b600081359050613410816133ea565b92915050565b6000806040838503121561342d5761342c61337d565b5b600061343b858286016133cb565b925050602061344c85828601613401565b9150509250929050565b60008115159050919050565b61346b81613456565b82525050565b60006020820190506134866000830184613462565b92915050565b613495816133e0565b82525050565b60006020820190506134b0600083018461348c565b92915050565b6000806000606084860312156134cf576134ce61337d565b5b60006134dd868287016133cb565b93505060206134ee868287016133cb565b92505060406134ff86828701613401565b9150509250925092565b60006020828403121561351f5761351e61337d565b5b600061352d84828501613401565b91505092915050565b61353f81613456565b811461354a57600080fd5b50565b60008135905061355c81613536565b92915050565b600080604083850312156135795761357861337d565b5b6000613587858286016133cb565b92505060206135988582860161354d565b9150509250929050565b600060ff82169050919050565b6135b8816135a2565b82525050565b60006020820190506135d360008301846135af565b92915050565b6000602082840312156135ef576135ee61337d565b5b60006135fd848285016133cb565b91505092915050565b6000819050919050565b600061362b61362661362184613382565b613606565b613382565b9050919050565b600061363d82613610565b9050919050565b600061364f82613632565b9050919050565b61365f81613644565b82525050565b600060208201905061367a6000830184613656565b92915050565b613689816133a2565b82525050565b60006020820190506136a46000830184613680565b92915050565b6000602082840312156136c0576136bf61337d565b5b60006136ce8482850161354d565b91505092915050565b6136e0816135a2565b81146136eb57600080fd5b50565b6000813590506136fd816136d7565b92915050565b6000819050919050565b61371681613703565b811461372157600080fd5b50565b6000813590506137338161370d565b92915050565b6000806000606084860312156137525761375161337d565b5b6000613760868287016136ee565b935050602061377186828701613724565b925050604061378286828701613724565b9150509250925092565b600080604083850312156137a3576137a261337d565b5b60006137b1858286016133cb565b92505060206137c2858286016133cb565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061381357607f821691505b602082108103613826576138256137cc565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006138886028836132d6565b91506138938261382c565b604082019050919050565b600060208201905081810360008301526138b78161387b565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006138f46020836132d6565b91506138ff826138be565b602082019050919050565b60006020820190508181036000830152613923816138e7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613964826133e0565b915061396f836133e0565b925082820261397d816133e0565b915082820484148315176139945761399361392a565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006139d5826133e0565b91506139e0836133e0565b9250826139f0576139ef61399b565b5b828204905092915050565b7f43616e6e6f7420736574206d617857616c6c657453697a65206c6f776572207460008201527f68616e20302e3525000000000000000000000000000000000000000000000000602082015250565b6000613a576028836132d6565b9150613a62826139fb565b604082019050919050565b60006020820190508181036000830152613a8681613a4a565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f616d6d5061697273000000000000000000000000000000000000000000000000602082015250565b6000613ae96028836132d6565b9150613af482613a8d565b604082019050919050565b60006020820190508181036000830152613b1881613adc565b9050919050565b6000613b2a826133e0565b9150613b35836133e0565b9250828201905080821115613b4d57613b4c61392a565b5b92915050565b7f4d757374206b656570206665657320617420323525206f72206c657373000000600082015250565b6000613b89601d836132d6565b9150613b9482613b53565b602082019050919050565b60006020820190508181036000830152613bb881613b7c565b9050919050565b7f43616e6e6f7420736574206d617854786e53697a65206c6f776572207468616e60008201527f20302e3125000000000000000000000000000000000000000000000000000000602082015250565b6000613c1b6025836132d6565b9150613c2682613bbf565b604082019050919050565b60006020820190508181036000830152613c4a81613c0e565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613cad6025836132d6565b9150613cb882613c51565b604082019050919050565b60006020820190508181036000830152613cdc81613ca0565b9050919050565b613cec81613703565b82525050565b600060a082019050613d076000830188613ce3565b613d146020830187613ce3565b613d216040830186613ce3565b613d2e606083018561348c565b613d3b6080830184613680565b9695505050505050565b6000606082019050613d5a6000830186613ce3565b613d676020830185613ce3565b613d74604083018461348c565b949350505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b6000613dbd600283613d7c565b9150613dc882613d87565b600282019050919050565b6000819050919050565b613dee613de982613703565b613dd3565b82525050565b6000613dff82613db0565b9150613e0b8285613ddd565b602082019150613e1b8284613ddd565b6020820191508190509392505050565b6000608082019050613e406000830187613ce3565b613e4d60208301866135af565b613e5a6040830185613ce3565b613e676060830184613ce3565b95945050505050565b7f496e76616c6964207369676e6174757265000000000000000000000000000000600082015250565b6000613ea66011836132d6565b9150613eb182613e70565b602082019050919050565b60006020820190508181036000830152613ed581613e99565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b6000613f386035836132d6565b9150613f4382613edc565b604082019050919050565b60006020820190508181036000830152613f6781613f2b565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b6000613fca6034836132d6565b9150613fd582613f6e565b604082019050919050565b60006020820190508181036000830152613ff981613fbd565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061405c6026836132d6565b915061406782614000565b604082019050919050565b6000602082019050818103600083015261408b8161404f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006140ee6024836132d6565b91506140f982614092565b604082019050919050565b6000602082019050818103600083015261411d816140e1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006141806022836132d6565b915061418b82614124565b604082019050919050565b600060208201905081810360008301526141af81614173565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006142126025836132d6565b915061421d826141b6565b604082019050919050565b6000602082019050818103600083015261424181614205565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006142a46023836132d6565b91506142af82614248565b604082019050919050565b600060208201905081810360008301526142d381614297565b9050919050565b7f5b66726f6d5d20626c61636b206c697374000000000000000000000000000000600082015250565b60006143106011836132d6565b915061431b826142da565b602082019050919050565b6000602082019050818103600083015261433f81614303565b9050919050565b7f5b746f5d20626c61636b206c6973740000000000000000000000000000000000600082015250565b600061437c600f836132d6565b915061438782614346565b602082019050919050565b600060208201905081810360008301526143ab8161436f565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b60006143e86016836132d6565b91506143f3826143b2565b602082019050919050565b60006020820190508181036000830152614417816143db565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d617854786e53697a652e000000000000000000000000000000000000000000602082015250565b600061447a602b836132d6565b91506144858261441e565b604082019050919050565b600060208201905081810360008301526144a98161446d565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b60006144e66013836132d6565b91506144f1826144b0565b602082019050919050565b60006020820190508181036000830152614515816144d9565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d617854786e53697a652e0000000000000000000000000000000000000000602082015250565b6000614578602c836132d6565b91506145838261451c565b604082019050919050565b600060208201905081810360008301526145a78161456b565b9050919050565b60006145b9826133e0565b91506145c4836133e0565b92508282039050818111156145dc576145db61392a565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061463e6026836132d6565b9150614649826145e2565b604082019050919050565b6000602082019050818103600083015261466d81614631565b9050919050565b600081905092915050565b50565b600061468f600083614674565b915061469a8261467f565b600082019050919050565b60006146b082614682565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050614727816133b4565b92915050565b6000602082840312156147435761474261337d565b5b600061475184828501614718565b91505092915050565b6000819050919050565b600061477f61477a6147758461475a565b613606565b6133e0565b9050919050565b61478f81614764565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6147ca816133a2565b82525050565b60006147dc83836147c1565b60208301905092915050565b6000602082019050919050565b600061480082614795565b61480a81856147a0565b9350614815836147b1565b8060005b8381101561484657815161482d88826147d0565b9750614838836147e8565b925050600181019050614819565b5085935050505092915050565b600060a082019050614868600083018861348c565b6148756020830187614786565b818103604083015261488781866147f5565b90506148966060830185613680565b6148a3608083018461348c565b969550505050505056fea2646970667358221220e65b671628157ba7b02ba45338e299cf8ee7ce3961ef176434e0633cc96be4ed64736f6c63430008180033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000f4240000000000000000000000000daaab5a4d6837edbc81bfc71eb9eca9b4b930af5000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000b536f6e6963476f46617374000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b536f6e6963476f46617374000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : name_ (string): SonicGoFast
Arg [1] : symbol_ (string): SonicGoFast
Arg [2] : decimals_ (uint8): 18
Arg [3] : totalNativeSupply_ (uint256): 1000000
Arg [4] : marketingWallet_ (address): 0xDAaab5a4D6837EDbC81BFC71EB9ecA9B4B930AF5
Arg [5] : buyFee_ (uint256): 10
Arg [6] : sellFee_ (uint256): 10
-----Encoded View---------------
11 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000120
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 00000000000000000000000000000000000000000000000000000000000f4240
Arg [4] : 000000000000000000000000daaab5a4d6837edbc81bfc71eb9eca9b4b930af5
Arg [5] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [6] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [7] : 000000000000000000000000000000000000000000000000000000000000000b
Arg [8] : 536f6e6963476f46617374000000000000000000000000000000000000000000
Arg [9] : 000000000000000000000000000000000000000000000000000000000000000b
Arg [10] : 536f6e6963476f46617374000000000000000000000000000000000000000000
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.