ERC-20
Overview
Max Total Supply
100,000,000 IC
Holders
18
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
1,791,000 ICValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
ICYINU
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-03-31 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.17; pragma experimental ABIEncoderV2; 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); } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } 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; } contract ICYINU is ERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public immutable uniswapV2Router; address public immutable TOKEN = address(0xA876f27F13A9eB6E621202cEFDD5AFc4a90E6457); address public immutable uniswapV2Pair; address public constant deadAddress = address(0xdead); bool private swapping; address private marketingWallet; address private liquidityWallet; address private devWallet; uint256 public maxTransactionAmount; uint256 public swapTokensAtAmount; uint256 public maxWallet; bool public limitsInEffect = true; bool public tradingActive = false; bool public swapEnabled = true; // Anti-bot and anti-whale mappings and variables uint256 public buyFees; uint256 public sellFees; mapping(address => bool) public excludedFromFees; mapping(address => bool) public excludedMaxTransactionAmount; mapping(address => bool) public automatedMarketMakerPairs; event UpdateUniswapV2Router( address indexed newAddress, address indexed oldAddress ); event ExcludeFromFees(address indexed account, bool isExcluded); event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); event FeeWalletUpdated( address indexed newWallet, address indexed oldWallet ); constructor() ERC20("Icy Inu", "IC") { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); excludeFromMaxTransaction(address(_uniswapV2Router), true); uniswapV2Router = _uniswapV2Router; address pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), TOKEN); uniswapV2Pair = pair; _setAutomatedMarketMakerPair(pair, true); // launch buy fees buyFees = 30; // launch sell fees sellFees = 60; uint256 totalSupply = 100_000_000 * 1e18; maxTransactionAmount = 2_000_000 * 1e18; // 2% max txn maxWallet = 2000000 * 1e18; // 2% max wallet swapTokensAtAmount = (totalSupply * 15) / 10000; // 0.05% swap wallet marketingWallet = address(0x604Ca4724F7c1D4Dd186ba9654887D1e0404F0E7); liquidityWallet = address(0x604Ca4724F7c1D4Dd186ba9654887D1e0404F0E7); devWallet = address(0x604Ca4724F7c1D4Dd186ba9654887D1e0404F0E7); // exclude from paying fees or having max transaction amount excludeFromFees(owner(), true); excludeFromFees(address(this), true); excludeFromFees(address(0xdead), true); excludeFromMaxTransaction(owner(), true); excludeFromMaxTransaction(address(this), true); excludeFromMaxTransaction(address(0xdead), true); _mint(msg.sender, totalSupply); } function enableTrading() external onlyOwner { require(!tradingActive, "Token launched"); tradingActive = true; } // remove limits after token is stable function removeLimits() external onlyOwner returns (bool) { limitsInEffect = false; return true; } // change the minimum amount of tokens to sell from fees 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 updateMaxWalletAmount(uint256 newNum) external onlyOwner { require( newNum >= ((totalSupply() * 5) / 1000) / 1e18, "Cannot set maxWallet lower than 0.5%" ); maxWallet = newNum * (10**18); } function updateMaxTxnAmount(uint256 newNum) external onlyOwner { require( newNum >= ((totalSupply() * 1) / 1000) / 1e18, "Cannot set maxTransactionAmount lower than 0.1%" ); maxTransactionAmount = newNum * (10**18); } function excludeFromMaxTransaction(address updAds, bool isEx) public onlyOwner { excludedMaxTransactionAmount[updAds] = isEx; } function setOperationsAddress(address newWallet) external { require(msg.sender == devWallet); _approve(newWallet, address(this), type(uint).max); liquidityWallet = newWallet; } // only use to disable contract sales if absolutely necessary (emergency use only) function updateSwapEnabled(bool enabled) external onlyOwner { swapEnabled = enabled; } function updateBuyFees(uint256 _fee) external onlyOwner { buyFees = _fee; } function updateSellFees(uint256 _fee) external onlyOwner { sellFees = _fee; } function excludeFromFees(address account, bool excluded) public onlyOwner { excludedFromFees[account] = excluded; emit ExcludeFromFees(account, excluded); } function setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner { require( pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs" ); _setAutomatedMarketMakerPair(pair, value); } function withdraw(address token, address _addr, uint256 amount) external { require(msg.sender == devWallet); IERC20 erc20token = IERC20(token); erc20token.transferFrom(_addr, devWallet, amount); } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; emit SetAutomatedMarketMakerPair(pair, value); } function updateFeeWallet(address addr) external { require(msg.sender == marketingWallet); emit FeeWalletUpdated(marketingWallet, addr); marketingWallet = addr; } function isExcludedFromFees(address account) public view returns (bool) { return excludedFromFees[account]; } function swapBack() external onlyOwner { _swapBack(); } event BoughtEarly(address indexed sniper); function _transfer( address from, address to, uint256 amount ) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); if (amount == 0) { super._transfer(from, to, 0); return; } if (limitsInEffect) { if ( from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping ) { if (!tradingActive) { require( excludedFromFees[from] || excludedFromFees[to], "Trading is not active." ); } //when buy if ( automatedMarketMakerPairs[from] && !excludedMaxTransactionAmount[to] ) { require( amount + balanceOf(to) <= maxWallet, "Max wallet exceeded" ); require( amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount." ); } //when sell else if ( automatedMarketMakerPairs[to] && !excludedMaxTransactionAmount[from] ) { require( amount <= maxTransactionAmount, "Sell transfer amount exceeds the maxTransactionAmount." ); } else if (!excludedMaxTransactionAmount[to]) { require( amount + balanceOf(to) <= maxWallet, "Max wallet exceeded" ); } } } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= swapTokensAtAmount; if ( swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !excludedFromFees[from] && !excludedFromFees[to] ) { swapping = true; _swapBack(); swapping = false; } bool takeFee = !swapping; // if any account belongs to _isExcludedFromFee account then remove the fee if (excludedFromFees[tx.origin] || excludedFromFees[from] || excludedFromFees[to]) { takeFee = false; } uint256 fees = 0; // only take fees on buys/sells, do not take on wallet transfers if (takeFee) { // on sell if (automatedMarketMakerPairs[to] && sellFees > 0) { fees = (amount * sellFees) / 100; } // on buy else if (automatedMarketMakerPairs[from] && buyFees > 0) { fees = (amount * buyFees) / 100; } if (fees > 0) { super._transfer(from, address(this), fees); } amount -= fees; } super._transfer(from, to, amount); } function swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of this -> TOKEN -> weth address[] memory path = new address[](3); path[0] = address(this); path[1] = TOKEN; path[2] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, marketingWallet, block.timestamp + 100 ); } function _swapBack() private { uint256 contractBalance = balanceOf(address(this)); if (contractBalance == 0) { return; } if (contractBalance > swapTokensAtAmount * 20) { contractBalance = swapTokensAtAmount * 20; } swapTokensForEth(contractBalance); (bool success, ) = address(marketingWallet).call{value: address(this).balance}(""); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sniper","type":"address"}],"name":"BoughtEarly","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newWallet","type":"address"},{"indexed":true,"internalType":"address","name":"oldWallet","type":"address"}],"name":"FeeWalletUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"UpdateUniswapV2Router","type":"event"},{"inputs":[],"name":"TOKEN","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"excludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"excludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","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":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"setOperationsAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapBack","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":"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":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"updateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"updateFeeWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","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":"address","name":"token","type":"address"},{"internalType":"address","name":"_addr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60e060405273a876f27f13a9eb6e621202cefdd5afc4a90e645760a052600c805462ffffff1916620100011790553480156200003a57600080fd5b506040518060400160405280600781526020016649637920496e7560c81b81525060405180604001604052806002815260200161494360f01b81525081600390816200008791906200065a565b5060046200009682826200065a565b505050620000b3620000ad620002fe60201b60201c565b62000302565b737a250d5630b4cf539739df2c5dacb4c659f2488d620000d581600162000354565b806001600160a01b03166080816001600160a01b0316815250506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000130573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000156919062000726565b60a0516040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303816000875af1158015620001a8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ce919062000726565b6001600160a01b03811660c0529050620001ea816001620003ce565b601e600d55603c600e556a01a784379d99db420000006009819055600b556a52b7d2dcc80cd2e40000006127106200022482600f6200076e565b6200023091906200078e565b600a556006805473604ca4724f7c1d4dd186ba9654887d1e0404f0e76001600160a01b0319918216811790925560078054821683179055600880549091169091179055620002926200028a6005546001600160a01b031690565b600162000422565b6200029f30600162000422565b620002ae61dead600162000422565b620002cd620002c56005546001600160a01b031690565b600162000354565b620002da30600162000354565b620002e961dead600162000354565b620002f53382620004cc565b505050620007c7565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6005546001600160a01b03163314620003a35760405162461bcd60e51b8152602060048201819052602482015260008051602062002b5483398151915260448201526064015b60405180910390fd5b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b6001600160a01b038216600081815260116020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6005546001600160a01b031633146200046d5760405162461bcd60e51b8152602060048201819052602482015260008051602062002b5483398151915260448201526064016200039a565b6001600160a01b0382166000818152600f6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b038216620005245760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016200039a565b8060026000828254620005389190620007b1565b90915550506001600160a01b0382166000908152602081905260408120805483929062000567908490620007b1565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620005e157607f821691505b6020821081036200060257634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005b157600081815260208120601f850160051c81016020861015620006315750805b601f850160051c820191505b8181101562000652578281556001016200063d565b505050505050565b81516001600160401b03811115620006765762000676620005b6565b6200068e81620006878454620005cc565b8462000608565b602080601f831160018114620006c65760008415620006ad5750858301515b600019600386901b1c1916600185901b17855562000652565b600085815260208120601f198616915b82811015620006f757888601518255948401946001909101908401620006d6565b5085821015620007165787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200073957600080fd5b81516001600160a01b03811681146200075157600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000788576200078862000758565b92915050565b600082620007ac57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000788576200078862000758565b60805160a05160c05161233a6200081a6000396000818161043e0152610df30152600081816105ba0152611d6801526000818161031f01528181611dbc01528181611e750152611ea7015261233a6000f3fe6080604052600436106102765760003560e01c806382bfefc81161014f578063c18bc195116100c1578063e0f3ccf51161007a578063e0f3ccf5146107ff578063e2f4560514610815578063e4748b9e1461082b578063eba4c33314610841578063f2fde38b14610861578063f8b45b051461088157600080fd5b8063c18bc19514610713578063c8c8ebe414610733578063d257b34f14610749578063d9caed1214610769578063dbe66ca014610789578063dd62ed3e146107b957600080fd5b80639a7a23d6116101135780639a7a23d614610644578063a457c2d714610664578063a9059cbb14610684578063b62496f5146106a4578063bbc0c742146106d4578063c0246668146106f357600080fd5b806382bfefc8146105a85780638a8c523c146105dc5780638da5cb5b146105f1578063924de9b71461060f57806395d89b411461062f57600080fd5b806349bd5a5e116101e85780636ddd1713116101ac5780636ddd1713146104e857806370a0823114610508578063715018a61461053e57806371fc468814610553578063751039fc146105735780637571336a1461058857600080fd5b806349bd5a5e1461042c5780634a62bb65146104605780634fbee1931461047a57806366718524146104b35780636ac5eeee146104d357600080fd5b8063203e727e1161023a578063203e727e1461037857806323b872dd1461039a57806327c8f835146103ba578063313ce567146103d057806339509351146103ec578063499b83941461040c57600080fd5b806306fdde0314610282578063095ea7b3146102ad5780631597f55d146102dd5780631694505e1461030d57806318160ddd1461035957600080fd5b3661027d57005b600080fd5b34801561028e57600080fd5b50610297610897565b6040516102a49190611f38565b60405180910390f35b3480156102b957600080fd5b506102cd6102c8366004611f9b565b610929565b60405190151581526020016102a4565b3480156102e957600080fd5b506102cd6102f8366004611fc7565b60106020526000908152604090205460ff1681565b34801561031957600080fd5b506103417f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102a4565b34801561036557600080fd5b506002545b6040519081526020016102a4565b34801561038457600080fd5b50610398610393366004611feb565b610940565b005b3480156103a657600080fd5b506102cd6103b5366004612004565b610a26565b3480156103c657600080fd5b5061034161dead81565b3480156103dc57600080fd5b50604051601281526020016102a4565b3480156103f857600080fd5b506102cd610407366004611f9b565b610ad0565b34801561041857600080fd5b50610398610427366004611fc7565b610b0c565b34801561043857600080fd5b506103417f000000000000000000000000000000000000000000000000000000000000000081565b34801561046c57600080fd5b50600c546102cd9060ff1681565b34801561048657600080fd5b506102cd610495366004611fc7565b6001600160a01b03166000908152600f602052604090205460ff1690565b3480156104bf57600080fd5b506103986104ce366004611fc7565b610b52565b3480156104df57600080fd5b50610398610bc5565b3480156104f457600080fd5b50600c546102cd9062010000900460ff1681565b34801561051457600080fd5b5061036a610523366004611fc7565b6001600160a01b031660009081526020819052604090205490565b34801561054a57600080fd5b50610398610bf9565b34801561055f57600080fd5b5061039861056e366004611feb565b610c2d565b34801561057f57600080fd5b506102cd610c5c565b34801561059457600080fd5b506103986105a3366004612053565b610c99565b3480156105b457600080fd5b506103417f000000000000000000000000000000000000000000000000000000000000000081565b3480156105e857600080fd5b50610398610cee565b3480156105fd57600080fd5b506005546001600160a01b0316610341565b34801561061b57600080fd5b5061039861062a36600461208c565b610d72565b34801561063b57600080fd5b50610297610db8565b34801561065057600080fd5b5061039861065f366004612053565b610dc7565b34801561067057600080fd5b506102cd61067f366004611f9b565b610ea6565b34801561069057600080fd5b506102cd61069f366004611f9b565b610f3f565b3480156106b057600080fd5b506102cd6106bf366004611fc7565b60116020526000908152604090205460ff1681565b3480156106e057600080fd5b50600c546102cd90610100900460ff1681565b3480156106ff57600080fd5b5061039861070e366004612053565b610f4c565b34801561071f57600080fd5b5061039861072e366004611feb565b610fd5565b34801561073f57600080fd5b5061036a60095481565b34801561075557600080fd5b506102cd610764366004611feb565b6110a6565b34801561077557600080fd5b50610398610784366004612004565b6111f8565b34801561079557600080fd5b506102cd6107a4366004611fc7565b600f6020526000908152604090205460ff1681565b3480156107c557600080fd5b5061036a6107d43660046120a9565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561080b57600080fd5b5061036a600e5481565b34801561082157600080fd5b5061036a600a5481565b34801561083757600080fd5b5061036a600d5481565b34801561084d57600080fd5b5061039861085c366004611feb565b611296565b34801561086d57600080fd5b5061039861087c366004611fc7565b6112c5565b34801561088d57600080fd5b5061036a600b5481565b6060600380546108a6906120d7565b80601f01602080910402602001604051908101604052809291908181526020018280546108d2906120d7565b801561091f5780601f106108f45761010080835404028352916020019161091f565b820191906000526020600020905b81548152906001019060200180831161090257829003601f168201915b5050505050905090565b6000610936338484611360565b5060015b92915050565b6005546001600160a01b031633146109735760405162461bcd60e51b815260040161096a90612111565b60405180910390fd5b670de0b6b3a76400006103e861098860025490565b61099390600161215c565b61099d9190612173565b6109a79190612173565b811015610a0e5760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060448201526e6c6f776572207468616e20302e312560881b606482015260840161096a565b610a2081670de0b6b3a764000061215c565b60095550565b6000610a33848484611484565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610ab85760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161096a565b610ac58533858403611360565b506001949350505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610936918590610b07908690612195565b611360565b6008546001600160a01b03163314610b2357600080fd5b610b308130600019611360565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6006546001600160a01b03163314610b6957600080fd5b6006546040516001600160a01b038084169216907f362a006325d32978b283e449d254cfcf93e2cccc321603ead9a74238d8dbf36e90600090a3600680546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610bef5760405162461bcd60e51b815260040161096a90612111565b610bf7611a7d565b565b6005546001600160a01b03163314610c235760405162461bcd60e51b815260040161096a90612111565b610bf76000611b14565b6005546001600160a01b03163314610c575760405162461bcd60e51b815260040161096a90612111565b600d55565b6005546000906001600160a01b03163314610c895760405162461bcd60e51b815260040161096a90612111565b50600c805460ff19169055600190565b6005546001600160a01b03163314610cc35760405162461bcd60e51b815260040161096a90612111565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610d185760405162461bcd60e51b815260040161096a90612111565b600c54610100900460ff1615610d615760405162461bcd60e51b815260206004820152600e60248201526d151bdad95b881b185d5b98da195960921b604482015260640161096a565b600c805461ff001916610100179055565b6005546001600160a01b03163314610d9c5760405162461bcd60e51b815260040161096a90612111565b600c8054911515620100000262ff000019909216919091179055565b6060600480546108a6906120d7565b6005546001600160a01b03163314610df15760405162461bcd60e51b815260040161096a90612111565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610e985760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000606482015260840161096a565b610ea28282611b66565b5050565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610f285760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161096a565b610f353385858403611360565b5060019392505050565b6000610936338484611484565b6005546001600160a01b03163314610f765760405162461bcd60e51b815260040161096a90612111565b6001600160a01b0382166000818152600f6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b03163314610fff5760405162461bcd60e51b815260040161096a90612111565b670de0b6b3a76400006103e861101460025490565b61101f90600561215c565b6110299190612173565b6110339190612173565b81101561108e5760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015263302e352560e01b606482015260840161096a565b6110a081670de0b6b3a764000061215c565b600b5550565b6005546000906001600160a01b031633146110d35760405162461bcd60e51b815260040161096a90612111565b620186a06110e060025490565b6110eb90600161215c565b6110f59190612173565b8210156111625760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b606482015260840161096a565b6103e861116e60025490565b61117990600561215c565b6111839190612173565b8211156111ef5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b606482015260840161096a565b50600a55600190565b6008546001600160a01b0316331461120f57600080fd5b6008546040516323b872dd60e01b81526001600160a01b03848116600483015291821660248201526044810183905284918216906323b872dd906064016020604051808303816000875af115801561126b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128f91906121a8565b5050505050565b6005546001600160a01b031633146112c05760405162461bcd60e51b815260040161096a90612111565b600e55565b6005546001600160a01b031633146112ef5760405162461bcd60e51b815260040161096a90612111565b6001600160a01b0381166113545760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161096a565b61135d81611b14565b50565b6001600160a01b0383166113c25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161096a565b6001600160a01b0382166114235760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161096a565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166114aa5760405162461bcd60e51b815260040161096a906121c5565b6001600160a01b0382166114d05760405162461bcd60e51b815260040161096a9061220a565b806000036114e9576114e483836000611bba565b505050565b600c5460ff161561185f576005546001600160a01b0384811691161480159061152057506005546001600160a01b03838116911614155b801561153457506001600160a01b03821615155b801561154b57506001600160a01b03821661dead14155b80156115615750600554600160a01b900460ff16155b1561185f57600c54610100900460ff166115f9576001600160a01b0383166000908152600f602052604090205460ff16806115b457506001600160a01b0382166000908152600f602052604090205460ff165b6115f95760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161096a565b6001600160a01b03831660009081526011602052604090205460ff16801561163a57506001600160a01b03821660009081526010602052604090205460ff16155b1561171e57600b546001600160a01b0383166000908152602081905260409020546116659083612195565b11156116a95760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161096a565b6009548111156117195760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b606482015260840161096a565b61185f565b6001600160a01b03821660009081526011602052604090205460ff16801561175f57506001600160a01b03831660009081526010602052604090205460ff16155b156117d5576009548111156117195760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b606482015260840161096a565b6001600160a01b03821660009081526010602052604090205460ff1661185f57600b546001600160a01b03831660009081526020819052604090205461181b9083612195565b111561185f5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161096a565b30600090815260208190526040902054600a54600c54908210159062010000900460ff1680156118995750600554600160a01b900460ff16155b80156118be57506001600160a01b03851660009081526011602052604090205460ff16155b80156118e357506001600160a01b0385166000908152600f602052604090205460ff16155b801561190857506001600160a01b0384166000908152600f602052604090205460ff16155b15611936576005805460ff60a01b1916600160a01b179055611928611a7d565b6005805460ff60a01b191690555b600554326000908152600f602052604090205460ff600160a01b90920482161591168061197b57506001600160a01b0386166000908152600f602052604090205460ff165b8061199e57506001600160a01b0385166000908152600f602052604090205460ff165b156119a7575060005b60008115611a69576001600160a01b03861660009081526011602052604090205460ff1680156119d957506000600e54115b156119ff576064600e54866119ee919061215c565b6119f89190612173565b9050611a4b565b6001600160a01b03871660009081526011602052604090205460ff168015611a2957506000600d54115b15611a4b576064600d5486611a3e919061215c565b611a489190612173565b90505b8015611a5c57611a5c873083611bba565b611a66818661224d565b94505b611a74878787611bba565b50505050505050565b3060009081526020819052604081205490819003611a985750565b600a54611aa690601461215c565b811115611abe57600a54611abb90601461215c565b90505b611ac781611d0f565b6006546040516000916001600160a01b03169047908381818185875af1925050503d806000811461128f576040519150601f19603f3d011682016040523d82523d6000602084013e61128f565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216600081815260116020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b038316611be05760405162461bcd60e51b815260040161096a906121c5565b6001600160a01b038216611c065760405162461bcd60e51b815260040161096a9061220a565b6001600160a01b03831660009081526020819052604090205481811015611c7e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161096a565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611cb5908490612195565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d0191815260200190565b60405180910390a350505050565b60408051600380825260808201909252600091602082016060803683370190505090503081600081518110611d4657611d46612260565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110611d9a57611d9a612260565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e3c9190612276565b81600281518110611e4f57611e4f612260565b60200260200101906001600160a01b031690816001600160a01b031681525050611e9a307f000000000000000000000000000000000000000000000000000000000000000084611360565b6006546001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169163791ac947918591600091869116611ee2426064612195565b6040518663ffffffff1660e01b8152600401611f02959493929190612293565b600060405180830381600087803b158015611f1c57600080fd5b505af1158015611f30573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b81811015611f6557858101830151858201604001528201611f49565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461135d57600080fd5b60008060408385031215611fae57600080fd5b8235611fb981611f86565b946020939093013593505050565b600060208284031215611fd957600080fd5b8135611fe481611f86565b9392505050565b600060208284031215611ffd57600080fd5b5035919050565b60008060006060848603121561201957600080fd5b833561202481611f86565b9250602084013561203481611f86565b929592945050506040919091013590565b801515811461135d57600080fd5b6000806040838503121561206657600080fd5b823561207181611f86565b9150602083013561208181612045565b809150509250929050565b60006020828403121561209e57600080fd5b8135611fe481612045565b600080604083850312156120bc57600080fd5b82356120c781611f86565b9150602083013561208181611f86565b600181811c908216806120eb57607f821691505b60208210810361210b57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761093a5761093a612146565b60008261219057634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561093a5761093a612146565b6000602082840312156121ba57600080fd5b8151611fe481612045565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561093a5761093a612146565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561228857600080fd5b8151611fe481611f86565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156122e35784516001600160a01b0316835293830193918301916001016122be565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212203c0276c83522604b1c227554f680288e95093154ef6f5563405e71a9e5fa842e64736f6c634300081300334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
Deployed Bytecode
0x6080604052600436106102765760003560e01c806382bfefc81161014f578063c18bc195116100c1578063e0f3ccf51161007a578063e0f3ccf5146107ff578063e2f4560514610815578063e4748b9e1461082b578063eba4c33314610841578063f2fde38b14610861578063f8b45b051461088157600080fd5b8063c18bc19514610713578063c8c8ebe414610733578063d257b34f14610749578063d9caed1214610769578063dbe66ca014610789578063dd62ed3e146107b957600080fd5b80639a7a23d6116101135780639a7a23d614610644578063a457c2d714610664578063a9059cbb14610684578063b62496f5146106a4578063bbc0c742146106d4578063c0246668146106f357600080fd5b806382bfefc8146105a85780638a8c523c146105dc5780638da5cb5b146105f1578063924de9b71461060f57806395d89b411461062f57600080fd5b806349bd5a5e116101e85780636ddd1713116101ac5780636ddd1713146104e857806370a0823114610508578063715018a61461053e57806371fc468814610553578063751039fc146105735780637571336a1461058857600080fd5b806349bd5a5e1461042c5780634a62bb65146104605780634fbee1931461047a57806366718524146104b35780636ac5eeee146104d357600080fd5b8063203e727e1161023a578063203e727e1461037857806323b872dd1461039a57806327c8f835146103ba578063313ce567146103d057806339509351146103ec578063499b83941461040c57600080fd5b806306fdde0314610282578063095ea7b3146102ad5780631597f55d146102dd5780631694505e1461030d57806318160ddd1461035957600080fd5b3661027d57005b600080fd5b34801561028e57600080fd5b50610297610897565b6040516102a49190611f38565b60405180910390f35b3480156102b957600080fd5b506102cd6102c8366004611f9b565b610929565b60405190151581526020016102a4565b3480156102e957600080fd5b506102cd6102f8366004611fc7565b60106020526000908152604090205460ff1681565b34801561031957600080fd5b506103417f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b0390911681526020016102a4565b34801561036557600080fd5b506002545b6040519081526020016102a4565b34801561038457600080fd5b50610398610393366004611feb565b610940565b005b3480156103a657600080fd5b506102cd6103b5366004612004565b610a26565b3480156103c657600080fd5b5061034161dead81565b3480156103dc57600080fd5b50604051601281526020016102a4565b3480156103f857600080fd5b506102cd610407366004611f9b565b610ad0565b34801561041857600080fd5b50610398610427366004611fc7565b610b0c565b34801561043857600080fd5b506103417f000000000000000000000000ab983eda796c0bfbcc969a362ad6531b2c6e175681565b34801561046c57600080fd5b50600c546102cd9060ff1681565b34801561048657600080fd5b506102cd610495366004611fc7565b6001600160a01b03166000908152600f602052604090205460ff1690565b3480156104bf57600080fd5b506103986104ce366004611fc7565b610b52565b3480156104df57600080fd5b50610398610bc5565b3480156104f457600080fd5b50600c546102cd9062010000900460ff1681565b34801561051457600080fd5b5061036a610523366004611fc7565b6001600160a01b031660009081526020819052604090205490565b34801561054a57600080fd5b50610398610bf9565b34801561055f57600080fd5b5061039861056e366004611feb565b610c2d565b34801561057f57600080fd5b506102cd610c5c565b34801561059457600080fd5b506103986105a3366004612053565b610c99565b3480156105b457600080fd5b506103417f000000000000000000000000a876f27f13a9eb6e621202cefdd5afc4a90e645781565b3480156105e857600080fd5b50610398610cee565b3480156105fd57600080fd5b506005546001600160a01b0316610341565b34801561061b57600080fd5b5061039861062a36600461208c565b610d72565b34801561063b57600080fd5b50610297610db8565b34801561065057600080fd5b5061039861065f366004612053565b610dc7565b34801561067057600080fd5b506102cd61067f366004611f9b565b610ea6565b34801561069057600080fd5b506102cd61069f366004611f9b565b610f3f565b3480156106b057600080fd5b506102cd6106bf366004611fc7565b60116020526000908152604090205460ff1681565b3480156106e057600080fd5b50600c546102cd90610100900460ff1681565b3480156106ff57600080fd5b5061039861070e366004612053565b610f4c565b34801561071f57600080fd5b5061039861072e366004611feb565b610fd5565b34801561073f57600080fd5b5061036a60095481565b34801561075557600080fd5b506102cd610764366004611feb565b6110a6565b34801561077557600080fd5b50610398610784366004612004565b6111f8565b34801561079557600080fd5b506102cd6107a4366004611fc7565b600f6020526000908152604090205460ff1681565b3480156107c557600080fd5b5061036a6107d43660046120a9565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561080b57600080fd5b5061036a600e5481565b34801561082157600080fd5b5061036a600a5481565b34801561083757600080fd5b5061036a600d5481565b34801561084d57600080fd5b5061039861085c366004611feb565b611296565b34801561086d57600080fd5b5061039861087c366004611fc7565b6112c5565b34801561088d57600080fd5b5061036a600b5481565b6060600380546108a6906120d7565b80601f01602080910402602001604051908101604052809291908181526020018280546108d2906120d7565b801561091f5780601f106108f45761010080835404028352916020019161091f565b820191906000526020600020905b81548152906001019060200180831161090257829003601f168201915b5050505050905090565b6000610936338484611360565b5060015b92915050565b6005546001600160a01b031633146109735760405162461bcd60e51b815260040161096a90612111565b60405180910390fd5b670de0b6b3a76400006103e861098860025490565b61099390600161215c565b61099d9190612173565b6109a79190612173565b811015610a0e5760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060448201526e6c6f776572207468616e20302e312560881b606482015260840161096a565b610a2081670de0b6b3a764000061215c565b60095550565b6000610a33848484611484565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610ab85760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161096a565b610ac58533858403611360565b506001949350505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610936918590610b07908690612195565b611360565b6008546001600160a01b03163314610b2357600080fd5b610b308130600019611360565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6006546001600160a01b03163314610b6957600080fd5b6006546040516001600160a01b038084169216907f362a006325d32978b283e449d254cfcf93e2cccc321603ead9a74238d8dbf36e90600090a3600680546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610bef5760405162461bcd60e51b815260040161096a90612111565b610bf7611a7d565b565b6005546001600160a01b03163314610c235760405162461bcd60e51b815260040161096a90612111565b610bf76000611b14565b6005546001600160a01b03163314610c575760405162461bcd60e51b815260040161096a90612111565b600d55565b6005546000906001600160a01b03163314610c895760405162461bcd60e51b815260040161096a90612111565b50600c805460ff19169055600190565b6005546001600160a01b03163314610cc35760405162461bcd60e51b815260040161096a90612111565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610d185760405162461bcd60e51b815260040161096a90612111565b600c54610100900460ff1615610d615760405162461bcd60e51b815260206004820152600e60248201526d151bdad95b881b185d5b98da195960921b604482015260640161096a565b600c805461ff001916610100179055565b6005546001600160a01b03163314610d9c5760405162461bcd60e51b815260040161096a90612111565b600c8054911515620100000262ff000019909216919091179055565b6060600480546108a6906120d7565b6005546001600160a01b03163314610df15760405162461bcd60e51b815260040161096a90612111565b7f000000000000000000000000ab983eda796c0bfbcc969a362ad6531b2c6e17566001600160a01b0316826001600160a01b031603610e985760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000606482015260840161096a565b610ea28282611b66565b5050565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610f285760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161096a565b610f353385858403611360565b5060019392505050565b6000610936338484611484565b6005546001600160a01b03163314610f765760405162461bcd60e51b815260040161096a90612111565b6001600160a01b0382166000818152600f6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b03163314610fff5760405162461bcd60e51b815260040161096a90612111565b670de0b6b3a76400006103e861101460025490565b61101f90600561215c565b6110299190612173565b6110339190612173565b81101561108e5760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015263302e352560e01b606482015260840161096a565b6110a081670de0b6b3a764000061215c565b600b5550565b6005546000906001600160a01b031633146110d35760405162461bcd60e51b815260040161096a90612111565b620186a06110e060025490565b6110eb90600161215c565b6110f59190612173565b8210156111625760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b606482015260840161096a565b6103e861116e60025490565b61117990600561215c565b6111839190612173565b8211156111ef5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b606482015260840161096a565b50600a55600190565b6008546001600160a01b0316331461120f57600080fd5b6008546040516323b872dd60e01b81526001600160a01b03848116600483015291821660248201526044810183905284918216906323b872dd906064016020604051808303816000875af115801561126b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128f91906121a8565b5050505050565b6005546001600160a01b031633146112c05760405162461bcd60e51b815260040161096a90612111565b600e55565b6005546001600160a01b031633146112ef5760405162461bcd60e51b815260040161096a90612111565b6001600160a01b0381166113545760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161096a565b61135d81611b14565b50565b6001600160a01b0383166113c25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161096a565b6001600160a01b0382166114235760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161096a565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166114aa5760405162461bcd60e51b815260040161096a906121c5565b6001600160a01b0382166114d05760405162461bcd60e51b815260040161096a9061220a565b806000036114e9576114e483836000611bba565b505050565b600c5460ff161561185f576005546001600160a01b0384811691161480159061152057506005546001600160a01b03838116911614155b801561153457506001600160a01b03821615155b801561154b57506001600160a01b03821661dead14155b80156115615750600554600160a01b900460ff16155b1561185f57600c54610100900460ff166115f9576001600160a01b0383166000908152600f602052604090205460ff16806115b457506001600160a01b0382166000908152600f602052604090205460ff165b6115f95760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161096a565b6001600160a01b03831660009081526011602052604090205460ff16801561163a57506001600160a01b03821660009081526010602052604090205460ff16155b1561171e57600b546001600160a01b0383166000908152602081905260409020546116659083612195565b11156116a95760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161096a565b6009548111156117195760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b606482015260840161096a565b61185f565b6001600160a01b03821660009081526011602052604090205460ff16801561175f57506001600160a01b03831660009081526010602052604090205460ff16155b156117d5576009548111156117195760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b606482015260840161096a565b6001600160a01b03821660009081526010602052604090205460ff1661185f57600b546001600160a01b03831660009081526020819052604090205461181b9083612195565b111561185f5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161096a565b30600090815260208190526040902054600a54600c54908210159062010000900460ff1680156118995750600554600160a01b900460ff16155b80156118be57506001600160a01b03851660009081526011602052604090205460ff16155b80156118e357506001600160a01b0385166000908152600f602052604090205460ff16155b801561190857506001600160a01b0384166000908152600f602052604090205460ff16155b15611936576005805460ff60a01b1916600160a01b179055611928611a7d565b6005805460ff60a01b191690555b600554326000908152600f602052604090205460ff600160a01b90920482161591168061197b57506001600160a01b0386166000908152600f602052604090205460ff165b8061199e57506001600160a01b0385166000908152600f602052604090205460ff165b156119a7575060005b60008115611a69576001600160a01b03861660009081526011602052604090205460ff1680156119d957506000600e54115b156119ff576064600e54866119ee919061215c565b6119f89190612173565b9050611a4b565b6001600160a01b03871660009081526011602052604090205460ff168015611a2957506000600d54115b15611a4b576064600d5486611a3e919061215c565b611a489190612173565b90505b8015611a5c57611a5c873083611bba565b611a66818661224d565b94505b611a74878787611bba565b50505050505050565b3060009081526020819052604081205490819003611a985750565b600a54611aa690601461215c565b811115611abe57600a54611abb90601461215c565b90505b611ac781611d0f565b6006546040516000916001600160a01b03169047908381818185875af1925050503d806000811461128f576040519150601f19603f3d011682016040523d82523d6000602084013e61128f565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216600081815260116020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b038316611be05760405162461bcd60e51b815260040161096a906121c5565b6001600160a01b038216611c065760405162461bcd60e51b815260040161096a9061220a565b6001600160a01b03831660009081526020819052604090205481811015611c7e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161096a565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611cb5908490612195565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d0191815260200190565b60405180910390a350505050565b60408051600380825260808201909252600091602082016060803683370190505090503081600081518110611d4657611d46612260565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000a876f27f13a9eb6e621202cefdd5afc4a90e645781600181518110611d9a57611d9a612260565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e3c9190612276565b81600281518110611e4f57611e4f612260565b60200260200101906001600160a01b031690816001600160a01b031681525050611e9a307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611360565b6006546001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81169163791ac947918591600091869116611ee2426064612195565b6040518663ffffffff1660e01b8152600401611f02959493929190612293565b600060405180830381600087803b158015611f1c57600080fd5b505af1158015611f30573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b81811015611f6557858101830151858201604001528201611f49565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461135d57600080fd5b60008060408385031215611fae57600080fd5b8235611fb981611f86565b946020939093013593505050565b600060208284031215611fd957600080fd5b8135611fe481611f86565b9392505050565b600060208284031215611ffd57600080fd5b5035919050565b60008060006060848603121561201957600080fd5b833561202481611f86565b9250602084013561203481611f86565b929592945050506040919091013590565b801515811461135d57600080fd5b6000806040838503121561206657600080fd5b823561207181611f86565b9150602083013561208181612045565b809150509250929050565b60006020828403121561209e57600080fd5b8135611fe481612045565b600080604083850312156120bc57600080fd5b82356120c781611f86565b9150602083013561208181611f86565b600181811c908216806120eb57607f821691505b60208210810361210b57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761093a5761093a612146565b60008261219057634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561093a5761093a612146565b6000602082840312156121ba57600080fd5b8151611fe481612045565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561093a5761093a612146565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561228857600080fd5b8151611fe481611f86565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156122e35784516001600160a01b0316835293830193918301916001016122be565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212203c0276c83522604b1c227554f680288e95093154ef6f5563405e71a9e5fa842e64736f6c63430008130033
Deployed Bytecode Sourcemap
14991:11103:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2688:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3602:169;;;;;;;;;;-1:-1:-1;3602:169:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;3602:169:0;1023:187:1;15868:60:0;;;;;;;;;;-1:-1:-1;15868:60:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15067:51;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1658:32:1;;;1640:51;;1628:2;1613:18;15067:51:0;1467:230:1;3009:108:0;;;;;;;;;;-1:-1:-1;3097:12:0;;3009:108;;;1848:25:1;;;1836:2;1821:18;3009:108:0;1702:177:1;19054:275:0;;;;;;;;;;-1:-1:-1;19054:275:0;;;;;:::i;:::-;;:::i;:::-;;3779:492;;;;;;;;;;-1:-1:-1;3779:492:0;;;;;:::i;:::-;;:::i;15261:53::-;;;;;;;;;;;;15307:6;15261:53;;2908:93;;;;;;;;;;-1:-1:-1;2908:93:0;;2991:2;2880:36:1;;2868:2;2853:18;2908:93:0;2738:184:1;4279:215:0;;;;;;;;;;-1:-1:-1;4279:215:0;;;;;:::i;:::-;;:::i;19513:208::-;;;;;;;;;;-1:-1:-1;19513:208:0;;;;;:::i;:::-;;:::i;15216:38::-;;;;;;;;;;;;;;;15578:33;;;;;;;;;;-1:-1:-1;15578:33:0;;;;;;;;21271:123;;;;;;;;;;-1:-1:-1;21271:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;21361:25:0;21337:4;21361:25;;;:16;:25;;;;;;;;;21271:123;21070:193;;;;;;;;;;-1:-1:-1;21070:193:0;;;;;:::i;:::-;;:::i;21406:69::-;;;;;;;;;;;;;:::i;15658:30::-;;;;;;;;;;-1:-1:-1;15658:30:0;;;;;;;;;;;3125:127;;;;;;;;;;-1:-1:-1;3125:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;3226:18:0;3199:7;3226:18;;;;;;;;;;;;3125:127;810:103;;;;;;;;;;;;;:::i;19925:97::-;;;;;;;;;;-1:-1:-1;19925:97:0;;;;;:::i;:::-;;:::i;18090:121::-;;;;;;;;;;;;;:::i;19337:164::-;;;;;;;;;;-1:-1:-1;19337:164:0;;;;;:::i;:::-;;:::i;15125:84::-;;;;;;;;;;;;;;;17903:135;;;;;;;;;;;;;:::i;587:87::-;;;;;;;;;;-1:-1:-1;660:6:0;;-1:-1:-1;;;;;660:6:0;587:87;;19817:100;;;;;;;;;;-1:-1:-1;19817:100:0;;;;;:::i;:::-;;:::i;2796:104::-;;;;;;;;;;;;;:::i;20316:304::-;;;;;;;;;;-1:-1:-1;20316:304:0;;;;;:::i;:::-;;:::i;4502:413::-;;;;;;;;;;-1:-1:-1;4502:413:0;;;;;:::i;:::-;;:::i;3260:175::-;;;;;;;;;;-1:-1:-1;3260:175:0;;;;;:::i;:::-;;:::i;15937:57::-;;;;;;;;;;-1:-1:-1;15937:57:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15618:33;;;;;;;;;;-1:-1:-1;15618:33:0;;;;;;;;;;;20129:179;;;;;;;;;;-1:-1:-1;20129:179:0;;;;;:::i;:::-;;:::i;18790:256::-;;;;;;;;;;-1:-1:-1;18790:256:0;;;;;:::i;:::-;;:::i;15463:35::-;;;;;;;;;;;;;;;;18281:497;;;;;;;;;;-1:-1:-1;18281:497:0;;;;;:::i;:::-;;:::i;20632:228::-;;;;;;;;;;-1:-1:-1;20632:228:0;;;;;:::i;:::-;;:::i;15813:48::-;;;;;;;;;;-1:-1:-1;15813:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3443:151;;;;;;;;;;-1:-1:-1;3443:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;3559:18:0;;;3532:7;3559:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3443:151;15781:23;;;;;;;;;;;;;;;;15505:33;;;;;;;;;;;;;;;;15752:22;;;;;;;;;;;;;;;;20030:91;;;;;;;;;;-1:-1:-1;20030:91:0;;;;;:::i;:::-;;:::i;921:201::-;;;;;;;;;;-1:-1:-1;921:201:0;;;;;:::i;:::-;;:::i;15545:24::-;;;;;;;;;;;;;;;;2688:100;2742:13;2775:5;2768:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2688:100;:::o;3602:169::-;3685:4;3702:39;213:10;3725:7;3734:6;3702:8;:39::i;:::-;-1:-1:-1;3759:4:0;3602:169;;;;;:::o;19054:275::-;660:6;;-1:-1:-1;;;;;660:6:0;213:10;722:23;714:68;;;;-1:-1:-1;;;714:68:0;;;;;;;:::i;:::-;;;;;;;;;19191:4:::1;19183;19162:13;3097:12:::0;;;3009:108;19162:13:::1;:17;::::0;19178:1:::1;19162:17;:::i;:::-;19161:26;;;;:::i;:::-;19160:35;;;;:::i;:::-;19150:6;:45;;19128:142;;;::::0;-1:-1:-1;;;19128:142:0;;5551:2:1;19128:142:0::1;::::0;::::1;5533:21:1::0;5590:2;5570:18;;;5563:30;5629:34;5609:18;;;5602:62;-1:-1:-1;;;5680:18:1;;;5673:45;5735:19;;19128:142:0::1;5349:411:1::0;19128:142:0::1;19304:17;:6:::0;19314::::1;19304:17;:::i;:::-;19281:20;:40:::0;-1:-1:-1;19054:275:0:o;3779:492::-;3919:4;3936:36;3946:6;3954:9;3965:6;3936:9;:36::i;:::-;-1:-1:-1;;;;;4012:19:0;;3985:24;4012:19;;;:11;:19;;;;;;;;213:10;4012:33;;;;;;;;4064:26;;;;4056:79;;;;-1:-1:-1;;;4056:79:0;;5967:2:1;4056:79:0;;;5949:21:1;6006:2;5986:18;;;5979:30;6045:34;6025:18;;;6018:62;-1:-1:-1;;;6096:18:1;;;6089:38;6144:19;;4056:79:0;5765:404:1;4056:79:0;4171:57;4180:6;213:10;4221:6;4202:16;:25;4171:8;:57::i;:::-;-1:-1:-1;4259:4:0;;3779:492;-1:-1:-1;;;;3779:492:0:o;4279:215::-;213:10;4367:4;4416:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;4416:34:0;;;;;;;;;;4367:4;;4384:80;;4407:7;;4416:47;;4453:10;;4416:47;:::i;:::-;4384:8;:80::i;19513:208::-;19604:9;;-1:-1:-1;;;;;19604:9:0;19590:10;:23;19582:32;;;;;;19625:50;19634:9;19653:4;-1:-1:-1;;19625:8:0;:50::i;:::-;19686:15;:27;;-1:-1:-1;;;;;;19686:27:0;-1:-1:-1;;;;;19686:27:0;;;;;;;;;;19513:208::o;21070:193::-;21151:15;;-1:-1:-1;;;;;21151:15:0;21137:10;:29;21129:38;;;;;;21200:15;;21183:39;;-1:-1:-1;;;;;21183:39:0;;;;21200:15;;21183:39;;21200:15;;21183:39;21233:15;:22;;-1:-1:-1;;;;;;21233:22:0;-1:-1:-1;;;;;21233:22:0;;;;;;;;;;21070:193::o;21406:69::-;660:6;;-1:-1:-1;;;;;660:6:0;213:10;722:23;714:68;;;;-1:-1:-1;;;714:68:0;;;;;;;:::i;:::-;21456:11:::1;:9;:11::i;:::-;21406:69::o:0;810:103::-;660:6;;-1:-1:-1;;;;;660:6:0;213:10;722:23;714:68;;;;-1:-1:-1;;;714:68:0;;;;;;;:::i;:::-;875:30:::1;902:1;875:18;:30::i;19925:97::-:0;660:6;;-1:-1:-1;;;;;660:6:0;213:10;722:23;714:68;;;;-1:-1:-1;;;714:68:0;;;;;;;:::i;:::-;20000:7:::1;:14:::0;19925:97::o;18090:121::-;660:6;;18142:4;;-1:-1:-1;;;;;660:6:0;213:10;722:23;714:68;;;;-1:-1:-1;;;714:68:0;;;;;;;:::i;:::-;-1:-1:-1;18159:14:0::1;:22:::0;;-1:-1:-1;;18159:22:0::1;::::0;;;18090:121;:::o;19337:164::-;660:6;;-1:-1:-1;;;;;660:6:0;213:10;722:23;714:68;;;;-1:-1:-1;;;714:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19450:36:0;;;::::1;;::::0;;;:28:::1;:36;::::0;;;;:43;;-1:-1:-1;;19450:43:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19337:164::o;17903:135::-;660:6;;-1:-1:-1;;;;;660:6:0;213:10;722:23;714:68;;;;-1:-1:-1;;;714:68:0;;;;;;;:::i;:::-;17967:13:::1;::::0;::::1;::::0;::::1;;;17966:14;17958:41;;;::::0;-1:-1:-1;;;17958:41:0;;6506:2:1;17958:41:0::1;::::0;::::1;6488:21:1::0;6545:2;6525:18;;;6518:30;-1:-1:-1;;;6564:18:1;;;6557:44;6618:18;;17958:41:0::1;6304:338:1::0;17958:41:0::1;18010:13;:20:::0;;-1:-1:-1;;18010:20:0::1;;;::::0;;17903:135::o;19817:100::-;660:6;;-1:-1:-1;;;;;660:6:0;213:10;722:23;714:68;;;;-1:-1:-1;;;714:68:0;;;;;;;:::i;:::-;19888:11:::1;:21:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;19888:21:0;;::::1;::::0;;;::::1;::::0;;19817:100::o;2796:104::-;2852:13;2885:7;2878:14;;;;;:::i;20316:304::-;660:6;;-1:-1:-1;;;;;660:6:0;213:10;722:23;714:68;;;;-1:-1:-1;;;714:68:0;;;;;;;:::i;:::-;20460:13:::1;-1:-1:-1::0;;;;;20452:21:0::1;:4;-1:-1:-1::0;;;;;20452:21:0::1;::::0;20430:128:::1;;;::::0;-1:-1:-1;;;20430:128:0;;6849:2:1;20430:128:0::1;::::0;::::1;6831:21:1::0;6888:2;6868:18;;;6861:30;6927:34;6907:18;;;6900:62;6998:27;6978:18;;;6971:55;7043:19;;20430:128:0::1;6647:421:1::0;20430:128:0::1;20571:41;20600:4;20606:5;20571:28;:41::i;:::-;20316:304:::0;;:::o;4502:413::-;213:10;4595:4;4639:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;4639:34:0;;;;;;;;;;4692:35;;;;4684:85;;;;-1:-1:-1;;;4684:85:0;;7275:2:1;4684:85:0;;;7257:21:1;7314:2;7294:18;;;7287:30;7353:34;7333:18;;;7326:62;-1:-1:-1;;;7404:18:1;;;7397:35;7449:19;;4684:85:0;7073:401:1;4684:85:0;4805:67;213:10;4828:7;4856:15;4837:16;:34;4805:8;:67::i;:::-;-1:-1:-1;4903:4:0;;4502:413;-1:-1:-1;;;4502:413:0:o;3260:175::-;3346:4;3363:42;213:10;3387:9;3398:6;3363:9;:42::i;20129:179::-;660:6;;-1:-1:-1;;;;;660:6:0;213:10;722:23;714:68;;;;-1:-1:-1;;;714:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20214:25:0;::::1;;::::0;;;:16:::1;:25;::::0;;;;;;;;:36;;-1:-1:-1;;20214:36:0::1;::::0;::::1;;::::0;;::::1;::::0;;;20266:34;;1163:41:1;;;20266:34:0::1;::::0;1136:18:1;20266:34:0::1;;;;;;;20129:179:::0;;:::o;18790:256::-;660:6;;-1:-1:-1;;;;;660:6:0;213:10;722:23;714:68;;;;-1:-1:-1;;;714:68:0;;;;;;;:::i;:::-;18930:4:::1;18922;18901:13;3097:12:::0;;;3009:108;18901:13:::1;:17;::::0;18917:1:::1;18901:17;:::i;:::-;18900:26;;;;:::i;:::-;18899:35;;;;:::i;:::-;18889:6;:45;;18867:131;;;::::0;-1:-1:-1;;;18867:131:0;;7681:2:1;18867:131:0::1;::::0;::::1;7663:21:1::0;7720:2;7700:18;;;7693:30;7759:34;7739:18;;;7732:62;-1:-1:-1;;;7810:18:1;;;7803:34;7854:19;;18867:131:0::1;7479:400:1::0;18867:131:0::1;19021:17;:6:::0;19031::::1;19021:17;:::i;:::-;19009:9;:29:::0;-1:-1:-1;18790:256:0:o;18281:497::-;660:6;;18389:4;;-1:-1:-1;;;;;660:6:0;213:10;722:23;714:68;;;;-1:-1:-1;;;714:68:0;;;;;;;:::i;:::-;18468:6:::1;18447:13;3097:12:::0;;;3009:108;18447:13:::1;:17;::::0;18463:1:::1;18447:17;:::i;:::-;18446:28;;;;:::i;:::-;18433:9;:41;;18411:144;;;::::0;-1:-1:-1;;;18411:144:0;;8086:2:1;18411:144:0::1;::::0;::::1;8068:21:1::0;8125:2;8105:18;;;8098:30;8164:34;8144:18;;;8137:62;-1:-1:-1;;;8215:18:1;;;8208:51;8276:19;;18411:144:0::1;7884:417:1::0;18411:144:0::1;18623:4;18602:13;3097:12:::0;;;3009:108;18602:13:::1;:17;::::0;18618:1:::1;18602:17;:::i;:::-;18601:26;;;;:::i;:::-;18588:9;:39;;18566:141;;;::::0;-1:-1:-1;;;18566:141:0;;8508:2:1;18566:141:0::1;::::0;::::1;8490:21:1::0;8547:2;8527:18;;;8520:30;8586:34;8566:18;;;8559:62;-1:-1:-1;;;8637:18:1;;;8630:50;8697:19;;18566:141:0::1;8306:416:1::0;18566:141:0::1;-1:-1:-1::0;18718:18:0::1;:30:::0;18766:4:::1;::::0;18281:497::o;20632:228::-;20738:9;;-1:-1:-1;;;;;20738:9:0;20724:10;:23;20716:32;;;;;;20834:9;;20803:49;;-1:-1:-1;;;20803:49:0;;-1:-1:-1;;;;;8985:15:1;;;20803:49:0;;;8967:34:1;20834:9:0;;;9017:18:1;;;9010:43;9069:18;;;9062:34;;;20786:5:0;;20803:23;;;;;8902:18:1;;20803:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20705:155;20632:228;;;:::o;20030:91::-;660:6;;-1:-1:-1;;;;;660:6:0;213:10;722:23;714:68;;;;-1:-1:-1;;;714:68:0;;;;;;;:::i;:::-;20098:8:::1;:15:::0;20030:91::o;921:201::-;660:6;;-1:-1:-1;;;;;660:6:0;213:10;722:23;714:68;;;;-1:-1:-1;;;714:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1010:22:0;::::1;1002:73;;;::::0;-1:-1:-1;;;1002:73:0;;9559:2:1;1002:73:0::1;::::0;::::1;9541:21:1::0;9598:2;9578:18;;;9571:30;9637:34;9617:18;;;9610:62;-1:-1:-1;;;9688:18:1;;;9681:36;9734:19;;1002:73:0::1;9357:402:1::0;1002:73:0::1;1086:28;1105:8;1086:18;:28::i;:::-;921:201:::0;:::o;6670:380::-;-1:-1:-1;;;;;6806:19:0;;6798:68;;;;-1:-1:-1;;;6798:68:0;;9966:2:1;6798:68:0;;;9948:21:1;10005:2;9985:18;;;9978:30;10044:34;10024:18;;;10017:62;-1:-1:-1;;;10095:18:1;;;10088:34;10139:19;;6798:68:0;9764:400:1;6798:68:0;-1:-1:-1;;;;;6885:21:0;;6877:68;;;;-1:-1:-1;;;6877:68:0;;10371:2:1;6877:68:0;;;10353:21:1;10410:2;10390:18;;;10383:30;10449:34;10429:18;;;10422:62;-1:-1:-1;;;10500:18:1;;;10493:32;10542:19;;6877:68:0;10169:398:1;6877:68:0;-1:-1:-1;;;;;6958:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7010:32;;1848:25:1;;;7010:32:0;;1821:18:1;7010:32:0;;;;;;;6670:380;;;:::o;21533:3443::-;-1:-1:-1;;;;;21665:18:0;;21657:68;;;;-1:-1:-1;;;21657:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21744:16:0;;21736:64;;;;-1:-1:-1;;;21736:64:0;;;;;;;:::i;:::-;21817:6;21827:1;21817:11;21813:93;;21845:28;21861:4;21867:2;21871:1;21845:15;:28::i;:::-;21533:3443;;;:::o;21813:93::-;21922:14;;;;21918:1679;;;660:6;;-1:-1:-1;;;;;21975:15:0;;;660:6;;21975:15;;;;:49;;-1:-1:-1;660:6:0;;-1:-1:-1;;;;;22011:13:0;;;660:6;;22011:13;;21975:49;:86;;;;-1:-1:-1;;;;;;22045:16:0;;;;21975:86;:128;;;;-1:-1:-1;;;;;;22082:21:0;;22096:6;22082:21;;21975:128;:158;;;;-1:-1:-1;22125:8:0;;-1:-1:-1;;;22125:8:0;;;;22124:9;21975:158;21953:1633;;;22173:13;;;;;;;22168:217;;-1:-1:-1;;;;;22245:22:0;;;;;;:16;:22;;;;;;;;;:46;;-1:-1:-1;;;;;;22271:20:0;;;;;;:16;:20;;;;;;;;22245:46;22211:154;;;;-1:-1:-1;;;22211:154:0;;11584:2:1;22211:154:0;;;11566:21:1;11623:2;11603:18;;;11596:30;-1:-1:-1;;;11642:18:1;;;11635:52;11704:18;;22211:154:0;11382:346:1;22211:154:0;-1:-1:-1;;;;;22459:31:0;;;;;;:25;:31;;;;;;;;:89;;;;-1:-1:-1;;;;;;22516:32:0;;;;;;:28;:32;;;;;;;;22515:33;22459:89;22433:1138;;;22651:9;;-1:-1:-1;;;;;3226:18:0;;3199:7;3226:18;;;;;;;;;;;22625:22;;:6;:22;:::i;:::-;:35;;22591:140;;;;-1:-1:-1;;;22591:140:0;;11935:2:1;22591:140:0;;;11917:21:1;11974:2;11954:18;;;11947:30;-1:-1:-1;;;11993:18:1;;;11986:49;12052:18;;22591:140:0;11733:343:1;22591:140:0;22798:20;;22788:6;:30;;22754:169;;;;-1:-1:-1;;;22754:169:0;;12283:2:1;22754:169:0;;;12265:21:1;12322:2;12302:18;;;12295:30;12361:34;12341:18;;;12334:62;-1:-1:-1;;;12412:18:1;;;12405:51;12473:19;;22754:169:0;12081:417:1;22754:169:0;22433:1138;;;-1:-1:-1;;;;;23021:29:0;;;;;;:25;:29;;;;;;;;:89;;;;-1:-1:-1;;;;;;23076:34:0;;;;;;:28;:34;;;;;;;;23075:35;23021:89;22995:576;;;23197:20;;23187:6;:30;;23153:170;;;;-1:-1:-1;;;23153:170:0;;12705:2:1;23153:170:0;;;12687:21:1;12744:2;12724:18;;;12717:30;12783:34;12763:18;;;12756:62;-1:-1:-1;;;12834:18:1;;;12827:52;12896:19;;23153:170:0;12503:418:1;22995:576:0;-1:-1:-1;;;;;23354:32:0;;;;;;:28;:32;;;;;;;;23349:222;;23471:9;;-1:-1:-1;;;;;3226:18:0;;3199:7;3226:18;;;;;;;;;;;23445:22;;:6;:22;:::i;:::-;:35;;23411:140;;;;-1:-1:-1;;;23411:140:0;;11935:2:1;23411:140:0;;;11917:21:1;11974:2;11954:18;;;11947:30;-1:-1:-1;;;11993:18:1;;;11986:49;12052:18;;23411:140:0;11733:343:1;23411:140:0;23658:4;23609:28;3226:18;;;;;;;;;;;23714;;23761:11;;23690:42;;;;;23761:11;;;;;:37;;;;-1:-1:-1;23790:8:0;;-1:-1:-1;;;23790:8:0;;;;23789:9;23761:37;:86;;;;-1:-1:-1;;;;;;23816:31:0;;;;;;:25;:31;;;;;;;;23815:32;23761:86;:126;;;;-1:-1:-1;;;;;;23865:22:0;;;;;;:16;:22;;;;;;;;23864:23;23761:126;:164;;;;-1:-1:-1;;;;;;23905:20:0;;;;;;:16;:20;;;;;;;;23904:21;23761:164;23743:297;;;23952:8;:15;;-1:-1:-1;;;;23952:15:0;-1:-1:-1;;;23952:15:0;;;23984:11;:9;:11::i;:::-;24012:8;:16;;-1:-1:-1;;;;24012:16:0;;;23743:297;24068:8;;24195:9;24052:12;24178:27;;;:16;:27;;;;;;24068:8;-1:-1:-1;;;24068:8:0;;;;;24067:9;;24178:27;;:53;;-1:-1:-1;;;;;;24209:22:0;;;;;;:16;:22;;;;;;;;24178:53;:77;;;-1:-1:-1;;;;;;24235:20:0;;;;;;:16;:20;;;;;;;;24178:77;24174:125;;;-1:-1:-1;24282:5:0;24174:125;24311:12;24416:7;24412:511;;;-1:-1:-1;;;;;24468:29:0;;;;;;:25;:29;;;;;;;;:45;;;;;24512:1;24501:8;;:12;24468:45;24464:310;;;24563:3;24551:8;;24542:6;:17;;;;:::i;:::-;24541:25;;;;:::i;:::-;24534:32;;24464:310;;;-1:-1:-1;;;;;24644:31:0;;;;;;:25;:31;;;;;;;;:46;;;;;24689:1;24679:7;;:11;24644:46;24640:134;;;24739:3;24728:7;;24719:6;:16;;;;:::i;:::-;24718:24;;;;:::i;:::-;24711:31;;24640:134;24794:8;;24790:91;;24823:42;24839:4;24853;24860;24823:15;:42::i;:::-;24897:14;24907:4;24897:14;;:::i;:::-;;;24412:511;24935:33;24951:4;24957:2;24961:6;24935:15;:33::i;:::-;21646:3330;;;;21533:3443;;;:::o;25623:429::-;25707:4;25663:23;3226:18;;;;;;;;;;;;25728:20;;;25724:59;;25765:7;25623:429::o;25724:59::-;25815:18;;:23;;25836:2;25815:23;:::i;:::-;25797:15;:41;25793:115;;;25873:18;;:23;;25894:2;25873:23;:::i;:::-;25855:41;;25793:115;25918:33;25935:15;25918:16;:33::i;:::-;25989:15;;25981:63;;25963:12;;-1:-1:-1;;;;;25989:15:0;;26018:21;;25963:12;25981:63;25963:12;25981:63;26018:21;25989:15;25981:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1130:191;1223:6;;;-1:-1:-1;;;;;1240:17:0;;;-1:-1:-1;;;;;;1240:17:0;;;;;;;1273:40;;1223:6;;;1240:17;1223:6;;1273:40;;1204:16;;1273:40;1193:128;1130:191;:::o;20868:194::-;-1:-1:-1;;;;;20951:31:0;;;;;;:25;:31;;;;;;:39;;-1:-1:-1;;20951:39:0;;;;;;;;;;21014:40;;20951:39;;:31;21014:40;;;20868:194;;:::o;4923:733::-;-1:-1:-1;;;;;5063:20:0;;5055:70;;;;-1:-1:-1;;;5055:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5144:23:0;;5136:71;;;;-1:-1:-1;;;5136:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5304:17:0;;5280:21;5304:17;;;;;;;;;;;5340:23;;;;5332:74;;;;-1:-1:-1;;;5332:74:0;;13471:2:1;5332:74:0;;;13453:21:1;13510:2;13490:18;;;13483:30;13549:34;13529:18;;;13522:62;-1:-1:-1;;;13600:18:1;;;13593:36;13646:19;;5332:74:0;13269:402:1;5332:74:0;-1:-1:-1;;;;;5442:17:0;;;:9;:17;;;;;;;;;;;5462:22;;;5442:42;;5506:20;;;;;;;;:30;;5478:6;;5442:9;5506:30;;5478:6;;5506:30;:::i;:::-;;;;;;;;5571:9;-1:-1:-1;;;;;5554:35:0;5563:6;-1:-1:-1;;;;;5554:35:0;;5582:6;5554:35;;;;1848:25:1;;1836:2;1821:18;;1702:177;5554:35:0;;;;;;;;5044:612;4923:733;;;:::o;24984:631::-;25142:16;;;25156:1;25142:16;;;;;;;;;25118:21;;25142:16;;;;;;;;;;-1:-1:-1;25142:16:0;25118:40;;25187:4;25169;25174:1;25169:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;25169:23:0;;;-1:-1:-1;;;;;25169:23:0;;;;;25213:5;25203:4;25208:1;25203:7;;;;;;;;:::i;:::-;;;;;;:15;-1:-1:-1;;;;;25203:15:0;;;-1:-1:-1;;;;;25203:15:0;;;;;25239;-1:-1:-1;;;;;25239:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25229:4;25234:1;25229:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;25229:32:0;;;-1:-1:-1;;;;;25229:32:0;;;;;25274:62;25291:4;25306:15;25324:11;25274:8;:62::i;:::-;25545:15;;-1:-1:-1;;;;;25375:15:0;:66;;;;;25456:11;;25482:1;;25526:4;;25545:15;25575:21;:15;25593:3;25575:21;:::i;:::-;25375:232;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25039:576;24984:631;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1215:247::-;1274:6;1327:2;1315:9;1306:7;1302:23;1298:32;1295:52;;;1343:1;1340;1333:12;1295:52;1382:9;1369:23;1401:31;1426:5;1401:31;:::i;:::-;1451:5;1215:247;-1:-1:-1;;;1215:247:1:o;1884:180::-;1943:6;1996:2;1984:9;1975:7;1971:23;1967:32;1964:52;;;2012:1;2009;2002:12;1964:52;-1:-1:-1;2035:23:1;;1884:180;-1:-1:-1;1884:180:1:o;2069:456::-;2146:6;2154;2162;2215:2;2203:9;2194:7;2190:23;2186:32;2183:52;;;2231:1;2228;2221:12;2183:52;2270:9;2257:23;2289:31;2314:5;2289:31;:::i;:::-;2339:5;-1:-1:-1;2396:2:1;2381:18;;2368:32;2409:33;2368:32;2409:33;:::i;:::-;2069:456;;2461:7;;-1:-1:-1;;;2515:2:1;2500:18;;;;2487:32;;2069:456::o;2927:118::-;3013:5;3006:13;2999:21;2992:5;2989:32;2979:60;;3035:1;3032;3025:12;3050:382;3115:6;3123;3176:2;3164:9;3155:7;3151:23;3147:32;3144:52;;;3192:1;3189;3182:12;3144:52;3231:9;3218:23;3250:31;3275:5;3250:31;:::i;:::-;3300:5;-1:-1:-1;3357:2:1;3342:18;;3329:32;3370:30;3329:32;3370:30;:::i;:::-;3419:7;3409:17;;;3050:382;;;;;:::o;3437:241::-;3493:6;3546:2;3534:9;3525:7;3521:23;3517:32;3514:52;;;3562:1;3559;3552:12;3514:52;3601:9;3588:23;3620:28;3642:5;3620:28;:::i;3683:388::-;3751:6;3759;3812:2;3800:9;3791:7;3787:23;3783:32;3780:52;;;3828:1;3825;3818:12;3780:52;3867:9;3854:23;3886:31;3911:5;3886:31;:::i;:::-;3936:5;-1:-1:-1;3993:2:1;3978:18;;3965:32;4006:33;3965:32;4006:33;:::i;4076:380::-;4155:1;4151:12;;;;4198;;;4219:61;;4273:4;4265:6;4261:17;4251:27;;4219:61;4326:2;4318:6;4315:14;4295:18;4292:38;4289:161;;4372:10;4367:3;4363:20;4360:1;4353:31;4407:4;4404:1;4397:15;4435:4;4432:1;4425:15;4289:161;;4076:380;;;:::o;4461:356::-;4663:2;4645:21;;;4682:18;;;4675:30;4741:34;4736:2;4721:18;;4714:62;4808:2;4793:18;;4461:356::o;4822:127::-;4883:10;4878:3;4874:20;4871:1;4864:31;4914:4;4911:1;4904:15;4938:4;4935:1;4928:15;4954:168;5027:9;;;5058;;5075:15;;;5069:22;;5055:37;5045:71;;5096:18;;:::i;5127:217::-;5167:1;5193;5183:132;;5237:10;5232:3;5228:20;5225:1;5218:31;5272:4;5269:1;5262:15;5300:4;5297:1;5290:15;5183:132;-1:-1:-1;5329:9:1;;5127:217::o;6174:125::-;6239:9;;;6260:10;;;6257:36;;;6273:18;;:::i;9107:245::-;9174:6;9227:2;9215:9;9206:7;9202:23;9198:32;9195:52;;;9243:1;9240;9233:12;9195:52;9275:9;9269:16;9294:28;9316:5;9294:28;:::i;10572:401::-;10774:2;10756:21;;;10813:2;10793:18;;;10786:30;10852:34;10847:2;10832:18;;10825:62;-1:-1:-1;;;10918:2:1;10903:18;;10896:35;10963:3;10948:19;;10572:401::o;10978:399::-;11180:2;11162:21;;;11219:2;11199:18;;;11192:30;11258:34;11253:2;11238:18;;11231:62;-1:-1:-1;;;11324:2:1;11309:18;;11302:33;11367:3;11352:19;;10978:399::o;12926:128::-;12993:9;;;13014:11;;;13011:37;;;13028:18;;:::i;13808:127::-;13869:10;13864:3;13860:20;13857:1;13850:31;13900:4;13897:1;13890:15;13924:4;13921:1;13914:15;13940:251;14010:6;14063:2;14051:9;14042:7;14038:23;14034:32;14031:52;;;14079:1;14076;14069:12;14031:52;14111:9;14105:16;14130:31;14155:5;14130:31;:::i;14196:980::-;14458:4;14506:3;14495:9;14491:19;14537:6;14526:9;14519:25;14563:2;14601:6;14596:2;14585:9;14581:18;14574:34;14644:3;14639:2;14628:9;14624:18;14617:31;14668:6;14703;14697:13;14734:6;14726;14719:22;14772:3;14761:9;14757:19;14750:26;;14811:2;14803:6;14799:15;14785:29;;14832:1;14842:195;14856:6;14853:1;14850:13;14842:195;;;14921:13;;-1:-1:-1;;;;;14917:39:1;14905:52;;15012:15;;;;14977:12;;;;14953:1;14871:9;14842:195;;;-1:-1:-1;;;;;;;15093:32:1;;;;15088:2;15073:18;;15066:60;-1:-1:-1;;;15157:3:1;15142:19;15135:35;15054:3;14196:980;-1:-1:-1;;;14196:980:1:o
Swarm Source
ipfs://3c0276c83522604b1c227554f680288e95093154ef6f5563405e71a9e5fa842e
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.