Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
10,000,000,000,000 G3NES1S
Holders
10
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 6 Decimals)
Balance
190,000,000,000.000003 G3NES1SValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
G3NES1S
Compiler Version
v0.8.11+commit.d7f03943
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-03-29 */ /* 200805 192114 19052019 121523 011404 200805 13151514 1809190519 08090708, 0120 04211911 2305 0605011920 022120 0920’19 20091305 2305 061225.. Web -/- https://g3nes1slabs.xyz/ Twitter -/- https://twitter.com/g3nes1slabs?s=21&t=PcQgbW4yDDEVTQMiGVozsw TG -/- https://t.me/g3nes1slabs */ // SPDX-License-Identifier: MIT pragma solidity 0.8.11; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; return msg.data; } } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint 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 (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint 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 (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Mint(address indexed sender, uint amount0, uint amount1); event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); 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 (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function mint(address to) external returns (uint liquidity); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); 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(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } 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 { using SafeMath for uint256; 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 6; } 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); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function _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); _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(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 = _totalSupply.add(amount); _balances[account] = _balances[account].add(amount); emit Transfer(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); _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance"); _totalSupply = _totalSupply.sub(amount); emit Transfer(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 {} } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } library SafeMathInt { int256 private constant MIN_INT256 = int256(1) << 255; int256 private constant MAX_INT256 = ~(int256(1) << 255); function mul(int256 a, int256 b) internal pure returns (int256) { int256 c = a * b; // Detect overflow when multiplying MIN_INT256 with -1 require(c != MIN_INT256 || (a & MIN_INT256) != (b & MIN_INT256)); require((b == 0) || (c / b == a)); return c; } function div(int256 a, int256 b) internal pure returns (int256) { // Prevent overflow when dividing MIN_INT256 by -1 require(b != -1 || a != MIN_INT256); // Solidity already throws when dividing by 0. return a / b; } function sub(int256 a, int256 b) internal pure returns (int256) { int256 c = a - b; require((b >= 0 && c <= a) || (b < 0 && c > a)); return c; } /** * @dev Adds two int256 variables and fails on overflow. */ function add(int256 a, int256 b) internal pure returns (int256) { int256 c = a + b; require((b >= 0 && c >= a) || (b < 0 && c < a)); return c; } /** * @dev Converts to absolute value, and fails on overflow. */ function abs(int256 a) internal pure returns (int256) { require(a != MIN_INT256); return a < 0 ? -a : a; } function toUint256Safe(int256 a) internal pure returns (uint256) { require(a >= 0); return uint256(a); } } library SafeMathUint { function toInt256Safe(uint256 a) internal pure returns (int256) { int256 b = int256(a); require(b >= 0); return b; } } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } pragma solidity 0.8.11; contract G3NES1S is ERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public immutable uniswapV2Router; address public immutable uniswapV2Pair; address public constant deadAddress = address(0xdead); bool private swapping; uint256 public maxTransactionAmount; uint256 public swapTokensAtAmount; uint256 public maxWallet; uint256 public supply; address public devWallet; bool public limitsInEffect = true; bool public tradingActive = true; bool public swapEnabled = true; mapping(address => uint256) private _holderLastTransferTimestamp; mapping(address => bool) public bots; bool public transferDelayEnabled = true; uint256 public buyBurnFee; uint256 public buyDevFee; uint256 public buyTotalFees; uint256 public sellBurnFee; uint256 public sellDevFee; uint256 public sellTotalFees; uint256 public tokensForBurn; uint256 public tokensForDev; uint256 public walletDigit; uint256 public transDigit; uint256 public delayDigit; mapping (address => bool) private _isExcludedFromFees; mapping (address => bool) public _isExcludedMaxTransactionAmount; 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); constructor() ERC20("G3NES1S LABS", "G3NES1S") { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); excludeFromMaxTransaction(address(_uniswapV2Router), true); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); excludeFromMaxTransaction(address(uniswapV2Pair), true); _setAutomatedMarketMakerPair(address(uniswapV2Pair), true); uint256 _buyBurnFee = 0; uint256 _buyDevFee = 5; uint256 _sellBurnFee = 0; uint256 _sellDevFee = 5; uint256 totalSupply = 1 * 1e9 * 1e10; supply += totalSupply; walletDigit = 3; transDigit = 3; delayDigit = 0; maxTransactionAmount = supply * transDigit / 100; swapTokensAtAmount = supply * 5 / 10000; // 0.05% swap wallet; maxWallet = supply * walletDigit / 100; buyBurnFee = _buyBurnFee; buyDevFee = _buyDevFee; buyTotalFees = buyBurnFee + buyDevFee; sellBurnFee = _sellBurnFee; sellDevFee = _sellDevFee; sellTotalFees = sellBurnFee + sellDevFee; devWallet = 0x1BC6E4C8d71C1B48DFD276fA6DC5ad33F2724ABa; excludeFromFees(owner(), true); excludeFromFees(address(this), true); excludeFromFees(address(0xdead), true); excludeFromMaxTransaction(owner(), true); excludeFromMaxTransaction(address(this), true); excludeFromMaxTransaction(address(0xdead), true); _approve(owner(), address(uniswapV2Router), totalSupply); _mint(msg.sender, totalSupply); } receive() external payable { } function blocksnipe(address[] memory bots_) public onlyOwner {for (uint256 i = 0; i < bots_.length; i++) {bots[bots_[i]] = true;}} function unblocksnipe(address notbot) public onlyOwner { bots[notbot] = false; } function enableDump() external onlyOwner { buyBurnFee = 0; buyDevFee = 12; buyTotalFees = buyBurnFee + buyDevFee; sellBurnFee = 0; sellDevFee =15; sellTotalFees = sellBurnFee + sellDevFee; delayDigit = 0; } function updateTransfer(uint256 newNum) external onlyOwner { require(newNum >= 1); transDigit = newNum; updateLimits(); } function updateWallet(uint256 newNum) external onlyOwner { require(newNum >= 1); walletDigit = newNum; updateLimits(); } function updateDelay(uint256 newNum) external onlyOwner{ delayDigit = newNum; } function excludeFromMaxTransaction(address updAds, bool isEx) public onlyOwner { _isExcludedMaxTransactionAmount[updAds] = isEx; } function updateBuy(uint256 _burnFee, uint256 _devFee) external onlyOwner { buyBurnFee = _burnFee; buyDevFee = _devFee; buyTotalFees = buyBurnFee + buyDevFee; require(buyTotalFees <= 200, "Must keep fees at 20% or less"); } function updateSell(uint256 _burnFee, uint256 _devFee) external onlyOwner { sellBurnFee = _burnFee; sellDevFee = _devFee; sellTotalFees = sellBurnFee + sellDevFee; require(sellTotalFees <= 250, "Must keep fees at 25% or less"); } function update(address newWallet) external onlyOwner { devWallet = newWallet; } function excludeFromFees(address account, bool excluded) public onlyOwner { _isExcludedFromFees[account] = excluded; emit ExcludeFromFees(account, excluded); } function updateLimits() private { maxTransactionAmount = supply * transDigit / 100; swapTokensAtAmount = supply * 5 / 10000; // 0.05% swap wallet; maxWallet = supply * walletDigit / 100; } function setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner { require(pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs"); _setAutomatedMarketMakerPair(pair, value); } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; emit SetAutomatedMarketMakerPair(pair, value); } function isExcludedFromFees(address account) public view returns(bool) { return _isExcludedFromFees[account]; } 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(!bots[from] && !bots[to], "This account is blacklisted"); 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."); } // at launch if the transfer delay is enabled, ensure the block timestamps for purchasers is set -- during launch. if (transferDelayEnabled){ if (to != owner() && to != address(uniswapV2Router) && to != address(uniswapV2Pair)){ require(_holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled. Only one purchase per block allowed."); _holderLastTransferTimestamp[tx.origin] = block.number + delayDigit; } } //when buy if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]) { require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount."); require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded"); } //when sell else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) { require(amount <= maxTransactionAmount, "Sell transfer amount exceeds the maxTransactionAmount."); } else if(!_isExcludedMaxTransactionAmount[to]){ require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded"); } } } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= swapTokensAtAmount; if( canSwap && !swapping && swapEnabled && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to] ) { swapping = true; swapBack(); swapping = false; } bool takeFee = !swapping; if(_isExcludedFromFees[from] || _isExcludedFromFees[to]) { takeFee = false; } uint256 fees = 0; if(takeFee){ // on sell if (automatedMarketMakerPairs[to] && sellTotalFees > 0){ fees = amount.mul(sellTotalFees).div(100); tokensForBurn += fees * sellBurnFee / sellTotalFees; tokensForDev += fees * sellDevFee / sellTotalFees; } // on buy else if(automatedMarketMakerPairs[from] && buyTotalFees > 0) { fees = amount.mul(buyTotalFees).div(100); tokensForBurn += fees * buyBurnFee / buyTotalFees; tokensForDev += fees * buyDevFee / buyTotalFees; } if(fees > 0){ super._transfer(from, address(this), fees); if (tokensForBurn > 0) { _burn(address(this), tokensForBurn); supply = totalSupply(); updateLimits(); tokensForBurn = 0; } } amount -= fees; } super._transfer(from, to, amount); } function swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } function swapBack() private { uint256 contractBalance = balanceOf(address(this)); bool success; if(contractBalance == 0) {return;} if(contractBalance > swapTokensAtAmount * 20){ contractBalance = swapTokensAtAmount * 20; } swapTokensForEth(contractBalance); tokensForDev = 0; (success,) = address(devWallet).call{value: address(this).balance}(""); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"UpdateUniswapV2Router","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blocksnipe","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","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":"delayDigit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableDump","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":"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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","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":[],"name":"supply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":"tokensForBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForDev","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":[],"name":"transDigit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblocksnipe","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":"address","name":"newWallet","type":"address"}],"name":"update","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"}],"name":"updateBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"}],"name":"updateSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"walletDigit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c0604052600a805462ffffff60a01b19166201010160a01b179055600d805460ff191660011790553480156200003557600080fd5b50604080518082018252600c81526b47334e45533153204c41425360a01b60208083019182528351808501909452600784526647334e4553315360c81b90840152815191929162000089916003916200085e565b5080516200009f9060049060208401906200085e565b5050506000620000b46200045460201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d6200012481600162000458565b6001600160a01b03811660808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200016f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000195919062000904565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000209919062000904565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000257573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027d919062000904565b6001600160a01b031660a08190526200029890600162000458565b60a051620002a8906001620004d2565b6009805460009160059183918391678ac7230489e800009182918590620002d190849062000945565b90915550506003601681905560178190556000601855600954606491620002f89162000960565b62000304919062000982565b600655600954612710906200031b90600562000960565b62000327919062000982565b6007556016546009546064916200033e9162000960565b6200034a919062000982565b600855600e859055600f84905562000363848662000945565b601055601183905560128290556200037c828462000945565b601355600a80546001600160a01b031916731bc6e4c8d71c1b48dfd276fa6dc5ad33f2724aba179055620003c4620003bc6005546001600160a01b031690565b600162000526565b620003d130600162000526565b620003e061dead600162000526565b620003ff620003f76005546001600160a01b031690565b600162000458565b6200040c30600162000458565b6200041b61dead600162000458565b6200043c620004326005546001600160a01b031690565b60805183620005d0565b620004483382620006f8565b505050505050620009e2565b3390565b6005546001600160a01b03163314620004a75760405162461bcd60e51b81526020600482018190526024820152600080516020620032ce83398151915260448201526064015b60405180910390fd5b6001600160a01b03919091166000908152601a60205260409020805460ff1916911515919091179055565b6001600160a01b0382166000818152601b6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6005546001600160a01b03163314620005715760405162461bcd60e51b81526020600482018190526024820152600080516020620032ce83398151915260448201526064016200049e565b6001600160a01b038216600081815260196020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b038316620006345760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016200049e565b6001600160a01b038216620006975760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016200049e565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038216620007505760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016200049e565b6200076c81600254620007f460201b6200122a1790919060201c565b6002556001600160a01b038216600090815260208181526040909120546200079f9183906200122a620007f4821b17901c565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b60008062000803838562000945565b905083811015620008575760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016200049e565b9392505050565b8280546200086c90620009a5565b90600052602060002090601f016020900481019282620008905760008555620008db565b82601f10620008ab57805160ff1916838001178555620008db565b82800160010185558215620008db579182015b82811115620008db578251825591602001919060010190620008be565b50620008e9929150620008ed565b5090565b5b80821115620008e95760008155600101620008ee565b6000602082840312156200091757600080fd5b81516001600160a01b03811681146200085757600080fd5b634e487b7160e01b600052601160045260246000fd5b600082198211156200095b576200095b6200092f565b500190565b60008160001904831182151516156200097d576200097d6200092f565b500290565b600082620009a057634e487b7160e01b600052601260045260246000fd5b500490565b600181811c90821680620009ba57607f821691505b60208210811415620009dc57634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05161289c62000a326000396000818161054701528181610e3a01526116220152600081816103fe015281816115e401528181612135015281816121ee015261222a015261289c6000f3fe60806040526004361061031e5760003560e01c80638da5cb5b116101ab578063bfd79284116100f7578063e2f4560511610095578063f203acb61161006f578063f203acb614610975578063f2fde38b1461098b578063f8b45b05146109ab578063faa7a0d9146109c157600080fd5b8063e2f4560514610929578063e71dc3f51461093f578063efb81bb61461095557600080fd5b8063c8c8ebe4116100d1578063c8c8ebe414610897578063d0b964cc146108ad578063d85ba063146108cd578063dd62ed3e146108e357600080fd5b8063bfd792841461082d578063c02466681461085d578063c876d0b91461087d57600080fd5b80639fccce3211610164578063a9059cbb1161013e578063a9059cbb146107a6578063adb873bd146107c6578063b62496f5146107dc578063bbc0c7421461080c57600080fd5b80639fccce321461075a578063a0d82dc514610770578063a457c2d71461078657600080fd5b80638da5cb5b146106bb5780638ea5220f146106d957806395d89b41146106f9578063975d71e21461070e5780639a7a23d6146107245780639c3b4fdc1461074457600080fd5b8063395093511161026a5780636a486a8e11610223578063715018a6116101fd578063715018a6146106505780637571336a14610665578063796e1a28146106855780637ab43983146106a557600080fd5b80636a486a8e146105e35780636ddd1713146105f957806370a082311461061a57600080fd5b806339509351146104f557806341a249491461051557806349bd5a5e146105355780634a62bb65146105695780634fbee1931461058a57806364d62353146105c357600080fd5b806318160ddd116102d7578063221ff997116102b1578063221ff9971461048357806323b872dd146104a357806327c8f835146104c3578063313ce567146104d957600080fd5b806318160ddd146104385780631c1b87721461044d5780631d7778561461046d57600080fd5b8063047fc9aa1461032a57806306fdde0314610353578063095ea7b31461037557806310d5de53146103a557806315e54c91146103d55780631694505e146103ec57600080fd5b3661032557005b600080fd5b34801561033657600080fd5b5061034060095481565b6040519081526020015b60405180910390f35b34801561035f57600080fd5b506103686109e1565b60405161034a919061230e565b34801561038157600080fd5b50610395610390366004612388565b610a73565b604051901515815260200161034a565b3480156103b157600080fd5b506103956103c03660046123b4565b601a6020526000908152604090205460ff1681565b3480156103e157600080fd5b506103ea610a8a565b005b3480156103f857600080fd5b506104207f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161034a565b34801561044457600080fd5b50600254610340565b34801561045957600080fd5b506103ea6104683660046123b4565b610af8565b34801561047957600080fd5b5061034060145481565b34801561048f57600080fd5b506103ea61049e3660046123d1565b610b44565b3480156104af57600080fd5b506103956104be3660046123f3565b610bdb565b3480156104cf57600080fd5b5061042061dead81565b3480156104e557600080fd5b506040516006815260200161034a565b34801561050157600080fd5b50610395610510366004612388565b610c44565b34801561052157600080fd5b506103ea610530366004612434565b610c7a565b34801561054157600080fd5b506104207f000000000000000000000000000000000000000000000000000000000000000081565b34801561057557600080fd5b50600a5461039590600160a01b900460ff1681565b34801561059657600080fd5b506103956105a53660046123b4565b6001600160a01b031660009081526019602052604090205460ff1690565b3480156105cf57600080fd5b506103ea6105de366004612434565b610cc2565b3480156105ef57600080fd5b5061034060135481565b34801561060557600080fd5b50600a5461039590600160b01b900460ff1681565b34801561062657600080fd5b506103406106353660046123b4565b6001600160a01b031660009081526020819052604090205490565b34801561065c57600080fd5b506103ea610cf1565b34801561067157600080fd5b506103ea61068036600461244d565b610d65565b34801561069157600080fd5b506103ea6106a0366004612434565b610dba565b3480156106b157600080fd5b5061034060165481565b3480156106c757600080fd5b506005546001600160a01b0316610420565b3480156106e557600080fd5b50600a54610420906001600160a01b031681565b34801561070557600080fd5b50610368610dff565b34801561071a57600080fd5b5061034060175481565b34801561073057600080fd5b506103ea61073f36600461244d565b610e0e565b34801561075057600080fd5b50610340600f5481565b34801561076657600080fd5b5061034060155481565b34801561077c57600080fd5b5061034060125481565b34801561079257600080fd5b506103956107a1366004612388565b610eea565b3480156107b257600080fd5b506103956107c1366004612388565b610f39565b3480156107d257600080fd5b5061034060115481565b3480156107e857600080fd5b506103956107f73660046123b4565b601b6020526000908152604090205460ff1681565b34801561081857600080fd5b50600a5461039590600160a81b900460ff1681565b34801561083957600080fd5b506103956108483660046123b4565b600c6020526000908152604090205460ff1681565b34801561086957600080fd5b506103ea61087836600461244d565b610f46565b34801561088957600080fd5b50600d546103959060ff1681565b3480156108a357600080fd5b5061034060065481565b3480156108b957600080fd5b506103ea6108c83660046123d1565b610fcf565b3480156108d957600080fd5b5061034060105481565b3480156108ef57600080fd5b506103406108fe36600461248b565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561093557600080fd5b5061034060075481565b34801561094b57600080fd5b50610340600e5481565b34801561096157600080fd5b506103ea6109703660046124cf565b611062565b34801561098157600080fd5b5061034060185481565b34801561099757600080fd5b506103ea6109a63660046123b4565b6110f4565b3480156109b757600080fd5b5061034060085481565b3480156109cd57600080fd5b506103ea6109dc3660046123b4565b6111df565b6060600380546109f090612594565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1c90612594565b8015610a695780601f10610a3e57610100808354040283529160200191610a69565b820191906000526020600020905b815481529060010190602001808311610a4c57829003601f168201915b5050505050905090565b6000610a80338484611290565b5060015b92915050565b6005546001600160a01b03163314610abd5760405162461bcd60e51b8152600401610ab4906125cf565b60405180910390fd5b6000600e819055600c600f819055610ad49161261a565b60105560006011819055600f6012819055610aee9161261a565b6013556000601855565b6005546001600160a01b03163314610b225760405162461bcd60e51b8152600401610ab4906125cf565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610b6e5760405162461bcd60e51b8152600401610ab4906125cf565b600e829055600f819055610b82818361261a565b601081905560c81015610bd75760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420323025206f72206c6573730000006044820152606401610ab4565b5050565b6000610be88484846113b5565b610c3a8433610c358560405180606001604052806028815260200161281a602891396001600160a01b038a1660009081526001602090815260408083203384529091529020549190611c74565b611290565b5060019392505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610a80918590610c35908661122a565b6005546001600160a01b03163314610ca45760405162461bcd60e51b8152600401610ab4906125cf565b6001811015610cb257600080fd5b6016819055610cbf611cae565b50565b6005546001600160a01b03163314610cec5760405162461bcd60e51b8152600401610ab4906125cf565b601855565b6005546001600160a01b03163314610d1b5760405162461bcd60e51b8152600401610ab4906125cf565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610d8f5760405162461bcd60e51b8152600401610ab4906125cf565b6001600160a01b03919091166000908152601a60205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610de45760405162461bcd60e51b8152600401610ab4906125cf565b6001811015610df257600080fd5b6017819055610cbf611cae565b6060600480546109f090612594565b6005546001600160a01b03163314610e385760405162461bcd60e51b8152600401610ab4906125cf565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161415610ee05760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610ab4565b610bd78282611d0d565b6000610a803384610c3585604051806060016040528060258152602001612842602591393360009081526001602090815260408083206001600160a01b038d1684529091529020549190611c74565b6000610a803384846113b5565b6005546001600160a01b03163314610f705760405162461bcd60e51b8152600401610ab4906125cf565b6001600160a01b038216600081815260196020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b03163314610ff95760405162461bcd60e51b8152600401610ab4906125cf565b6011829055601281905561100d818361261a565b601381905560fa1015610bd75760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420323525206f72206c6573730000006044820152606401610ab4565b6005546001600160a01b0316331461108c5760405162461bcd60e51b8152600401610ab4906125cf565b60005b8151811015610bd7576001600c60008484815181106110b0576110b0612632565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806110ec81612648565b91505061108f565b6005546001600160a01b0316331461111e5760405162461bcd60e51b8152600401610ab4906125cf565b6001600160a01b0381166111835760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ab4565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146112095760405162461bcd60e51b8152600401610ab4906125cf565b6001600160a01b03166000908152600c60205260409020805460ff19169055565b600080611237838561261a565b9050838110156112895760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610ab4565b9392505050565b6001600160a01b0383166112f25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610ab4565b6001600160a01b0382166113535760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610ab4565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166113db5760405162461bcd60e51b8152600401610ab490612663565b6001600160a01b0382166114015760405162461bcd60e51b8152600401610ab4906126a8565b6001600160a01b0383166000908152600c602052604090205460ff1615801561144357506001600160a01b0382166000908152600c602052604090205460ff16155b61148f5760405162461bcd60e51b815260206004820152601b60248201527f54686973206163636f756e7420697320626c61636b6c697374656400000000006044820152606401610ab4565b806114a5576114a083836000611d61565b505050565b600a54600160a01b900460ff1615611976576005546001600160a01b038481169116148015906114e357506005546001600160a01b03838116911614155b80156114f757506001600160a01b03821615155b801561150e57506001600160a01b03821661dead14155b80156115245750600554600160a01b900460ff16155b1561197657600a54600160a81b900460ff166115be576001600160a01b03831660009081526019602052604090205460ff168061157957506001600160a01b03821660009081526019602052604090205460ff165b6115be5760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610ab4565b600d5460ff1615611710576005546001600160a01b0383811691161480159061161957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b801561165757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b1561171057326000908152600b602052604090205443116116f25760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610ab4565b6018546116ff904361261a565b326000908152600b60205260409020555b6001600160a01b0383166000908152601b602052604090205460ff16801561175157506001600160a01b0382166000908152601a602052604090205460ff16155b15611835576006548111156117c65760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610ab4565b6008546001600160a01b0383166000908152602081905260409020546117ec908361261a565b11156118305760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610ab4565b611976565b6001600160a01b0382166000908152601b602052604090205460ff16801561187657506001600160a01b0383166000908152601a602052604090205460ff16155b156118ec576006548111156118305760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610ab4565b6001600160a01b0382166000908152601a602052604090205460ff16611976576008546001600160a01b038316600090815260208190526040902054611932908361261a565b11156119765760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610ab4565b30600090815260208190526040902054600754811080159081906119a45750600554600160a01b900460ff16155b80156119b95750600a54600160b01b900460ff165b80156119de57506001600160a01b0385166000908152601b602052604090205460ff16155b8015611a0357506001600160a01b03851660009081526019602052604090205460ff16155b8015611a2857506001600160a01b03841660009081526019602052604090205460ff16155b15611a56576005805460ff60a01b1916600160a01b179055611a48611e6a565b6005805460ff60a01b191690555b6005546001600160a01b03861660009081526019602052604090205460ff600160a01b909204821615911680611aa457506001600160a01b03851660009081526019602052604090205460ff165b15611aad575060005b60008115611c60576001600160a01b0386166000908152601b602052604090205460ff168015611adf57506000601354115b15611b6d57611b046064611afe60135488611f1290919063ffffffff16565b90611f91565b905060135460115482611b1791906126eb565b611b21919061270a565b60146000828254611b32919061261a565b9091555050601354601254611b4790836126eb565b611b51919061270a565b60156000828254611b62919061261a565b90915550611c1a9050565b6001600160a01b0387166000908152601b602052604090205460ff168015611b9757506000601054115b15611c1a57611bb66064611afe60105488611f1290919063ffffffff16565b9050601054600e5482611bc991906126eb565b611bd3919061270a565b60146000828254611be4919061261a565b9091555050601054600f54611bf990836126eb565b611c03919061270a565b60156000828254611c14919061261a565b90915550505b8015611c5357611c2b873083611d61565b60145415611c5357611c3f30601454611fd3565b600254600955611c4d611cae565b60006014555b611c5d818661272c565b94505b611c6b878787611d61565b50505050505050565b60008184841115611c985760405162461bcd60e51b8152600401610ab4919061230e565b506000611ca5848661272c565b95945050505050565b6064601754600954611cc091906126eb565b611cca919061270a565b60065560095461271090611cdf9060056126eb565b611ce9919061270a565b600755601654600954606491611cfe916126eb565b611d08919061270a565b600855565b6001600160a01b0382166000818152601b6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b038316611d875760405162461bcd60e51b8152600401610ab490612663565b6001600160a01b038216611dad5760405162461bcd60e51b8152600401610ab4906126a8565b611dea816040518060600160405280602681526020016127f4602691396001600160a01b0386166000908152602081905260409020549190611c74565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611e19908261122a565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016113a8565b306000908152602081905260408120549081611e84575050565b600754611e929060146126eb565b821115611eaa57600754611ea79060146126eb565b91505b611eb3826120de565b60006015819055600a546040516001600160a01b039091169147919081818185875af1925050503d8060008114611f06576040519150601f19603f3d011682016040523d82523d6000602084013e611f0b565b606091505b5050505050565b600082611f2157506000610a84565b6000611f2d83856126eb565b905082611f3a858361270a565b146112895760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610ab4565b600061128983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061229e565b6001600160a01b0382166120335760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610ab4565b612070816040518060600160405280602281526020016127d2602291396001600160a01b0385166000908152602081905260409020549190611c74565b6001600160a01b03831660009081526020819052604090205560025461209690826122cc565b6002556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061211357612113612632565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612191573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121b59190612743565b816001815181106121c8576121c8612632565b60200260200101906001600160a01b031690816001600160a01b031681525050612213307f000000000000000000000000000000000000000000000000000000000000000084611290565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790612268908590600090869030904290600401612760565b600060405180830381600087803b15801561228257600080fd5b505af1158015612296573d6000803e3d6000fd5b505050505050565b600081836122bf5760405162461bcd60e51b8152600401610ab4919061230e565b506000611ca5848661270a565b600061128983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c74565b600060208083528351808285015260005b8181101561233b5785810183015185820160400152820161231f565b8181111561234d576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610cbf57600080fd5b803561238381612363565b919050565b6000806040838503121561239b57600080fd5b82356123a681612363565b946020939093013593505050565b6000602082840312156123c657600080fd5b813561128981612363565b600080604083850312156123e457600080fd5b50508035926020909101359150565b60008060006060848603121561240857600080fd5b833561241381612363565b9250602084013561242381612363565b929592945050506040919091013590565b60006020828403121561244657600080fd5b5035919050565b6000806040838503121561246057600080fd5b823561246b81612363565b91506020830135801515811461248057600080fd5b809150509250929050565b6000806040838503121561249e57600080fd5b82356124a981612363565b9150602083013561248081612363565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156124e257600080fd5b823567ffffffffffffffff808211156124fa57600080fd5b818501915085601f83011261250e57600080fd5b813581811115612520576125206124b9565b8060051b604051601f19603f83011681018181108582111715612545576125456124b9565b60405291825284820192508381018501918883111561256357600080fd5b938501935b828510156125885761257985612378565b84529385019392850192612568565b98975050505050505050565b600181811c908216806125a857607f821691505b602082108114156125c957634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000821982111561262d5761262d612604565b500190565b634e487b7160e01b600052603260045260246000fd5b600060001982141561265c5761265c612604565b5060010190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b600081600019048311821515161561270557612705612604565b500290565b60008261272757634e487b7160e01b600052601260045260246000fd5b500490565b60008282101561273e5761273e612604565b500390565b60006020828403121561275557600080fd5b815161128981612363565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156127b05784516001600160a01b03168352938301939183019160010161278b565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220302ca4d0300b3c35c112878e7569dd86dcfff2f9ec678681d4814c91d75e4a0664736f6c634300080b00334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
Deployed Bytecode
0x60806040526004361061031e5760003560e01c80638da5cb5b116101ab578063bfd79284116100f7578063e2f4560511610095578063f203acb61161006f578063f203acb614610975578063f2fde38b1461098b578063f8b45b05146109ab578063faa7a0d9146109c157600080fd5b8063e2f4560514610929578063e71dc3f51461093f578063efb81bb61461095557600080fd5b8063c8c8ebe4116100d1578063c8c8ebe414610897578063d0b964cc146108ad578063d85ba063146108cd578063dd62ed3e146108e357600080fd5b8063bfd792841461082d578063c02466681461085d578063c876d0b91461087d57600080fd5b80639fccce3211610164578063a9059cbb1161013e578063a9059cbb146107a6578063adb873bd146107c6578063b62496f5146107dc578063bbc0c7421461080c57600080fd5b80639fccce321461075a578063a0d82dc514610770578063a457c2d71461078657600080fd5b80638da5cb5b146106bb5780638ea5220f146106d957806395d89b41146106f9578063975d71e21461070e5780639a7a23d6146107245780639c3b4fdc1461074457600080fd5b8063395093511161026a5780636a486a8e11610223578063715018a6116101fd578063715018a6146106505780637571336a14610665578063796e1a28146106855780637ab43983146106a557600080fd5b80636a486a8e146105e35780636ddd1713146105f957806370a082311461061a57600080fd5b806339509351146104f557806341a249491461051557806349bd5a5e146105355780634a62bb65146105695780634fbee1931461058a57806364d62353146105c357600080fd5b806318160ddd116102d7578063221ff997116102b1578063221ff9971461048357806323b872dd146104a357806327c8f835146104c3578063313ce567146104d957600080fd5b806318160ddd146104385780631c1b87721461044d5780631d7778561461046d57600080fd5b8063047fc9aa1461032a57806306fdde0314610353578063095ea7b31461037557806310d5de53146103a557806315e54c91146103d55780631694505e146103ec57600080fd5b3661032557005b600080fd5b34801561033657600080fd5b5061034060095481565b6040519081526020015b60405180910390f35b34801561035f57600080fd5b506103686109e1565b60405161034a919061230e565b34801561038157600080fd5b50610395610390366004612388565b610a73565b604051901515815260200161034a565b3480156103b157600080fd5b506103956103c03660046123b4565b601a6020526000908152604090205460ff1681565b3480156103e157600080fd5b506103ea610a8a565b005b3480156103f857600080fd5b506104207f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b03909116815260200161034a565b34801561044457600080fd5b50600254610340565b34801561045957600080fd5b506103ea6104683660046123b4565b610af8565b34801561047957600080fd5b5061034060145481565b34801561048f57600080fd5b506103ea61049e3660046123d1565b610b44565b3480156104af57600080fd5b506103956104be3660046123f3565b610bdb565b3480156104cf57600080fd5b5061042061dead81565b3480156104e557600080fd5b506040516006815260200161034a565b34801561050157600080fd5b50610395610510366004612388565b610c44565b34801561052157600080fd5b506103ea610530366004612434565b610c7a565b34801561054157600080fd5b506104207f0000000000000000000000005c91f75216604ad607449d4638b701195ee0b28d81565b34801561057557600080fd5b50600a5461039590600160a01b900460ff1681565b34801561059657600080fd5b506103956105a53660046123b4565b6001600160a01b031660009081526019602052604090205460ff1690565b3480156105cf57600080fd5b506103ea6105de366004612434565b610cc2565b3480156105ef57600080fd5b5061034060135481565b34801561060557600080fd5b50600a5461039590600160b01b900460ff1681565b34801561062657600080fd5b506103406106353660046123b4565b6001600160a01b031660009081526020819052604090205490565b34801561065c57600080fd5b506103ea610cf1565b34801561067157600080fd5b506103ea61068036600461244d565b610d65565b34801561069157600080fd5b506103ea6106a0366004612434565b610dba565b3480156106b157600080fd5b5061034060165481565b3480156106c757600080fd5b506005546001600160a01b0316610420565b3480156106e557600080fd5b50600a54610420906001600160a01b031681565b34801561070557600080fd5b50610368610dff565b34801561071a57600080fd5b5061034060175481565b34801561073057600080fd5b506103ea61073f36600461244d565b610e0e565b34801561075057600080fd5b50610340600f5481565b34801561076657600080fd5b5061034060155481565b34801561077c57600080fd5b5061034060125481565b34801561079257600080fd5b506103956107a1366004612388565b610eea565b3480156107b257600080fd5b506103956107c1366004612388565b610f39565b3480156107d257600080fd5b5061034060115481565b3480156107e857600080fd5b506103956107f73660046123b4565b601b6020526000908152604090205460ff1681565b34801561081857600080fd5b50600a5461039590600160a81b900460ff1681565b34801561083957600080fd5b506103956108483660046123b4565b600c6020526000908152604090205460ff1681565b34801561086957600080fd5b506103ea61087836600461244d565b610f46565b34801561088957600080fd5b50600d546103959060ff1681565b3480156108a357600080fd5b5061034060065481565b3480156108b957600080fd5b506103ea6108c83660046123d1565b610fcf565b3480156108d957600080fd5b5061034060105481565b3480156108ef57600080fd5b506103406108fe36600461248b565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561093557600080fd5b5061034060075481565b34801561094b57600080fd5b50610340600e5481565b34801561096157600080fd5b506103ea6109703660046124cf565b611062565b34801561098157600080fd5b5061034060185481565b34801561099757600080fd5b506103ea6109a63660046123b4565b6110f4565b3480156109b757600080fd5b5061034060085481565b3480156109cd57600080fd5b506103ea6109dc3660046123b4565b6111df565b6060600380546109f090612594565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1c90612594565b8015610a695780601f10610a3e57610100808354040283529160200191610a69565b820191906000526020600020905b815481529060010190602001808311610a4c57829003601f168201915b5050505050905090565b6000610a80338484611290565b5060015b92915050565b6005546001600160a01b03163314610abd5760405162461bcd60e51b8152600401610ab4906125cf565b60405180910390fd5b6000600e819055600c600f819055610ad49161261a565b60105560006011819055600f6012819055610aee9161261a565b6013556000601855565b6005546001600160a01b03163314610b225760405162461bcd60e51b8152600401610ab4906125cf565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610b6e5760405162461bcd60e51b8152600401610ab4906125cf565b600e829055600f819055610b82818361261a565b601081905560c81015610bd75760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420323025206f72206c6573730000006044820152606401610ab4565b5050565b6000610be88484846113b5565b610c3a8433610c358560405180606001604052806028815260200161281a602891396001600160a01b038a1660009081526001602090815260408083203384529091529020549190611c74565b611290565b5060019392505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610a80918590610c35908661122a565b6005546001600160a01b03163314610ca45760405162461bcd60e51b8152600401610ab4906125cf565b6001811015610cb257600080fd5b6016819055610cbf611cae565b50565b6005546001600160a01b03163314610cec5760405162461bcd60e51b8152600401610ab4906125cf565b601855565b6005546001600160a01b03163314610d1b5760405162461bcd60e51b8152600401610ab4906125cf565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610d8f5760405162461bcd60e51b8152600401610ab4906125cf565b6001600160a01b03919091166000908152601a60205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610de45760405162461bcd60e51b8152600401610ab4906125cf565b6001811015610df257600080fd5b6017819055610cbf611cae565b6060600480546109f090612594565b6005546001600160a01b03163314610e385760405162461bcd60e51b8152600401610ab4906125cf565b7f0000000000000000000000005c91f75216604ad607449d4638b701195ee0b28d6001600160a01b0316826001600160a01b03161415610ee05760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610ab4565b610bd78282611d0d565b6000610a803384610c3585604051806060016040528060258152602001612842602591393360009081526001602090815260408083206001600160a01b038d1684529091529020549190611c74565b6000610a803384846113b5565b6005546001600160a01b03163314610f705760405162461bcd60e51b8152600401610ab4906125cf565b6001600160a01b038216600081815260196020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b03163314610ff95760405162461bcd60e51b8152600401610ab4906125cf565b6011829055601281905561100d818361261a565b601381905560fa1015610bd75760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420323525206f72206c6573730000006044820152606401610ab4565b6005546001600160a01b0316331461108c5760405162461bcd60e51b8152600401610ab4906125cf565b60005b8151811015610bd7576001600c60008484815181106110b0576110b0612632565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806110ec81612648565b91505061108f565b6005546001600160a01b0316331461111e5760405162461bcd60e51b8152600401610ab4906125cf565b6001600160a01b0381166111835760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ab4565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146112095760405162461bcd60e51b8152600401610ab4906125cf565b6001600160a01b03166000908152600c60205260409020805460ff19169055565b600080611237838561261a565b9050838110156112895760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610ab4565b9392505050565b6001600160a01b0383166112f25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610ab4565b6001600160a01b0382166113535760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610ab4565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166113db5760405162461bcd60e51b8152600401610ab490612663565b6001600160a01b0382166114015760405162461bcd60e51b8152600401610ab4906126a8565b6001600160a01b0383166000908152600c602052604090205460ff1615801561144357506001600160a01b0382166000908152600c602052604090205460ff16155b61148f5760405162461bcd60e51b815260206004820152601b60248201527f54686973206163636f756e7420697320626c61636b6c697374656400000000006044820152606401610ab4565b806114a5576114a083836000611d61565b505050565b600a54600160a01b900460ff1615611976576005546001600160a01b038481169116148015906114e357506005546001600160a01b03838116911614155b80156114f757506001600160a01b03821615155b801561150e57506001600160a01b03821661dead14155b80156115245750600554600160a01b900460ff16155b1561197657600a54600160a81b900460ff166115be576001600160a01b03831660009081526019602052604090205460ff168061157957506001600160a01b03821660009081526019602052604090205460ff165b6115be5760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610ab4565b600d5460ff1615611710576005546001600160a01b0383811691161480159061161957507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316826001600160a01b031614155b801561165757507f0000000000000000000000005c91f75216604ad607449d4638b701195ee0b28d6001600160a01b0316826001600160a01b031614155b1561171057326000908152600b602052604090205443116116f25760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610ab4565b6018546116ff904361261a565b326000908152600b60205260409020555b6001600160a01b0383166000908152601b602052604090205460ff16801561175157506001600160a01b0382166000908152601a602052604090205460ff16155b15611835576006548111156117c65760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610ab4565b6008546001600160a01b0383166000908152602081905260409020546117ec908361261a565b11156118305760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610ab4565b611976565b6001600160a01b0382166000908152601b602052604090205460ff16801561187657506001600160a01b0383166000908152601a602052604090205460ff16155b156118ec576006548111156118305760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610ab4565b6001600160a01b0382166000908152601a602052604090205460ff16611976576008546001600160a01b038316600090815260208190526040902054611932908361261a565b11156119765760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610ab4565b30600090815260208190526040902054600754811080159081906119a45750600554600160a01b900460ff16155b80156119b95750600a54600160b01b900460ff165b80156119de57506001600160a01b0385166000908152601b602052604090205460ff16155b8015611a0357506001600160a01b03851660009081526019602052604090205460ff16155b8015611a2857506001600160a01b03841660009081526019602052604090205460ff16155b15611a56576005805460ff60a01b1916600160a01b179055611a48611e6a565b6005805460ff60a01b191690555b6005546001600160a01b03861660009081526019602052604090205460ff600160a01b909204821615911680611aa457506001600160a01b03851660009081526019602052604090205460ff165b15611aad575060005b60008115611c60576001600160a01b0386166000908152601b602052604090205460ff168015611adf57506000601354115b15611b6d57611b046064611afe60135488611f1290919063ffffffff16565b90611f91565b905060135460115482611b1791906126eb565b611b21919061270a565b60146000828254611b32919061261a565b9091555050601354601254611b4790836126eb565b611b51919061270a565b60156000828254611b62919061261a565b90915550611c1a9050565b6001600160a01b0387166000908152601b602052604090205460ff168015611b9757506000601054115b15611c1a57611bb66064611afe60105488611f1290919063ffffffff16565b9050601054600e5482611bc991906126eb565b611bd3919061270a565b60146000828254611be4919061261a565b9091555050601054600f54611bf990836126eb565b611c03919061270a565b60156000828254611c14919061261a565b90915550505b8015611c5357611c2b873083611d61565b60145415611c5357611c3f30601454611fd3565b600254600955611c4d611cae565b60006014555b611c5d818661272c565b94505b611c6b878787611d61565b50505050505050565b60008184841115611c985760405162461bcd60e51b8152600401610ab4919061230e565b506000611ca5848661272c565b95945050505050565b6064601754600954611cc091906126eb565b611cca919061270a565b60065560095461271090611cdf9060056126eb565b611ce9919061270a565b600755601654600954606491611cfe916126eb565b611d08919061270a565b600855565b6001600160a01b0382166000818152601b6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b038316611d875760405162461bcd60e51b8152600401610ab490612663565b6001600160a01b038216611dad5760405162461bcd60e51b8152600401610ab4906126a8565b611dea816040518060600160405280602681526020016127f4602691396001600160a01b0386166000908152602081905260409020549190611c74565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611e19908261122a565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016113a8565b306000908152602081905260408120549081611e84575050565b600754611e929060146126eb565b821115611eaa57600754611ea79060146126eb565b91505b611eb3826120de565b60006015819055600a546040516001600160a01b039091169147919081818185875af1925050503d8060008114611f06576040519150601f19603f3d011682016040523d82523d6000602084013e611f0b565b606091505b5050505050565b600082611f2157506000610a84565b6000611f2d83856126eb565b905082611f3a858361270a565b146112895760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610ab4565b600061128983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061229e565b6001600160a01b0382166120335760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610ab4565b612070816040518060600160405280602281526020016127d2602291396001600160a01b0385166000908152602081905260409020549190611c74565b6001600160a01b03831660009081526020819052604090205560025461209690826122cc565b6002556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061211357612113612632565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612191573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121b59190612743565b816001815181106121c8576121c8612632565b60200260200101906001600160a01b031690816001600160a01b031681525050612213307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611290565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac94790612268908590600090869030904290600401612760565b600060405180830381600087803b15801561228257600080fd5b505af1158015612296573d6000803e3d6000fd5b505050505050565b600081836122bf5760405162461bcd60e51b8152600401610ab4919061230e565b506000611ca5848661270a565b600061128983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c74565b600060208083528351808285015260005b8181101561233b5785810183015185820160400152820161231f565b8181111561234d576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610cbf57600080fd5b803561238381612363565b919050565b6000806040838503121561239b57600080fd5b82356123a681612363565b946020939093013593505050565b6000602082840312156123c657600080fd5b813561128981612363565b600080604083850312156123e457600080fd5b50508035926020909101359150565b60008060006060848603121561240857600080fd5b833561241381612363565b9250602084013561242381612363565b929592945050506040919091013590565b60006020828403121561244657600080fd5b5035919050565b6000806040838503121561246057600080fd5b823561246b81612363565b91506020830135801515811461248057600080fd5b809150509250929050565b6000806040838503121561249e57600080fd5b82356124a981612363565b9150602083013561248081612363565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156124e257600080fd5b823567ffffffffffffffff808211156124fa57600080fd5b818501915085601f83011261250e57600080fd5b813581811115612520576125206124b9565b8060051b604051601f19603f83011681018181108582111715612545576125456124b9565b60405291825284820192508381018501918883111561256357600080fd5b938501935b828510156125885761257985612378565b84529385019392850192612568565b98975050505050505050565b600181811c908216806125a857607f821691505b602082108114156125c957634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000821982111561262d5761262d612604565b500190565b634e487b7160e01b600052603260045260246000fd5b600060001982141561265c5761265c612604565b5060010190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b600081600019048311821515161561270557612705612604565b500290565b60008261272757634e487b7160e01b600052601260045260246000fd5b500490565b60008282101561273e5761273e612604565b500390565b60006020828403121561275557600080fd5b815161128981612363565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156127b05784516001600160a01b03168352938301939183019160010161278b565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220302ca4d0300b3c35c112878e7569dd86dcfff2f9ec678681d4814c91d75e4a0664736f6c634300080b0033
Deployed Bytecode Sourcemap
18347:11411:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18746:21;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;18746:21:0;;;;;;;;5127:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;6054:169::-;;;;;;;;;;-1:-1:-1;6054:169:0;;;;;:::i;:::-;;:::i;:::-;;;1558:14:1;;1551:22;1533:41;;1521:2;1506:18;6054:169:0;1393:187:1;19531:64:0;;;;;;;;;;-1:-1:-1;19531:64:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;22022:278;;;;;;;;;;;;;:::i;:::-;;18424:51;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2028:32:1;;;2010:51;;1998:2;1983:18;18424:51:0;1837:230:1;5453:108:0;;;;;;;;;;-1:-1:-1;5541:12:0;;5453:108;;23447:94;;;;;;;;;;-1:-1:-1;23447:94:0;;;;;:::i;:::-;;:::i;19303:28::-;;;;;;;;;;;;;;;;22894:263;;;;;;;;;;-1:-1:-1;22894:263:0;;;;;:::i;:::-;;:::i;6233:355::-;;;;;;;;;;-1:-1:-1;6233:355:0;;;;;:::i;:::-;;:::i;18527:53::-;;;;;;;;;;;;18573:6;18527:53;;5351:92;;;;;;;;;;-1:-1:-1;5351:92:0;;5434:1;3136:36:1;;3124:2;3109:18;5351:92:0;2994:184:1;6598:218:0;;;;;;;;;;-1:-1:-1;6598:218:0;;;;;:::i;:::-;;:::i;22473:152::-;;;;;;;;;;-1:-1:-1;22473:152:0;;;;;:::i;:::-;;:::i;18482:38::-;;;;;;;;;;;;;;;18813:33;;;;;;;;;;-1:-1:-1;18813:33:0;;;;-1:-1:-1;;;18813:33:0;;;;;;24415:125;;;;;;;;;;-1:-1:-1;24415:125:0;;;;;:::i;:::-;-1:-1:-1;;;;;24504:28:0;24480:4;24504:28;;;:19;:28;;;;;;;;;24415:125;22633:93;;;;;;;;;;-1:-1:-1;22633:93:0;;;;;:::i;:::-;;:::i;19259:28::-;;;;;;;;;;;;;;;;18892:30;;;;;;;;;;-1:-1:-1;18892:30:0;;;;-1:-1:-1;;;18892:30:0;;;;;;5571:127;;;;;;;;;;-1:-1:-1;5571:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;5672:18:0;5645:7;5672:18;;;;;;;;;;;;5571:127;11342:148;;;;;;;;;;;;;:::i;22738:144::-;;;;;;;;;;-1:-1:-1;22738:144:0;;;;;:::i;:::-;;:::i;22312:153::-;;;;;;;;;;-1:-1:-1;22312:153:0;;;;;:::i;:::-;;:::i;19374:26::-;;;;;;;;;;;;;;;;11128:79;;;;;;;;;;-1:-1:-1;11193:6:0;;-1:-1:-1;;;;;11193:6:0;11128:79;;18776:24;;;;;;;;;;-1:-1:-1;18776:24:0;;;;-1:-1:-1;;;;;18776:24:0;;;5237:104;;;;;;;;;;;;;:::i;19407:25::-;;;;;;;;;;;;;;;;23967:244;;;;;;;;;;-1:-1:-1;23967:244:0;;;;;:::i;:::-;;:::i;19127:24::-;;;;;;;;;;;;;;;;19338:27;;;;;;;;;;;;;;;;19227:25;;;;;;;;;;;;;;;;6826:269;;;;;;;;;;-1:-1:-1;6826:269:0;;;;;:::i;:::-;;:::i;5708:175::-;;;;;;;;;;-1:-1:-1;5708:175:0;;;;;:::i;:::-;;:::i;19194:26::-;;;;;;;;;;;;;;;;19602:58;;;;;;;;;;-1:-1:-1;19602:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;18853:32;;;;;;;;;;-1:-1:-1;18853:32:0;;;;-1:-1:-1;;;18853:32:0;;;;;;19002:36;;;;;;;;;;-1:-1:-1;19002:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;23549:182;;;;;;;;;;-1:-1:-1;23549:182:0;;;;;:::i;:::-;;:::i;19047:39::-;;;;;;;;;;-1:-1:-1;19047:39:0;;;;;;;;18627:35;;;;;;;;;;;;;;;;23169:270;;;;;;;;;;-1:-1:-1;23169:270:0;;;;;:::i;:::-;;:::i;19158:27::-;;;;;;;;;;;;;;;;5893:151;;;;;;;;;;-1:-1:-1;5893:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;6009:18:0;;;5982:7;6009:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5893:151;18669:33;;;;;;;;;;;;;;;;19095:25;;;;;;;;;;;;;;;;21794:131;;;;;;;;;;-1:-1:-1;21794:131:0;;;;;:::i;:::-;;:::i;19439:25::-;;;;;;;;;;;;;;;;11500:244;;;;;;;;;;-1:-1:-1;11500:244:0;;;;;:::i;:::-;;:::i;18709:24::-;;;;;;;;;;;;;;;;21930:86;;;;;;;;;;-1:-1:-1;21930:86:0;;;;;:::i;:::-;;:::i;5127:100::-;5181:13;5214:5;5207:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5127:100;:::o;6054:169::-;6137:4;6154:39;477:10;6177:7;6186:6;6154:8;:39::i;:::-;-1:-1:-1;6211:4:0;6054:169;;;;;:::o;22022:278::-;11255:6;;-1:-1:-1;;;;;11255:6:0;477:10;11255:22;11247:67;;;;-1:-1:-1;;;11247:67:0;;;;;;;:::i;:::-;;;;;;;;;22087:1:::1;22074:10;:14:::0;;;22111:2:::1;22099:9;:14:::0;;;22139:22:::1;::::0;::::1;:::i;:::-;22124:12;:37:::0;22188:1:::1;22174:11;:15:::0;;;22212:2:::1;22200:10;:14:::0;;;22241:24:::1;::::0;::::1;:::i;:::-;22225:13;:40:::0;22291:1:::1;22278:10;:14:::0;22022:278::o;23447:94::-;11255:6;;-1:-1:-1;;;;;11255:6:0;477:10;11255:22;11247:67;;;;-1:-1:-1;;;11247:67:0;;;;;;;:::i;:::-;23512:9:::1;:21:::0;;-1:-1:-1;;;;;;23512:21:0::1;-1:-1:-1::0;;;;;23512:21:0;;;::::1;::::0;;;::::1;::::0;;23447:94::o;22894:263::-;11255:6;;-1:-1:-1;;;;;11255:6:0;477:10;11255:22;11247:67;;;;-1:-1:-1;;;11247:67:0;;;;;;;:::i;:::-;22978:10:::1;:21:::0;;;23010:9:::1;:19:::0;;;23055:22:::1;23022:7:::0;22991:8;23055:22:::1;:::i;:::-;23040:12;:37:::0;;;23112:3:::1;-1:-1:-1::0;23096:19:0::1;23088:61;;;::::0;-1:-1:-1;;;23088:61:0;;6653:2:1;23088:61:0::1;::::0;::::1;6635:21:1::0;6692:2;6672:18;;;6665:30;6731:31;6711:18;;;6704:59;6780:18;;23088:61:0::1;6451:353:1::0;23088:61:0::1;22894:263:::0;;:::o;6233:355::-;6373:4;6390:36;6400:6;6408:9;6419:6;6390:9;:36::i;:::-;6437:121;6446:6;477:10;6468:89;6506:6;6468:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6468:19:0;;;;;;:11;:19;;;;;;;;477:10;6468:33;;;;;;;;;;:37;:89::i;:::-;6437:8;:121::i;:::-;-1:-1:-1;6576:4:0;6233:355;;;;;:::o;6598:218::-;477:10;6686:4;6735:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6735:34:0;;;;;;;;;;6686:4;;6703:83;;6726:7;;6735:50;;6774:10;6735:38;:50::i;22473:152::-;11255:6;;-1:-1:-1;;;;;11255:6:0;477:10;11255:22;11247:67;;;;-1:-1:-1;;;11247:67:0;;;;;;;:::i;:::-;22559:1:::1;22549:6;:11;;22541:20;;;::::0;::::1;;22572:11;:20:::0;;;22603:14:::1;:12;:14::i;:::-;22473:152:::0;:::o;22633:93::-;11255:6;;-1:-1:-1;;;;;11255:6:0;477:10;11255:22;11247:67;;;;-1:-1:-1;;;11247:67:0;;;;;;;:::i;:::-;22699:10:::1;:19:::0;22633:93::o;11342:148::-;11255:6;;-1:-1:-1;;;;;11255:6:0;477:10;11255:22;11247:67;;;;-1:-1:-1;;;11247:67:0;;;;;;;:::i;:::-;11433:6:::1;::::0;11412:40:::1;::::0;11449:1:::1;::::0;-1:-1:-1;;;;;11433:6:0::1;::::0;11412:40:::1;::::0;11449:1;;11412:40:::1;11463:6;:19:::0;;-1:-1:-1;;;;;;11463:19:0::1;::::0;;11342:148::o;22738:144::-;11255:6;;-1:-1:-1;;;;;11255:6:0;477:10;11255:22;11247:67;;;;-1:-1:-1;;;11247:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22828:39:0;;;::::1;;::::0;;;:31:::1;:39;::::0;;;;:46;;-1:-1:-1;;22828:46:0::1;::::0;::::1;;::::0;;;::::1;::::0;;22738:144::o;22312:153::-;11255:6;;-1:-1:-1;;;;;11255:6:0;477:10;11255:22;11247:67;;;;-1:-1:-1;;;11247:67:0;;;;;;;:::i;:::-;22400:1:::1;22390:6;:11;;22382:20;;;::::0;::::1;;22413:10;:19:::0;;;22443:14:::1;:12;:14::i;5237:104::-:0;5293:13;5326:7;5319:14;;;;;:::i;23967:244::-;11255:6;;-1:-1:-1;;;;;11255:6:0;477:10;11255:22;11247:67;;;;-1:-1:-1;;;11247:67:0;;;;;;;:::i;:::-;24074:13:::1;-1:-1:-1::0;;;;;24066:21:0::1;:4;-1:-1:-1::0;;;;;24066:21:0::1;;;24058:91;;;::::0;-1:-1:-1;;;24058:91:0;;7011:2:1;24058:91:0::1;::::0;::::1;6993:21:1::0;7050:2;7030:18;;;7023:30;7089:34;7069:18;;;7062:62;7160:27;7140:18;;;7133:55;7205:19;;24058:91:0::1;6809:421:1::0;24058:91:0::1;24162:41;24191:4;24197:5;24162:28;:41::i;6826:269::-:0;6919:4;6936:129;477:10;6959:7;6968:96;7007:15;6968:96;;;;;;;;;;;;;;;;;477:10;6968:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6968:34:0;;;;;;;;;;;;:38;:96::i;5708:175::-;5794:4;5811:42;477:10;5835:9;5846:6;5811:9;:42::i;23549:182::-;11255:6;;-1:-1:-1;;;;;11255:6:0;477:10;11255:22;11247:67;;;;-1:-1:-1;;;11247:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23634:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:39;;-1:-1:-1;;23634:39:0::1;::::0;::::1;;::::0;;::::1;::::0;;;23689:34;;1533:41:1;;;23689:34:0::1;::::0;1506:18:1;23689:34:0::1;;;;;;;23549:182:::0;;:::o;23169:270::-;11255:6;;-1:-1:-1;;;;;11255:6:0;477:10;11255:22;11247:67;;;;-1:-1:-1;;;11247:67:0;;;;;;;:::i;:::-;23254:11:::1;:22:::0;;;23287:10:::1;:20:::0;;;23334:24:::1;23300:7:::0;23268:8;23334:24:::1;:::i;:::-;23318:13;:40:::0;;;23394:3:::1;-1:-1:-1::0;23377:20:0::1;23369:62;;;::::0;-1:-1:-1;;;23369:62:0;;7437:2:1;23369:62:0::1;::::0;::::1;7419:21:1::0;7476:2;7456:18;;;7449:30;7515:31;7495:18;;;7488:59;7564:18;;23369:62:0::1;7235:353:1::0;21794:131:0;11255:6;;-1:-1:-1;;;;;11255:6:0;477:10;11255:22;11247:67;;;;-1:-1:-1;;;11247:67:0;;;;;;;:::i;:::-;21862:9:::1;21857:67;21881:5;:12;21877:1;:16;21857:67;;;21918:4;21901;:14;21906:5;21912:1;21906:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;21901:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;21901:14:0;:21;;-1:-1:-1;;21901:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;21895:3;::::1;::::0;::::1;:::i;:::-;;;;21857:67;;11500:244:::0;11255:6;;-1:-1:-1;;;;;11255:6:0;477:10;11255:22;11247:67;;;;-1:-1:-1;;;11247:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11589:22:0;::::1;11581:73;;;::::0;-1:-1:-1;;;11581:73:0;;8067:2:1;11581:73:0::1;::::0;::::1;8049:21:1::0;8106:2;8086:18;;;8079:30;8145:34;8125:18;;;8118:62;-1:-1:-1;;;8196:18:1;;;8189:36;8242:19;;11581:73:0::1;7865:402:1::0;11581:73:0::1;11691:6;::::0;11670:38:::1;::::0;-1:-1:-1;;;;;11670:38:0;;::::1;::::0;11691:6:::1;::::0;11670:38:::1;::::0;11691:6:::1;::::0;11670:38:::1;11719:6;:17:::0;;-1:-1:-1;;;;;;11719:17:0::1;-1:-1:-1::0;;;;;11719:17:0;;;::::1;::::0;;;::::1;::::0;;11500:244::o;21930:86::-;11255:6;;-1:-1:-1;;;;;11255:6:0;477:10;11255:22;11247:67;;;;-1:-1:-1;;;11247:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21991:12:0::1;22006:5;21991:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;21991:20:0::1;::::0;;21930:86::o;9048:181::-;9106:7;;9138:5;9142:1;9138;:5;:::i;:::-;9126:17;;9167:1;9162;:6;;9154:46;;;;-1:-1:-1;;;9154:46:0;;8474:2:1;9154:46:0;;;8456:21:1;8513:2;8493:18;;;8486:30;8552:29;8532:18;;;8525:57;8599:18;;9154:46:0;8272:351:1;9154:46:0;9220:1;9048:181;-1:-1:-1;;;9048:181:0:o;8502:380::-;-1:-1:-1;;;;;8638:19:0;;8630:68;;;;-1:-1:-1;;;8630:68:0;;8830:2:1;8630:68:0;;;8812:21:1;8869:2;8849:18;;;8842:30;8908:34;8888:18;;;8881:62;-1:-1:-1;;;8959:18:1;;;8952:34;9003:19;;8630:68:0;8628:400:1;8630:68:0;-1:-1:-1;;;;;8717:21:0;;8709:68;;;;-1:-1:-1;;;8709:68:0;;9235:2:1;8709:68:0;;;9217:21:1;9274:2;9254:18;;;9247:30;9313:34;9293:18;;;9286:62;-1:-1:-1;;;9364:18:1;;;9357:32;9406:19;;8709:68:0;9033:398:1;8709:68:0;-1:-1:-1;;;;;8790:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8842:32;;160:25:1;;;8842:32:0;;133:18:1;8842:32:0;;;;;;;;8502:380;;;:::o;24552:4116::-;-1:-1:-1;;;;;24684:18:0;;24676:68;;;;-1:-1:-1;;;24676:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;24763:16:0;;24755:64;;;;-1:-1:-1;;;24755:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;24839:10:0;;;;;;:4;:10;;;;;;;;24838:11;:24;;;;-1:-1:-1;;;;;;24854:8:0;;;;;;:4;:8;;;;;;;;24853:9;24838:24;24830:64;;;;-1:-1:-1;;;24830:64:0;;10448:2:1;24830:64:0;;;10430:21:1;10487:2;10467:18;;;10460:30;10526:29;10506:18;;;10499:57;10573:18;;24830:64:0;10246:351:1;24830:64:0;24919:11;24916:92;;24947:28;24963:4;24969:2;24973:1;24947:15;:28::i;:::-;24552:4116;;;:::o;24916:92::-;25031:14;;-1:-1:-1;;;25031:14:0;;;;25028:1854;;;11193:6;;-1:-1:-1;;;;;25083:15:0;;;11193:6;;25083:15;;;;:49;;-1:-1:-1;11193:6:0;;-1:-1:-1;;;;;25119:13:0;;;11193:6;;25119:13;;25083:49;:86;;;;-1:-1:-1;;;;;;25153:16:0;;;;25083:86;:128;;;;-1:-1:-1;;;;;;25190:21:0;;25204:6;25190:21;;25083:128;:158;;;;-1:-1:-1;25233:8:0;;-1:-1:-1;;;25233:8:0;;;;25232:9;25083:158;25061:1810;;;25279:13;;-1:-1:-1;;;25279:13:0;;;;25275:148;;-1:-1:-1;;;;;25324:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;25353:23:0;;;;;;:19;:23;;;;;;;;25324:52;25316:87;;;;-1:-1:-1;;;25316:87:0;;10804:2:1;25316:87:0;;;10786:21:1;10843:2;10823:18;;;10816:30;-1:-1:-1;;;10862:18:1;;;10855:52;10924:18;;25316:87:0;10602:346:1;25316:87:0;25581:20;;;;25577:436;;;11193:6;;-1:-1:-1;;;;;25629:13:0;;;11193:6;;25629:13;;;;:47;;;25660:15;-1:-1:-1;;;;;25646:30:0;:2;-1:-1:-1;;;;;25646:30:0;;;25629:47;:79;;;;;25694:13;-1:-1:-1;;;;;25680:28:0;:2;-1:-1:-1;;;;;25680:28:0;;;25629:79;25625:369;;;25773:9;25744:39;;;;:28;:39;;;;;;25786:12;-1:-1:-1;25736:140:0;;;;-1:-1:-1;;;25736:140:0;;11155:2:1;25736:140:0;;;11137:21:1;11194:2;11174:18;;;11167:30;11233:34;11213:18;;;11206:62;11304:34;11284:18;;;11277:62;-1:-1:-1;;;11355:19:1;;;11348:40;11405:19;;25736:140:0;10953:477:1;25736:140:0;25960:10;;25945:25;;:12;:25;:::i;:::-;25932:9;25903:39;;;;:28;:39;;;;;:67;25625:369;-1:-1:-1;;;;;26082:31:0;;;;;;:25;:31;;;;;;;;:71;;;;-1:-1:-1;;;;;;26118:35:0;;;;;;:31;:35;;;;;;;;26117:36;26082:71;26078:778;;;26200:20;;26190:6;:30;;26182:96;;;;-1:-1:-1;;;26182:96:0;;11637:2:1;26182:96:0;;;11619:21:1;11676:2;11656:18;;;11649:30;11715:34;11695:18;;;11688:62;-1:-1:-1;;;11766:18:1;;;11759:51;11827:19;;26182:96:0;11435:417:1;26182:96:0;26339:9;;-1:-1:-1;;;;;5672:18:0;;5645:7;5672:18;;;;;;;;;;;26313:22;;:6;:22;:::i;:::-;:35;;26305:67;;;;-1:-1:-1;;;26305:67:0;;12059:2:1;26305:67:0;;;12041:21:1;12098:2;12078:18;;;12071:30;-1:-1:-1;;;12117:18:1;;;12110:49;12176:18;;26305:67:0;11857:343:1;26305:67:0;26078:778;;;-1:-1:-1;;;;;26466:29:0;;;;;;:25;:29;;;;;;;;:71;;;;-1:-1:-1;;;;;;26500:37:0;;;;;;:31;:37;;;;;;;;26499:38;26466:71;26462:394;;;26584:20;;26574:6;:30;;26566:97;;;;-1:-1:-1;;;26566:97:0;;12407:2:1;26566:97:0;;;12389:21:1;12446:2;12426:18;;;12419:30;12485:34;12465:18;;;12458:62;-1:-1:-1;;;12536:18:1;;;12529:52;12598:19;;26566:97:0;12205:418:1;26462:394:0;-1:-1:-1;;;;;26710:35:0;;;;;;:31;:35;;;;;;;;26706:150;;26803:9;;-1:-1:-1;;;;;5672:18:0;;5645:7;5672:18;;;;;;;;;;;26777:22;;:6;:22;:::i;:::-;:35;;26769:67;;;;-1:-1:-1;;;26769:67:0;;12059:2:1;26769:67:0;;;12041:21:1;12098:2;12078:18;;;12071:30;-1:-1:-1;;;12117:18:1;;;12110:49;12176:18;;26769:67:0;11857:343:1;26769:67:0;26941:4;26892:28;5672:18;;;;;;;;;;;27007;;26983:42;;;;;;;27056:33;;-1:-1:-1;27081:8:0;;-1:-1:-1;;;27081:8:0;;;;27080:9;27056:33;:61;;;;-1:-1:-1;27106:11:0;;-1:-1:-1;;;27106:11:0;;;;27056:61;:110;;;;-1:-1:-1;;;;;;27135:31:0;;;;;;:25;:31;;;;;;;;27134:32;27056:110;:153;;;;-1:-1:-1;;;;;;27184:25:0;;;;;;:19;:25;;;;;;;;27183:26;27056:153;:194;;;;-1:-1:-1;;;;;;27227:23:0;;;;;;:19;:23;;;;;;;;27226:24;27056:194;27038:338;;;27277:8;:15;;-1:-1:-1;;;;27277:15:0;-1:-1:-1;;;27277:15:0;;;27321:10;:8;:10::i;:::-;27348:8;:16;;-1:-1:-1;;;;27348:16:0;;;27038:338;27412:8;;-1:-1:-1;;;;;27436:25:0;;27396:12;27436:25;;;:19;:25;;;;;;27412:8;-1:-1:-1;;;27412:8:0;;;;;27411:9;;27436:25;;:52;;-1:-1:-1;;;;;;27465:23:0;;;;;;:19;:23;;;;;;;;27436:52;27433:99;;;-1:-1:-1;27515:5:0;27433:99;27552:12;27584:7;27581:1034;;;-1:-1:-1;;;;;27635:29:0;;;;;;:25;:29;;;;;;;;:50;;;;;27684:1;27668:13;;:17;27635:50;27631:574;;;27712:34;27742:3;27712:25;27723:13;;27712:6;:10;;:25;;;;:::i;:::-;:29;;:34::i;:::-;27705:41;;27803:13;;27789:11;;27782:4;:18;;;;:::i;:::-;:34;;;;:::i;:::-;27765:13;;:51;;;;;;;:::i;:::-;;;;-1:-1:-1;;27871:13:0;;27858:10;;27851:17;;:4;:17;:::i;:::-;:33;;;;:::i;:::-;27835:12;;:49;;;;;;;:::i;:::-;;;;-1:-1:-1;27631:574:0;;-1:-1:-1;27631:574:0;;-1:-1:-1;;;;;27947:31:0;;;;;;:25;:31;;;;;;;;:51;;;;;27997:1;27982:12;;:16;27947:51;27944:261;;;28025:33;28054:3;28025:24;28036:12;;28025:6;:10;;:24;;;;:::i;:33::-;28018:40;;28111:12;;28098:10;;28091:4;:17;;;;:::i;:::-;:32;;;;:::i;:::-;28074:13;;:49;;;;;;;:::i;:::-;;;;-1:-1:-1;;28177:12:0;;28165:9;;28158:16;;:4;:16;:::i;:::-;:31;;;;:::i;:::-;28142:12;;:47;;;;;;;:::i;:::-;;;;-1:-1:-1;;27944:261:0;28236:8;;28233:334;;28268:42;28284:4;28298;28305;28268:15;:42::i;:::-;28333:13;;:17;28329:223;;28375:35;28389:4;28396:13;;28375:5;:35::i;:::-;5541:12;;28433:6;:22;28478:14;:12;:14::i;:::-;28531:1;28515:13;:17;28329:223;28589:14;28599:4;28589:14;;:::i;:::-;;;27581:1034;28627:33;28643:4;28649:2;28653:6;28627:15;:33::i;:::-;24665:4003;;;;24552:4116;;;:::o;9383:192::-;9469:7;9505:12;9497:6;;;;9489:29;;;;-1:-1:-1;;;9489:29:0;;;;;;;;:::i;:::-;-1:-1:-1;9529:9:0;9541:5;9545:1;9541;:5;:::i;:::-;9529:17;9383:192;-1:-1:-1;;;;;9383:192:0:o;23739:220::-;23827:3;23814:10;;23805:6;;:19;;;;:::i;:::-;:25;;;;:::i;:::-;23782:20;:48;23862:6;;23875:5;;23862:10;;23871:1;23862:10;:::i;:::-;:18;;;;:::i;:::-;23841;:39;23934:11;;23925:6;;23948:3;;23925:20;;;:::i;:::-;:26;;;;:::i;:::-;23913:9;:38;23739:220::o;24219:188::-;-1:-1:-1;;;;;24302:31:0;;;;;;:25;:31;;;;;;:39;;-1:-1:-1;;24302:39:0;;;;;;;;;;24359:40;;24302:39;;:31;24359:40;;;24219:188;;:::o;7105:573::-;-1:-1:-1;;;;;7245:20:0;;7237:70;;;;-1:-1:-1;;;7237:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7326:23:0;;7318:71;;;;-1:-1:-1;;;7318:71:0;;;;;;;:::i;:::-;7482;7504:6;7482:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7482:17:0;;:9;:17;;;;;;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;7462:17:0;;;:9;:17;;;;;;;;;;;:91;;;;7587:20;;;;;;;:32;;7612:6;7587:24;:32::i;:::-;-1:-1:-1;;;;;7564:20:0;;;:9;:20;;;;;;;;;;;;:55;;;;7635:35;160:25:1;;;7564:20:0;;7635:35;;;;;;133:18:1;7635:35:0;14:177:1;29289:464:0;29372:4;29328:23;5672:18;;;;;;;;;;;;;29422:34;;29448:7;;29289:464::o;29422:34::-;29489:18;;:23;;29510:2;29489:23;:::i;:::-;29471:15;:41;29468:111;;;29544:18;;:23;;29565:2;29544:23;:::i;:::-;29526:41;;29468:111;29591:33;29608:15;29591:16;:33::i;:::-;29661:1;29646:12;:16;;;29696:9;;29688:57;;-1:-1:-1;;;;;29696:9:0;;;;29719:21;;29688:57;;29661:1;29688:57;29719:21;29696:9;29688:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;29289:464:0:o;9583:471::-;9641:7;9886:6;9882:47;;-1:-1:-1;9916:1:0;9909:8;;9882:47;9941:9;9953:5;9957:1;9953;:5;:::i;:::-;9941:17;-1:-1:-1;9986:1:0;9977:5;9981:1;9941:17;9977:5;:::i;:::-;:10;9969:56;;;;-1:-1:-1;;;9969:56:0;;13565:2:1;9969:56:0;;;13547:21:1;13604:2;13584:18;;;13577:30;13643:34;13623:18;;;13616:62;-1:-1:-1;;;13694:18:1;;;13687:31;13735:19;;9969:56:0;13363:397:1;10062:132:0;10120:7;10147:39;10151:1;10154;10147:39;;;;;;;;;;;;;;;;;:3;:39::i;8074:418::-;-1:-1:-1;;;;;8158:21:0;;8150:67;;;;-1:-1:-1;;;8150:67:0;;13967:2:1;8150:67:0;;;13949:21:1;14006:2;13986:18;;;13979:30;14045:34;14025:18;;;14018:62;-1:-1:-1;;;14096:18:1;;;14089:31;14137:19;;8150:67:0;13765:397:1;8150:67:0;8313:68;8336:6;8313:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8313:18:0;;:9;:18;;;;;;;;;;;;:68;:22;:68::i;:::-;-1:-1:-1;;;;;8292:18:0;;:9;:18;;;;;;;;;;:89;8407:12;;:24;;8424:6;8407:16;:24::i;:::-;8392:12;:39;8447:37;;160:25:1;;;8473:1:0;;-1:-1:-1;;;;;8447:37:0;;;;;148:2:1;133:18;8447:37:0;;;;;;;8074:418;;:::o;28676:601::-;28828:16;;;28842:1;28828:16;;;;;;;;28804:21;;28828:16;;;;;;;;;;-1:-1:-1;28828:16:0;28804:40;;28873:4;28855;28860:1;28855:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;28855:23:0;;;-1:-1:-1;;;;;28855:23:0;;;;;28899:15;-1:-1:-1;;;;;28899:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28889:4;28894:1;28889:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;28889:32:0;;;-1:-1:-1;;;;;28889:32:0;;;;;28934:62;28951:4;28966:15;28984:11;28934:8;:62::i;:::-;29035:224;;-1:-1:-1;;;29035:224:0;;-1:-1:-1;;;;;29035:15:0;:66;;;;:224;;29116:11;;29142:1;;29186:4;;29213;;29233:15;;29035:224;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28731:546;28676:601;:::o;10204:278::-;10290:7;10325:12;10318:5;10310:28;;;;-1:-1:-1;;;10310:28:0;;;;;;;;:::i;:::-;-1:-1:-1;10349:9:0;10361:5;10365:1;10361;:5;:::i;9237:136::-;9295:7;9322:43;9326:1;9329;9322:43;;;;;;;;;;;;;;;;;:3;:43::i;196:597:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:131::-;-1:-1:-1;;;;;873:31:1;;863:42;;853:70;;919:1;916;909:12;934:134;1002:20;;1031:31;1002:20;1031:31;:::i;:::-;934:134;;;:::o;1073:315::-;1141:6;1149;1202:2;1190:9;1181:7;1177:23;1173:32;1170:52;;;1218:1;1215;1208:12;1170:52;1257:9;1244:23;1276:31;1301:5;1276:31;:::i;:::-;1326:5;1378:2;1363:18;;;;1350:32;;-1:-1:-1;;;1073:315:1:o;1585:247::-;1644:6;1697:2;1685:9;1676:7;1672:23;1668:32;1665:52;;;1713:1;1710;1703:12;1665:52;1752:9;1739:23;1771:31;1796:5;1771:31;:::i;2072:248::-;2140:6;2148;2201:2;2189:9;2180:7;2176:23;2172:32;2169:52;;;2217:1;2214;2207:12;2169:52;-1:-1:-1;;2240:23:1;;;2310:2;2295:18;;;2282:32;;-1:-1:-1;2072:248:1:o;2325:456::-;2402:6;2410;2418;2471:2;2459:9;2450:7;2446:23;2442:32;2439:52;;;2487:1;2484;2477:12;2439:52;2526:9;2513:23;2545:31;2570:5;2545:31;:::i;:::-;2595:5;-1:-1:-1;2652:2:1;2637:18;;2624:32;2665:33;2624:32;2665:33;:::i;:::-;2325:456;;2717:7;;-1:-1:-1;;;2771:2:1;2756:18;;;;2743:32;;2325:456::o;3183:180::-;3242:6;3295:2;3283:9;3274:7;3270:23;3266:32;3263:52;;;3311:1;3308;3301:12;3263:52;-1:-1:-1;3334:23:1;;3183:180;-1:-1:-1;3183:180:1:o;3368:416::-;3433:6;3441;3494:2;3482:9;3473:7;3469:23;3465:32;3462:52;;;3510:1;3507;3500:12;3462:52;3549:9;3536:23;3568:31;3593:5;3568:31;:::i;:::-;3618:5;-1:-1:-1;3675:2:1;3660:18;;3647:32;3717:15;;3710:23;3698:36;;3688:64;;3748:1;3745;3738:12;3688:64;3771:7;3761:17;;;3368:416;;;;;:::o;3789:388::-;3857:6;3865;3918:2;3906:9;3897:7;3893:23;3889:32;3886:52;;;3934:1;3931;3924:12;3886:52;3973:9;3960:23;3992:31;4017:5;3992:31;:::i;:::-;4042:5;-1:-1:-1;4099:2:1;4084:18;;4071:32;4112:33;4071:32;4112:33;:::i;4182:127::-;4243:10;4238:3;4234:20;4231:1;4224:31;4274:4;4271:1;4264:15;4298:4;4295:1;4288:15;4314:1121;4398:6;4429:2;4472;4460:9;4451:7;4447:23;4443:32;4440:52;;;4488:1;4485;4478:12;4440:52;4528:9;4515:23;4557:18;4598:2;4590:6;4587:14;4584:34;;;4614:1;4611;4604:12;4584:34;4652:6;4641:9;4637:22;4627:32;;4697:7;4690:4;4686:2;4682:13;4678:27;4668:55;;4719:1;4716;4709:12;4668:55;4755:2;4742:16;4777:2;4773;4770:10;4767:36;;;4783:18;;:::i;:::-;4829:2;4826:1;4822:10;4861:2;4855:9;4924:2;4920:7;4915:2;4911;4907:11;4903:25;4895:6;4891:38;4979:6;4967:10;4964:22;4959:2;4947:10;4944:18;4941:46;4938:72;;;4990:18;;:::i;:::-;5026:2;5019:22;5076:18;;;5110:15;;;;-1:-1:-1;5152:11:1;;;5148:20;;;5180:19;;;5177:39;;;5212:1;5209;5202:12;5177:39;5236:11;;;;5256:148;5272:6;5267:3;5264:15;5256:148;;;5338:23;5357:3;5338:23;:::i;:::-;5326:36;;5289:12;;;;5382;;;;5256:148;;;5423:6;4314:1121;-1:-1:-1;;;;;;;;4314:1121:1:o;5440:380::-;5519:1;5515:12;;;;5562;;;5583:61;;5637:4;5629:6;5625:17;5615:27;;5583:61;5690:2;5682:6;5679:14;5659:18;5656:38;5653:161;;;5736:10;5731:3;5727:20;5724:1;5717:31;5771:4;5768:1;5761:15;5799:4;5796:1;5789:15;5653:161;;5440:380;;;:::o;5825:356::-;6027:2;6009:21;;;6046:18;;;6039:30;6105:34;6100:2;6085:18;;6078:62;6172:2;6157:18;;5825:356::o;6186:127::-;6247:10;6242:3;6238:20;6235:1;6228:31;6278:4;6275:1;6268:15;6302:4;6299:1;6292:15;6318:128;6358:3;6389:1;6385:6;6382:1;6379:13;6376:39;;;6395:18;;:::i;:::-;-1:-1:-1;6431:9:1;;6318:128::o;7593:127::-;7654:10;7649:3;7645:20;7642:1;7635:31;7685:4;7682:1;7675:15;7709:4;7706:1;7699:15;7725:135;7764:3;-1:-1:-1;;7785:17:1;;7782:43;;;7805:18;;:::i;:::-;-1:-1:-1;7852:1:1;7841:13;;7725:135::o;9436:401::-;9638:2;9620:21;;;9677:2;9657:18;;;9650:30;9716:34;9711:2;9696:18;;9689:62;-1:-1:-1;;;9782:2:1;9767:18;;9760:35;9827:3;9812:19;;9436:401::o;9842:399::-;10044:2;10026:21;;;10083:2;10063:18;;;10056:30;10122:34;10117:2;10102:18;;10095:62;-1:-1:-1;;;10188:2:1;10173:18;;10166:33;10231:3;10216:19;;9842:399::o;12628:168::-;12668:7;12734:1;12730;12726:6;12722:14;12719:1;12716:21;12711:1;12704:9;12697:17;12693:45;12690:71;;;12741:18;;:::i;:::-;-1:-1:-1;12781:9:1;;12628:168::o;12801:217::-;12841:1;12867;12857:132;;12911:10;12906:3;12902:20;12899:1;12892:31;12946:4;12943:1;12936:15;12974:4;12971:1;12964:15;12857:132;-1:-1:-1;13003:9:1;;12801:217::o;13023:125::-;13063:4;13091:1;13088;13085:8;13082:34;;;13096:18;;:::i;:::-;-1:-1:-1;13133:9:1;;13023:125::o;14167:251::-;14237:6;14290:2;14278:9;14269:7;14265:23;14261:32;14258:52;;;14306:1;14303;14296:12;14258:52;14338:9;14332:16;14357:31;14382:5;14357:31;:::i;14423:980::-;14685:4;14733:3;14722:9;14718:19;14764:6;14753:9;14746:25;14790:2;14828:6;14823:2;14812:9;14808:18;14801:34;14871:3;14866:2;14855:9;14851:18;14844:31;14895:6;14930;14924:13;14961:6;14953;14946:22;14999:3;14988:9;14984:19;14977:26;;15038:2;15030:6;15026:15;15012:29;;15059:1;15069:195;15083:6;15080:1;15077:13;15069:195;;;15148:13;;-1:-1:-1;;;;;15144:39:1;15132:52;;15239:15;;;;15204:12;;;;15180:1;15098:9;15069:195;;;-1:-1:-1;;;;;;;15320:32:1;;;;15315:2;15300:18;;15293:60;-1:-1:-1;;;15384:3:1;15369:19;15362:35;15281:3;14423:980;-1:-1:-1;;;14423:980:1:o
Swarm Source
ipfs://302ca4d0300b3c35c112878e7569dd86dcfff2f9ec678681d4814c91d75e4a06
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.