ERC-20
Overview
Max Total Supply
1,000,000,000 SCARZY
Holders
6
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
13,566,186.185594435221265968 SCARZYValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Scarzy
Compiler Version
v0.8.6+commit.11564f7e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-02-03 */ // SPDX-License-Identifier: MIT // // Scarzy, the wolf of cryptocurrencies, is ready to howl its way into your wallet! // // https://scarzy.net/ // // https://t.me/scarzytoken // pragma solidity ^0.8.6; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, 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 from, address to, 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); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) internal balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return balances[account]; } function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, 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) { address owner = _msgSender(); _approve(owner, spender, amount); return true; } function transferFrom( address from, address to, uint256 amount ) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, spender, _allowances[owner][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { address owner = _msgSender(); uint256 currentAllowance = _allowances[owner][spender]; require( currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero" ); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } function _transfer( address from, address to, uint256 amount ) internal virtual { require(from != address(0), "ERC20: a from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); balanceseforeTokenTransfer(from, to, amount); uint256 fromBalance = balances[from]; require( fromBalance >= amount, "ERC20: transfer amount exceeds balance" ); unchecked { balances[from] = fromBalance - amount; } balances[to] += amount; emit Transfer(from, to, amount); _afterTokenTransfer(from, to, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); balanceseforeTokenTransfer(address(0), account, amount); _totalSupply += amount; balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function balancesurn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); balanceseforeTokenTransfer(account, address(0), amount); uint256 accountBalance = balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _spendAllowance( address owner, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require( currentAllowance >= amount, "ERC20: insufficient allowance" ); unchecked { _approve(owner, spender, currentAllowance - amount); } } } function balanceseforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } interface IUniswapV2Factory { event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 value ) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Mint(address indexed sender, uint256 amount0, uint256 amount1); event Burn( address indexed sender, uint256 amount0, uint256 amount1, address indexed to ); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns ( uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast ); function price0CumulativeLast() external view returns (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function mint(address to) external returns (uint256 liquidity); function burn(address to) external returns (uint256 amount0, uint256 amount1); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function removeLiquidity( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETH( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountToken, uint256 amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETHWithPermit( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountToken, uint256 amountETH); function swapExactTokensForTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapTokensForExactTokens( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactETHForTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function swapTokensForExactETH( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactTokensForETH( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapETHForExactTokens( uint256 amountOut, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function quote( uint256 amountA, uint256 reserveA, uint256 reserveB ) external pure returns (uint256 amountB); function getAmountOut( uint256 amountIn, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountOut); function getAmountIn( uint256 amountOut, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountIn); function getAmountsOut(uint256 amountIn, address[] calldata path) external view returns (uint256[] memory amounts); function getAmountsIn(uint256 amountOut, address[] calldata path) external view returns (uint256[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } contract Ownable is Context { address private _owner; uint256 private _lockTime; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ 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 SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // 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 (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } /* * @dev Contract starts here */ contract Scarzy is ERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private _swapping; address private _fw; address public burnAddress = address(0x000000000000000000000000000000000000dEaD); uint256 public bl; uint256 public sl; uint256 public mw; uint256 public swapTokensThreshold; bool public feesDisabled = false; bool public tradingLive = false; uint256 private _fundingFee = 3; uint256 private burnFee = 1; uint256 private _liquidityFee = 3; uint256 private _tokensForFunding; uint256 private _tokensForLiquidity; uint256 public totalFees = _fundingFee + _liquidityFee + burnFee; mapping(address => bool) private _isExcludedFromFees; mapping(address => bool) private _isExcludedMaxTransactionAmount; mapping(address => bool) private _automatedMarketMakerPairs; mapping(address => uint256) private _holderLastTransferBlock; constructor() payable ERC20("Scarzy Token", "SCARZY") { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); _isExcludedMaxTransactionAmount[address(_uniswapV2Router)] = true; uniswapV2Router = _uniswapV2Router; uint256 totalSupply = 1000000000000000000000000000; setLimits(20000000 ether, 20000000 ether, 20000000 ether); swapTokensThreshold = (totalSupply * 2) / 1000; _fw = owner(); excludeFromFees(owner(), true); excludeFromFees(address(this), true); excludeFromFees(address(0xdead), true); _isExcludedMaxTransactionAmount[owner()] = true; _isExcludedMaxTransactionAmount[address(this)] = true; _isExcludedMaxTransactionAmount[address(0xdead)] = true; _mint(address(this), totalSupply); } function addInitialLP() external onlyOwner { uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), uniswapV2Router.WETH() ); _isExcludedMaxTransactionAmount[address(uniswapV2Pair)] = true; _automatedMarketMakerPairs[address(uniswapV2Pair)] = true; _approve(address(this), address(uniswapV2Router), totalSupply()); uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), totalSupply(), 0, 0, owner(), block.timestamp ); } function enableTrading() external onlyOwner { tradingLive = true; } function excludeFromFees(address account, bool excluded) public onlyOwner { _isExcludedFromFees[account] = excluded; } function setLimits( uint256 balancesl, uint256 _sl, uint256 _mw ) public onlyOwner { bl = balancesl; sl = _sl; mw = _mw; } function setFeeState(bool state) external onlyOwner { feesDisabled = state; } function updateTeamWallet(address newWallet) external onlyOwner { _fw = newWallet; } function isExcludedFromFees(address account) external 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"); if (amount == 0) { super._transfer(from, to, 0); return; } // burn if (!_isExcludedFromFees[from] && !_isExcludedFromFees[to]) { uint256 burnAmount = amount.div(100) * burnFee; _transfer(from, burnAddress, burnAmount); amount -= burnAmount; } if ( from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !_swapping ) { if (!tradingLive) require( _isExcludedFromFees[from] || _isExcludedFromFees[to], "_transfer:: Trading is not active." ); // on buy if ( _automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to] ) { require( amount <= bl, "_transfer:: Buy transfer amount exceeds the maxTransactionAmount." ); require( amount + balanceOf(to) <= mw, "_transfer:: Max wallet exceeded" ); } // on sell else if ( _automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from] ) { require( amount <= sl, "_transfer:: Sell transfer amount exceeds the maxTransactionAmount." ); } else if (!_isExcludedMaxTransactionAmount[to]) { require( amount + balanceOf(to) <= mw, "_transfer:: Max wallet exceeded" ); } } if ( !_swapping && !_automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to] ) { _swapping = true; swapBack(); _swapping = false; } bool takeFee = !_swapping; // if any addy belongs to _isExcludedFromFee or isn't a swap then remove the fee if ( feesDisabled || _isExcludedFromFees[from] || _isExcludedFromFees[to] || (!_automatedMarketMakerPairs[from] && !_automatedMarketMakerPairs[to]) ) takeFee = false; uint256 fees = 0; if (takeFee) { fees = amount.mul(totalFees).div(100); _tokensForLiquidity += (fees * _liquidityFee) / totalFees; _tokensForFunding += (fees * _fundingFee) / totalFees; if (fees > 0) { super._transfer(from, address(this), fees); } amount -= fees; } super._transfer(from, to, amount); } function _swapTokensForETH(uint256 tokenAmount) internal { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function _addLiquidity(uint256 tokenAmount, uint256 ethAmount) internal { _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, 0, _fw, block.timestamp ); } function swapBack() internal { uint256 contractBalance = balanceOf(address(this)); uint256 totalTokensToSwap = _tokensForLiquidity + _tokensForFunding; if (contractBalance == 0) return; if (contractBalance > swapTokensThreshold) contractBalance = swapTokensThreshold; uint256 liquidityTokens = (contractBalance * _tokensForLiquidity) / totalTokensToSwap / 2; uint256 amountToSwapForETH = contractBalance.sub(liquidityTokens); uint256 initialETHBalance = address(this).balance; _swapTokensForETH(amountToSwapForETH); uint256 ethBalance = address(this).balance.sub(initialETHBalance); uint256 ethForFunding = ethBalance.mul(_tokensForFunding).div( totalTokensToSwap ); uint256 ethForLiquidity = ethBalance - ethForFunding; _tokensForFunding = 0; _tokensForLiquidity = 0; payable(_fw).transfer(ethForFunding); if (liquidityTokens > 0 && ethForLiquidity > 0) { _addLiquidity(liquidityTokens, ethForLiquidity); } } function withdrawContractFunds(address to, uint256 amountToTransfer) external onlyOwner { payable(to).transfer(amountToTransfer); } function forceSwap() external onlyOwner { _swapTokensForETH(balanceOf(address(this))); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"addInitialLP","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bl","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feesDisabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"forceSwap","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":"mw","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":[{"internalType":"bool","name":"state","type":"bool"}],"name":"setFeeState","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"balancesl","type":"uint256"},{"internalType":"uint256","name":"_sl","type":"uint256"},{"internalType":"uint256","name":"_mw","type":"uint256"}],"name":"setLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sl","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","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":"tradingLive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","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":"newWallet","type":"address"}],"name":"updateTeamWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amountToTransfer","type":"uint256"}],"name":"withdrawContractFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600a80546001600160a01b03191661dead179055600f805461ffff1916905560036010819055600160118190556012829055906200004390806200050b565b6200004f91906200050b565b601555604080518082018252600c81526b29b1b0b93d3c902a37b5b2b760a11b602080830191825283518085019094526006845265534341525a5960d01b908401528151919291620000a49160039162000465565b508051620000ba90600490602084019062000465565b5050506000620000cf620002a960201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d600081905260176020527f6ed4a2ad7fcc8c909e132e6944330e092422b135566df0c96615e85c6f709ad8805460ff19166001179055600780546001600160a01b031916821790556b033b2e3c9fd0803ce80000006200019f6a108b2a2c280290940000008080620002ad565b6103e8620001af82600262000549565b620001bb919062000526565b600e55600554600980546001600160a01b0319166001600160a01b039092169182179055620001ec9060016200030a565b620001f93060016200030a565b6200020861dead60016200030a565b600160176000620002216005546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff1995861617905530808252601790935290812080548416600190811790915561dead9091527f43fedf50e12e5c047fbe3576d03ab50250348e9a6030f531ab6d4ce10f5b0303805490931617909155620002a1908262000380565b5050620005be565b3390565b6005546001600160a01b03163314620002fc5760405162461bcd60e51b815260206004820181905260248201526000805160206200256783398151915260448201526064015b60405180910390fd5b600b92909255600c55600d55565b6005546001600160a01b03163314620003555760405162461bcd60e51b81526020600482018190526024820152600080516020620025678339815191526044820152606401620002f3565b6001600160a01b03919091166000908152601660205260409020805460ff1916911515919091179055565b6001600160a01b038216620003d85760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620002f3565b8060026000828254620003ec91906200050b565b90915550506001600160a01b038216600090815260208190526040812080548392906200041b9084906200050b565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b82805462000473906200056b565b90600052602060002090601f016020900481019282620004975760008555620004e2565b82601f10620004b257805160ff1916838001178555620004e2565b82800160010185558215620004e2579182015b82811115620004e2578251825591602001919060010190620004c5565b50620004f0929150620004f4565b5090565b5b80821115620004f05760008155600101620004f5565b60008219821115620005215762000521620005a8565b500190565b6000826200054457634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615620005665762000566620005a8565b500290565b600181811c908216806200058057607f821691505b60208210811415620005a257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b611f9980620005ce6000396000f3fe6080604052600436106101dc5760003560e01c8063715018a611610102578063a742d78c11610095578063cef8513911610064578063cef851391461054e578063dd62ed3e14610564578063df778d26146105aa578063f2fde38b146105bf57600080fd5b8063a742d78c146104d8578063a9059cbb146104ee578063bb5e048a1461050e578063c02466681461052e57600080fd5b80638a8c523c116100d15780638a8c523c146104705780638da5cb5b1461048557806395d89b41146104a3578063a457c2d7146104b857600080fd5b8063715018a61461040f5780637cb332bb146104245780637e95c6b414610444578063823571051461045a57600080fd5b80632e1888b81161017a578063572eeb2811610149578063572eeb281461037257806365cffb1e1461038757806370a08231146103a157806370d5ae05146103d757600080fd5b80632e1888b8146102dd578063313ce567146102fd57806339509351146103195780634fbee1931461033957600080fd5b806313114a9d116101b657806313114a9d1461026257806318160ddd14610286578063189ae5f21461029b57806323b872dd146102bd57600080fd5b806306fdde03146101e8578063095ea7b31461021357806311704f521461024357600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b506101fd6105df565b60405161020a9190611d36565b60405180910390f35b34801561021f57600080fd5b5061023361022e366004611c5a565b610671565b604051901515815260200161020a565b34801561024f57600080fd5b50600f5461023390610100900460ff1681565b34801561026e57600080fd5b5061027860155481565b60405190815260200161020a565b34801561029257600080fd5b50600254610278565b3480156102a757600080fd5b506102bb6102b6366004611ca1565b610689565b005b3480156102c957600080fd5b506102336102d8366004611be4565b6106ca565b3480156102e957600080fd5b506102bb6102f8366004611c5a565b6106ee565b34801561030957600080fd5b506040516012815260200161020a565b34801561032557600080fd5b50610233610334366004611c5a565b610753565b34801561034557600080fd5b50610233610354366004611b71565b6001600160a01b031660009081526016602052604090205460ff1690565b34801561037e57600080fd5b506102bb610792565b34801561039357600080fd5b50600f546102339060ff1681565b3480156103ad57600080fd5b506102786103bc366004611b71565b6001600160a01b031660009081526020819052604090205490565b3480156103e357600080fd5b50600a546103f7906001600160a01b031681565b6040516001600160a01b03909116815260200161020a565b34801561041b57600080fd5b506102bb610a64565b34801561043057600080fd5b506102bb61043f366004611b71565b610ad8565b34801561045057600080fd5b50610278600c5481565b34801561046657600080fd5b50610278600b5481565b34801561047c57600080fd5b506102bb610b24565b34801561049157600080fd5b506005546001600160a01b03166103f7565b3480156104af57600080fd5b506101fd610b5f565b3480156104c457600080fd5b506102336104d3366004611c5a565b610b6e565b3480156104e457600080fd5b50610278600d5481565b3480156104fa57600080fd5b50610233610509366004611c5a565b610c00565b34801561051a57600080fd5b506102bb610529366004611c86565b610c0e565b34801561053a57600080fd5b506102bb610549366004611c25565b610c4b565b34801561055a57600080fd5b50610278600e5481565b34801561057057600080fd5b5061027861057f366004611bab565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156105b657600080fd5b506102bb610ca0565b3480156105cb57600080fd5b506102bb6105da366004611b71565b610ce5565b6060600380546105ee90611ee4565b80601f016020809104026020016040519081016040528092919081815260200182805461061a90611ee4565b80156106675780601f1061063c57610100808354040283529160200191610667565b820191906000526020600020905b81548152906001019060200180831161064a57829003601f168201915b5050505050905090565b60003361067f818585610dd0565b5060019392505050565b6005546001600160a01b031633146106bc5760405162461bcd60e51b81526004016106b390611dce565b60405180910390fd5b600b92909255600c55600d55565b6000336106d8858285610ef4565b6106e3858585610f86565b506001949350505050565b6005546001600160a01b031633146107185760405162461bcd60e51b81526004016106b390611dce565b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561074e573d6000803e3d6000fd5b505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061067f908290869061078d908790611e74565b610dd0565b6005546001600160a01b031633146107bc5760405162461bcd60e51b81526004016106b390611dce565b600760009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561080a57600080fd5b505afa15801561081e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108429190611b8e565b6001600160a01b031663c9c6539630600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561089f57600080fd5b505afa1580156108b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d79190611b8e565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561091f57600080fd5b505af1158015610933573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109579190611b8e565b600880546001600160a01b0319166001600160a01b0392831690811782556000908152601760209081526040808320805460ff199081166001908117909255945486168452601890925290912080549092161790556007546002546109bf9230921690610dd0565b6007546001600160a01b031663f305d71947306109db60025490565b6000806109f06005546001600160a01b031690565b426040518863ffffffff1660e01b8152600401610a1296959493929190611cfb565b6060604051808303818588803b158015610a2b57600080fd5b505af1158015610a3f573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061074e9190611ccd565b6005546001600160a01b03163314610a8e5760405162461bcd60e51b81526004016106b390611dce565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610b025760405162461bcd60e51b81526004016106b390611dce565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610b4e5760405162461bcd60e51b81526004016106b390611dce565b600f805461ff001916610100179055565b6060600480546105ee90611ee4565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919083811015610bf35760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016106b3565b6106e38286868403610dd0565b60003361067f818585610f86565b6005546001600160a01b03163314610c385760405162461bcd60e51b81526004016106b390611dce565b600f805460ff1916911515919091179055565b6005546001600160a01b03163314610c755760405162461bcd60e51b81526004016106b390611dce565b6001600160a01b03919091166000908152601660205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610cca5760405162461bcd60e51b81526004016106b390611dce565b30600090815260208190526040902054610ce390611673565b565b6005546001600160a01b03163314610d0f5760405162461bcd60e51b81526004016106b390611dce565b6001600160a01b038116610d745760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106b3565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610e325760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106b3565b6001600160a01b038216610e935760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106b3565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114610f805781811015610f735760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106b3565b610f808484848403610dd0565b50505050565b6001600160a01b038316610fea5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106b3565b6001600160a01b0382166110105760405162461bcd60e51b81526004016106b390611d8b565b806110215761074e838360006117dc565b6001600160a01b03831660009081526016602052604090205460ff1615801561106357506001600160a01b03821660009081526016602052604090205460ff16155b156110ac57601154600090611079836064611960565b6110839190611eae565b600a5490915061109e9085906001600160a01b031683610f86565b6110a88183611ecd565b9150505b6005546001600160a01b038481169116148015906110d857506005546001600160a01b03838116911614155b80156110ec57506001600160a01b03821615155b801561110357506001600160a01b03821661dead14155b80156111195750600854600160a01b900460ff16155b1561146157600f54610100900460ff166111c3576001600160a01b03831660009081526016602052604090205460ff168061116c57506001600160a01b03821660009081526016602052604090205460ff165b6111c35760405162461bcd60e51b815260206004820152602260248201527f5f7472616e736665723a3a2054726164696e67206973206e6f74206163746976604482015261329760f11b60648201526084016106b3565b6001600160a01b03831660009081526018602052604090205460ff16801561120457506001600160a01b03821660009081526017602052604090205460ff16155b1561130457600b5481111561128b5760405162461bcd60e51b815260206004820152604160248201527f5f7472616e736665723a3a20427579207472616e7366657220616d6f756e742060448201527f6578636565647320746865206d61785472616e73616374696f6e416d6f756e746064820152601760f91b608482015260a4016106b3565b600d546001600160a01b0383166000908152602081905260409020546112b19083611e74565b11156112ff5760405162461bcd60e51b815260206004820152601f60248201527f5f7472616e736665723a3a204d61782077616c6c65742065786365656465640060448201526064016106b3565b611461565b6001600160a01b03821660009081526018602052604090205460ff16801561134557506001600160a01b03831660009081526017602052604090205460ff16155b156113cd57600c548111156112ff5760405162461bcd60e51b815260206004820152604260248201527f5f7472616e736665723a3a2053656c6c207472616e7366657220616d6f756e7460448201527f206578636565647320746865206d61785472616e73616374696f6e416d6f756e6064820152613a1760f11b608482015260a4016106b3565b6001600160a01b03821660009081526017602052604090205460ff1661146157600d546001600160a01b0383166000908152602081905260409020546114139083611e74565b11156114615760405162461bcd60e51b815260206004820152601f60248201527f5f7472616e736665723a3a204d61782077616c6c65742065786365656465640060448201526064016106b3565b600854600160a01b900460ff1615801561149457506001600160a01b03831660009081526018602052604090205460ff16155b80156114b957506001600160a01b03831660009081526016602052604090205460ff16155b80156114de57506001600160a01b03821660009081526016602052604090205460ff16155b1561150c576008805460ff60a01b1916600160a01b1790556114fe611973565b6008805460ff60a01b191690555b600854600f5460ff600160a01b90920482161591168061154457506001600160a01b03841660009081526016602052604090205460ff165b8061156757506001600160a01b03831660009081526016602052604090205460ff165b806115af57506001600160a01b03841660009081526018602052604090205460ff161580156115af57506001600160a01b03831660009081526018602052604090205460ff16155b156115b8575060005b60008115611661576115e060646115da60155486611a9a90919063ffffffff16565b90611960565b9050601554601254826115f39190611eae565b6115fd9190611e8c565b6014600082825461160e9190611e74565b90915550506015546010546116239083611eae565b61162d9190611e8c565b6013600082825461163e9190611e74565b90915550508015611654576116548530836117dc565b61165e8184611ecd565b92505b61166c8585856117dc565b5050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106116a8576116a8611f35565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156116fc57600080fd5b505afa158015611710573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117349190611b8e565b8160018151811061174757611747611f35565b6001600160a01b03928316602091820292909201015260075461176d9130911684610dd0565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac947906117a6908590600090869030904290600401611e03565b600060405180830381600087803b1580156117c057600080fd5b505af11580156117d4573d6000803e3d6000fd5b505050505050565b6001600160a01b0383166118325760405162461bcd60e51b815260206004820152601e60248201527f45524332303a20612066726f6d20746865207a65726f2061646472657373000060448201526064016106b3565b6001600160a01b0382166118585760405162461bcd60e51b81526004016106b390611d8b565b6001600160a01b038316600090815260208190526040902054818110156118d05760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016106b3565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611907908490611e74565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161195391815260200190565b60405180910390a3610f80565b600061196c8284611e8c565b9392505050565b30600090815260208190526040812054905060006013546014546119979190611e74565b9050816119a2575050565b600e548211156119b257600e5491505b6000600282601454856119c59190611eae565b6119cf9190611e8c565b6119d99190611e8c565b905060006119e78483611aa6565b9050476119f382611673565b60006119ff4783611aa6565b90506000611a1c866115da60135485611a9a90919063ffffffff16565b90506000611a2a8284611ecd565b6000601381905560148190556009546040519293506001600160a01b03169184156108fc0291859190818181858888f19350505050158015611a70573d6000803e3d6000fd5b50600086118015611a815750600081115b15611a9057611a908682611ab2565b5050505050505050565b600061196c8284611eae565b600061196c8284611ecd565b600754611aca9030906001600160a01b031684610dd0565b60075460095460405163f305d71960e01b81526001600160a01b039283169263f305d719928592611b0a9230928992600092839216904290600401611cfb565b6060604051808303818588803b158015611b2357600080fd5b505af1158015611b37573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061166c9190611ccd565b80358015158114611b6c57600080fd5b919050565b600060208284031215611b8357600080fd5b813561196c81611f4b565b600060208284031215611ba057600080fd5b815161196c81611f4b565b60008060408385031215611bbe57600080fd5b8235611bc981611f4b565b91506020830135611bd981611f4b565b809150509250929050565b600080600060608486031215611bf957600080fd5b8335611c0481611f4b565b92506020840135611c1481611f4b565b929592945050506040919091013590565b60008060408385031215611c3857600080fd5b8235611c4381611f4b565b9150611c5160208401611b5c565b90509250929050565b60008060408385031215611c6d57600080fd5b8235611c7881611f4b565b946020939093013593505050565b600060208284031215611c9857600080fd5b61196c82611b5c565b600080600060608486031215611cb657600080fd5b505081359360208301359350604090920135919050565b600080600060608486031215611ce257600080fd5b8351925060208401519150604084015190509250925092565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600060208083528351808285015260005b81811015611d6357858101830151858201604001528201611d47565b81811115611d75576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e535784516001600160a01b031683529383019391830191600101611e2e565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611e8757611e87611f1f565b500190565b600082611ea957634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611ec857611ec8611f1f565b500290565b600082821015611edf57611edf611f1f565b500390565b600181811c90821680611ef857607f821691505b60208210811415611f1957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114611f6057600080fd5b5056fea26469706673582212202fbd529c9a2993e83fbeb8e53ef08288caaa91761ad75227b594b8da624da2b864736f6c634300080600334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
Deployed Bytecode
0x6080604052600436106101dc5760003560e01c8063715018a611610102578063a742d78c11610095578063cef8513911610064578063cef851391461054e578063dd62ed3e14610564578063df778d26146105aa578063f2fde38b146105bf57600080fd5b8063a742d78c146104d8578063a9059cbb146104ee578063bb5e048a1461050e578063c02466681461052e57600080fd5b80638a8c523c116100d15780638a8c523c146104705780638da5cb5b1461048557806395d89b41146104a3578063a457c2d7146104b857600080fd5b8063715018a61461040f5780637cb332bb146104245780637e95c6b414610444578063823571051461045a57600080fd5b80632e1888b81161017a578063572eeb2811610149578063572eeb281461037257806365cffb1e1461038757806370a08231146103a157806370d5ae05146103d757600080fd5b80632e1888b8146102dd578063313ce567146102fd57806339509351146103195780634fbee1931461033957600080fd5b806313114a9d116101b657806313114a9d1461026257806318160ddd14610286578063189ae5f21461029b57806323b872dd146102bd57600080fd5b806306fdde03146101e8578063095ea7b31461021357806311704f521461024357600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b506101fd6105df565b60405161020a9190611d36565b60405180910390f35b34801561021f57600080fd5b5061023361022e366004611c5a565b610671565b604051901515815260200161020a565b34801561024f57600080fd5b50600f5461023390610100900460ff1681565b34801561026e57600080fd5b5061027860155481565b60405190815260200161020a565b34801561029257600080fd5b50600254610278565b3480156102a757600080fd5b506102bb6102b6366004611ca1565b610689565b005b3480156102c957600080fd5b506102336102d8366004611be4565b6106ca565b3480156102e957600080fd5b506102bb6102f8366004611c5a565b6106ee565b34801561030957600080fd5b506040516012815260200161020a565b34801561032557600080fd5b50610233610334366004611c5a565b610753565b34801561034557600080fd5b50610233610354366004611b71565b6001600160a01b031660009081526016602052604090205460ff1690565b34801561037e57600080fd5b506102bb610792565b34801561039357600080fd5b50600f546102339060ff1681565b3480156103ad57600080fd5b506102786103bc366004611b71565b6001600160a01b031660009081526020819052604090205490565b3480156103e357600080fd5b50600a546103f7906001600160a01b031681565b6040516001600160a01b03909116815260200161020a565b34801561041b57600080fd5b506102bb610a64565b34801561043057600080fd5b506102bb61043f366004611b71565b610ad8565b34801561045057600080fd5b50610278600c5481565b34801561046657600080fd5b50610278600b5481565b34801561047c57600080fd5b506102bb610b24565b34801561049157600080fd5b506005546001600160a01b03166103f7565b3480156104af57600080fd5b506101fd610b5f565b3480156104c457600080fd5b506102336104d3366004611c5a565b610b6e565b3480156104e457600080fd5b50610278600d5481565b3480156104fa57600080fd5b50610233610509366004611c5a565b610c00565b34801561051a57600080fd5b506102bb610529366004611c86565b610c0e565b34801561053a57600080fd5b506102bb610549366004611c25565b610c4b565b34801561055a57600080fd5b50610278600e5481565b34801561057057600080fd5b5061027861057f366004611bab565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156105b657600080fd5b506102bb610ca0565b3480156105cb57600080fd5b506102bb6105da366004611b71565b610ce5565b6060600380546105ee90611ee4565b80601f016020809104026020016040519081016040528092919081815260200182805461061a90611ee4565b80156106675780601f1061063c57610100808354040283529160200191610667565b820191906000526020600020905b81548152906001019060200180831161064a57829003601f168201915b5050505050905090565b60003361067f818585610dd0565b5060019392505050565b6005546001600160a01b031633146106bc5760405162461bcd60e51b81526004016106b390611dce565b60405180910390fd5b600b92909255600c55600d55565b6000336106d8858285610ef4565b6106e3858585610f86565b506001949350505050565b6005546001600160a01b031633146107185760405162461bcd60e51b81526004016106b390611dce565b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561074e573d6000803e3d6000fd5b505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061067f908290869061078d908790611e74565b610dd0565b6005546001600160a01b031633146107bc5760405162461bcd60e51b81526004016106b390611dce565b600760009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561080a57600080fd5b505afa15801561081e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108429190611b8e565b6001600160a01b031663c9c6539630600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561089f57600080fd5b505afa1580156108b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d79190611b8e565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561091f57600080fd5b505af1158015610933573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109579190611b8e565b600880546001600160a01b0319166001600160a01b0392831690811782556000908152601760209081526040808320805460ff199081166001908117909255945486168452601890925290912080549092161790556007546002546109bf9230921690610dd0565b6007546001600160a01b031663f305d71947306109db60025490565b6000806109f06005546001600160a01b031690565b426040518863ffffffff1660e01b8152600401610a1296959493929190611cfb565b6060604051808303818588803b158015610a2b57600080fd5b505af1158015610a3f573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061074e9190611ccd565b6005546001600160a01b03163314610a8e5760405162461bcd60e51b81526004016106b390611dce565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610b025760405162461bcd60e51b81526004016106b390611dce565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610b4e5760405162461bcd60e51b81526004016106b390611dce565b600f805461ff001916610100179055565b6060600480546105ee90611ee4565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919083811015610bf35760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016106b3565b6106e38286868403610dd0565b60003361067f818585610f86565b6005546001600160a01b03163314610c385760405162461bcd60e51b81526004016106b390611dce565b600f805460ff1916911515919091179055565b6005546001600160a01b03163314610c755760405162461bcd60e51b81526004016106b390611dce565b6001600160a01b03919091166000908152601660205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610cca5760405162461bcd60e51b81526004016106b390611dce565b30600090815260208190526040902054610ce390611673565b565b6005546001600160a01b03163314610d0f5760405162461bcd60e51b81526004016106b390611dce565b6001600160a01b038116610d745760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106b3565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610e325760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106b3565b6001600160a01b038216610e935760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106b3565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114610f805781811015610f735760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106b3565b610f808484848403610dd0565b50505050565b6001600160a01b038316610fea5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106b3565b6001600160a01b0382166110105760405162461bcd60e51b81526004016106b390611d8b565b806110215761074e838360006117dc565b6001600160a01b03831660009081526016602052604090205460ff1615801561106357506001600160a01b03821660009081526016602052604090205460ff16155b156110ac57601154600090611079836064611960565b6110839190611eae565b600a5490915061109e9085906001600160a01b031683610f86565b6110a88183611ecd565b9150505b6005546001600160a01b038481169116148015906110d857506005546001600160a01b03838116911614155b80156110ec57506001600160a01b03821615155b801561110357506001600160a01b03821661dead14155b80156111195750600854600160a01b900460ff16155b1561146157600f54610100900460ff166111c3576001600160a01b03831660009081526016602052604090205460ff168061116c57506001600160a01b03821660009081526016602052604090205460ff165b6111c35760405162461bcd60e51b815260206004820152602260248201527f5f7472616e736665723a3a2054726164696e67206973206e6f74206163746976604482015261329760f11b60648201526084016106b3565b6001600160a01b03831660009081526018602052604090205460ff16801561120457506001600160a01b03821660009081526017602052604090205460ff16155b1561130457600b5481111561128b5760405162461bcd60e51b815260206004820152604160248201527f5f7472616e736665723a3a20427579207472616e7366657220616d6f756e742060448201527f6578636565647320746865206d61785472616e73616374696f6e416d6f756e746064820152601760f91b608482015260a4016106b3565b600d546001600160a01b0383166000908152602081905260409020546112b19083611e74565b11156112ff5760405162461bcd60e51b815260206004820152601f60248201527f5f7472616e736665723a3a204d61782077616c6c65742065786365656465640060448201526064016106b3565b611461565b6001600160a01b03821660009081526018602052604090205460ff16801561134557506001600160a01b03831660009081526017602052604090205460ff16155b156113cd57600c548111156112ff5760405162461bcd60e51b815260206004820152604260248201527f5f7472616e736665723a3a2053656c6c207472616e7366657220616d6f756e7460448201527f206578636565647320746865206d61785472616e73616374696f6e416d6f756e6064820152613a1760f11b608482015260a4016106b3565b6001600160a01b03821660009081526017602052604090205460ff1661146157600d546001600160a01b0383166000908152602081905260409020546114139083611e74565b11156114615760405162461bcd60e51b815260206004820152601f60248201527f5f7472616e736665723a3a204d61782077616c6c65742065786365656465640060448201526064016106b3565b600854600160a01b900460ff1615801561149457506001600160a01b03831660009081526018602052604090205460ff16155b80156114b957506001600160a01b03831660009081526016602052604090205460ff16155b80156114de57506001600160a01b03821660009081526016602052604090205460ff16155b1561150c576008805460ff60a01b1916600160a01b1790556114fe611973565b6008805460ff60a01b191690555b600854600f5460ff600160a01b90920482161591168061154457506001600160a01b03841660009081526016602052604090205460ff165b8061156757506001600160a01b03831660009081526016602052604090205460ff165b806115af57506001600160a01b03841660009081526018602052604090205460ff161580156115af57506001600160a01b03831660009081526018602052604090205460ff16155b156115b8575060005b60008115611661576115e060646115da60155486611a9a90919063ffffffff16565b90611960565b9050601554601254826115f39190611eae565b6115fd9190611e8c565b6014600082825461160e9190611e74565b90915550506015546010546116239083611eae565b61162d9190611e8c565b6013600082825461163e9190611e74565b90915550508015611654576116548530836117dc565b61165e8184611ecd565b92505b61166c8585856117dc565b5050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106116a8576116a8611f35565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156116fc57600080fd5b505afa158015611710573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117349190611b8e565b8160018151811061174757611747611f35565b6001600160a01b03928316602091820292909201015260075461176d9130911684610dd0565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac947906117a6908590600090869030904290600401611e03565b600060405180830381600087803b1580156117c057600080fd5b505af11580156117d4573d6000803e3d6000fd5b505050505050565b6001600160a01b0383166118325760405162461bcd60e51b815260206004820152601e60248201527f45524332303a20612066726f6d20746865207a65726f2061646472657373000060448201526064016106b3565b6001600160a01b0382166118585760405162461bcd60e51b81526004016106b390611d8b565b6001600160a01b038316600090815260208190526040902054818110156118d05760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016106b3565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611907908490611e74565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161195391815260200190565b60405180910390a3610f80565b600061196c8284611e8c565b9392505050565b30600090815260208190526040812054905060006013546014546119979190611e74565b9050816119a2575050565b600e548211156119b257600e5491505b6000600282601454856119c59190611eae565b6119cf9190611e8c565b6119d99190611e8c565b905060006119e78483611aa6565b9050476119f382611673565b60006119ff4783611aa6565b90506000611a1c866115da60135485611a9a90919063ffffffff16565b90506000611a2a8284611ecd565b6000601381905560148190556009546040519293506001600160a01b03169184156108fc0291859190818181858888f19350505050158015611a70573d6000803e3d6000fd5b50600086118015611a815750600081115b15611a9057611a908682611ab2565b5050505050505050565b600061196c8284611eae565b600061196c8284611ecd565b600754611aca9030906001600160a01b031684610dd0565b60075460095460405163f305d71960e01b81526001600160a01b039283169263f305d719928592611b0a9230928992600092839216904290600401611cfb565b6060604051808303818588803b158015611b2357600080fd5b505af1158015611b37573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061166c9190611ccd565b80358015158114611b6c57600080fd5b919050565b600060208284031215611b8357600080fd5b813561196c81611f4b565b600060208284031215611ba057600080fd5b815161196c81611f4b565b60008060408385031215611bbe57600080fd5b8235611bc981611f4b565b91506020830135611bd981611f4b565b809150509250929050565b600080600060608486031215611bf957600080fd5b8335611c0481611f4b565b92506020840135611c1481611f4b565b929592945050506040919091013590565b60008060408385031215611c3857600080fd5b8235611c4381611f4b565b9150611c5160208401611b5c565b90509250929050565b60008060408385031215611c6d57600080fd5b8235611c7881611f4b565b946020939093013593505050565b600060208284031215611c9857600080fd5b61196c82611b5c565b600080600060608486031215611cb657600080fd5b505081359360208301359350604090920135919050565b600080600060608486031215611ce257600080fd5b8351925060208401519150604084015190509250925092565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600060208083528351808285015260005b81811015611d6357858101830151858201604001528201611d47565b81811115611d75576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e535784516001600160a01b031683529383019391830191600101611e2e565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611e8757611e87611f1f565b500190565b600082611ea957634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611ec857611ec8611f1f565b500290565b600082821015611edf57611edf611f1f565b500390565b600181811c90821680611ef857607f821691505b60208210811415611f1957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114611f6057600080fd5b5056fea26469706673582212202fbd529c9a2993e83fbeb8e53ef08288caaa91761ad75227b594b8da624da2b864736f6c63430008060033
Deployed Bytecode Sourcemap
21091:8975:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1868:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2940:242;;;;;;;;;;-1:-1:-1;2940:242:0;;;;;:::i;:::-;;:::i;:::-;;;4292:14:1;;4285:22;4267:41;;4255:2;4240:18;2940:242:0;4222:92:1;21560:31:0;;;;;;;;;;-1:-1:-1;21560:31:0;;;;;;;;;;;21801:64;;;;;;;;;;;;;;;;;;;10695:25:1;;;10683:2;10668:18;21801:64:0;10650:76:1;2189:108:0;;;;;;;;;;-1:-1:-1;2277:12:0;;2189:108;;23970:186;;;;;;;;;;-1:-1:-1;23970:186:0;;;;;:::i;:::-;;:::i;:::-;;3190:295;;;;;;;;;;-1:-1:-1;3190:295:0;;;;;:::i;:::-;;:::i;29748:168::-;;;;;;;;;;-1:-1:-1;29748:168:0;;;;;:::i;:::-;;:::i;2088:93::-;;;;;;;;;;-1:-1:-1;2088:93:0;;2171:2;11858:36:1;;11846:2;11831:18;2088:93:0;11813:87:1;3493:272:0;;;;;;;;;;-1:-1:-1;3493:272:0;;;;;:::i;:::-;;:::i;24369:128::-;;;;;;;;;;-1:-1:-1;24369:128:0;;;;;:::i;:::-;-1:-1:-1;;;;;24461:28:0;24437:4;24461:28;;;:19;:28;;;;;;;;;24369:128;23048:662;;;;;;;;;;;;;:::i;21521:32::-;;;;;;;;;;-1:-1:-1;21521:32:0;;;;;;;;2305:176;;;;;;;;;;-1:-1:-1;2305:176:0;;;;;:::i;:::-;-1:-1:-1;;;;;2456:17:0;2424:7;2456:17;;;;;;;;;;;;2305:176;21305:89;;;;;;;;;;-1:-1:-1;21305:89:0;;;;-1:-1:-1;;;;;21305:89:0;;;;;;-1:-1:-1;;;;;3162:32:1;;;3144:51;;3132:2;3117:18;21305:89:0;3099:102:1;17692:148:0;;;;;;;;;;;;;:::i;24263:98::-;;;;;;;;;;-1:-1:-1;24263:98:0;;;;;:::i;:::-;;:::i;21425:17::-;;;;;;;;;;;;;;;;21401;;;;;;;;;;;;;;;;23718:81;;;;;;;;;;;;;:::i;17056:79::-;;;;;;;;;;-1:-1:-1;17121:6:0;;-1:-1:-1;;;;;17121:6:0;17056:79;;1976:104;;;;;;;;;;;;;:::i;3773:507::-;;;;;;;;;;-1:-1:-1;3773:507:0;;;;;:::i;:::-;;:::i;21449:17::-;;;;;;;;;;;;;;;;2489:234;;;;;;;;;;-1:-1:-1;2489:234:0;;;;;:::i;:::-;;:::i;24164:91::-;;;;;;;;;;-1:-1:-1;24164:91:0;;;;;:::i;:::-;;:::i;23807:155::-;;;;;;;;;;-1:-1:-1;23807:155:0;;;;;:::i;:::-;;:::i;21473:34::-;;;;;;;;;;;;;;;;2731:201;;;;;;;;;;-1:-1:-1;2731:201:0;;;;;:::i;:::-;-1:-1:-1;;;;;2897:18:0;;;2865:7;2897:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2731:201;29924:102;;;;;;;;;;;;;:::i;17995:244::-;;;;;;;;;;-1:-1:-1;17995:244:0;;;;;:::i;:::-;;:::i;1868:100::-;1922:13;1955:5;1948:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1868:100;:::o;2940:242::-;3059:4;1328:10;3120:32;1328:10;3136:7;3145:6;3120:8;:32::i;:::-;-1:-1:-1;3170:4:0;;2940:242;-1:-1:-1;;;2940:242:0:o;23970:186::-;17268:6;;-1:-1:-1;;;;;17268:6:0;1328:10;17268:22;17260:67;;;;-1:-1:-1;;;17260:67:0;;;;;;;:::i;:::-;;;;;;;;;24096:2:::1;:14:::0;;;;24121:2:::1;:8:::0;24140:2:::1;:8:::0;23970:186::o;3190:295::-;3321:4;1328:10;3379:38;3395:4;1328:10;3410:6;3379:15;:38::i;:::-;3428:27;3438:4;3444:2;3448:6;3428:9;:27::i;:::-;-1:-1:-1;3473:4:0;;3190:295;-1:-1:-1;;;;3190:295:0:o;29748:168::-;17268:6;;-1:-1:-1;;;;;17268:6:0;1328:10;17268:22;17260:67;;;;-1:-1:-1;;;17260:67:0;;;;;;;:::i;:::-;29870:38:::1;::::0;-1:-1:-1;;;;;29870:20:0;::::1;::::0;:38;::::1;;;::::0;29891:16;;29870:38:::1;::::0;;;29891:16;29870:20;:38;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;29748:168:::0;;:::o;3493:272::-;1328:10;3608:4;3694:18;;;:11;:18;;;;;;;;-1:-1:-1;;;;;3694:27:0;;;;;;;;;;3608:4;;1328:10;3669:66;;1328:10;;3694:27;;:40;;3724:10;;3694:40;:::i;:::-;3669:8;:66::i;23048:662::-;17268:6;;-1:-1:-1;;;;;17268:6:0;1328:10;17268:22;17260:67;;;;-1:-1:-1;;;17260:67:0;;;;;;;:::i;:::-;23136:15:::1;;;;;;;;;-1:-1:-1::0;;;;;23136:15:0::1;-1:-1:-1::0;;;;;23136:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;23118:55:0::1;;23200:4;23224:15;;;;;;;;;-1:-1:-1::0;;;;;23224:15:0::1;-1:-1:-1::0;;;;;23224:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23118:143;::::0;-1:-1:-1;;;;;;23118:143:0::1;::::0;;;;;;-1:-1:-1;;;;;3436:15:1;;;23118:143:0::1;::::0;::::1;3418:34:1::0;3488:15;;3468:18;;;3461:43;3353:18;;23118:143:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23102:13;:159:::0;;-1:-1:-1;;;;;;23102:159:0::1;-1:-1:-1::0;;;;;23102:159:0;;::::1;::::0;;::::1;::::0;;-1:-1:-1;23272:55:0;;;:31:::1;:55;::::0;;;;;;;:62;;-1:-1:-1;;23272:62:0;;::::1;-1:-1:-1::0;23272:62:0;;::::1;::::0;;;23380:13;;;::::1;23345:50:::0;;:26:::1;:50:::0;;;;;;:57;;;;::::1;;::::0;;23447:15:::1;::::0;2277:12;;23415:64:::1;::::0;23432:4:::1;::::0;23447:15:::1;::::0;3669:8;:66::i;23415:64::-:1;23490:15;::::0;-1:-1:-1;;;;;23490:15:0::1;:31;23529:21;23574:4;23594:13;2277:12:::0;;;2189:108;23594:13:::1;23622:1;23638::::0;23654:7:::1;17121:6:::0;;-1:-1:-1;;;;;17121:6:0;;17056:79;23654:7:::1;23676:15;23490:212;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;17692:148::-:0;17268:6;;-1:-1:-1;;;;;17268:6:0;1328:10;17268:22;17260:67;;;;-1:-1:-1;;;17260:67:0;;;;;;;:::i;:::-;17783:6:::1;::::0;17762:40:::1;::::0;17799:1:::1;::::0;-1:-1:-1;;;;;17783:6:0::1;::::0;17762:40:::1;::::0;17799:1;;17762:40:::1;17813:6;:19:::0;;-1:-1:-1;;;;;;17813:19:0::1;::::0;;17692:148::o;24263:98::-;17268:6;;-1:-1:-1;;;;;17268:6:0;1328:10;17268:22;17260:67;;;;-1:-1:-1;;;17260:67:0;;;;;;;:::i;:::-;24338:3:::1;:15:::0;;-1:-1:-1;;;;;;24338:15:0::1;-1:-1:-1::0;;;;;24338:15:0;;;::::1;::::0;;;::::1;::::0;;24263:98::o;23718:81::-;17268:6;;-1:-1:-1;;;;;17268:6:0;1328:10;17268:22;17260:67;;;;-1:-1:-1;;;17260:67:0;;;;;;;:::i;:::-;23773:11:::1;:18:::0;;-1:-1:-1;;23773:18:0::1;;;::::0;;23718:81::o;1976:104::-;2032:13;2065:7;2058:14;;;;;:::i;3773:507::-;1328:10;3893:4;3981:18;;;:11;:18;;;;;;;;-1:-1:-1;;;;;3981:27:0;;;;;;;;;;3893:4;;1328:10;4041:35;;;;4019:122;;;;-1:-1:-1;;;4019:122:0;;10345:2:1;4019:122:0;;;10327:21:1;10384:2;10364:18;;;10357:30;10423:34;10403:18;;;10396:62;-1:-1:-1;;;10474:18:1;;;10467:35;10519:19;;4019:122:0;10317:227:1;4019:122:0;4177:60;4186:5;4193:7;4221:15;4202:16;:34;4177:8;:60::i;2489:234::-;2604:4;1328:10;2665:28;1328:10;2682:2;2686:6;2665:9;:28::i;24164:91::-;17268:6;;-1:-1:-1;;;;;17268:6:0;1328:10;17268:22;17260:67;;;;-1:-1:-1;;;17260:67:0;;;;;;;:::i;:::-;24227:12:::1;:20:::0;;-1:-1:-1;;24227:20:0::1;::::0;::::1;;::::0;;;::::1;::::0;;24164:91::o;23807:155::-;17268:6;;-1:-1:-1;;;;;17268:6:0;1328:10;17268:22;17260:67;;;;-1:-1:-1;;;17260:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23915:28:0;;;::::1;;::::0;;;:19:::1;:28;::::0;;;;:39;;-1:-1:-1;;23915:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;23807:155::o;29924:102::-;17268:6;;-1:-1:-1;;;;;17268:6:0;1328:10;17268:22;17260:67;;;;-1:-1:-1;;;17260:67:0;;;;;;;:::i;:::-;30011:4:::1;2424:7:::0;2456:17;;;;;;;;;;;29975:43:::1;::::0;:17:::1;:43::i;:::-;29924:102::o:0;17995:244::-;17268:6;;-1:-1:-1;;;;;17268:6:0;1328:10;17268:22;17260:67;;;;-1:-1:-1;;;17260:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18084:22:0;::::1;18076:73;;;::::0;-1:-1:-1;;;18076:73:0;;5527:2:1;18076:73:0::1;::::0;::::1;5509:21:1::0;5566:2;5546:18;;;5539:30;5605:34;5585:18;;;5578:62;-1:-1:-1;;;5656:18:1;;;5649:36;5702:19;;18076:73:0::1;5499:228:1::0;18076:73:0::1;18186:6;::::0;18165:38:::1;::::0;-1:-1:-1;;;;;18165:38:0;;::::1;::::0;18186:6:::1;::::0;18165:38:::1;::::0;18186:6:::1;::::0;18165:38:::1;18214:6;:17:::0;;-1:-1:-1;;;;;;18214:17:0::1;-1:-1:-1::0;;;;;18214:17:0;;;::::1;::::0;;;::::1;::::0;;17995:244::o;6021:380::-;-1:-1:-1;;;;;6157:19:0;;6149:68;;;;-1:-1:-1;;;6149:68:0;;9106:2:1;6149:68:0;;;9088:21:1;9145:2;9125:18;;;9118:30;9184:34;9164:18;;;9157:62;-1:-1:-1;;;9235:18:1;;;9228:34;9279:19;;6149:68:0;9078:226:1;6149:68:0;-1:-1:-1;;;;;6236:21:0;;6228:68;;;;-1:-1:-1;;;6228:68:0;;5934:2:1;6228:68:0;;;5916:21:1;5973:2;5953:18;;;5946:30;6012:34;5992:18;;;5985:62;-1:-1:-1;;;6063:18:1;;;6056:32;6105:19;;6228:68:0;5906:224:1;6228:68:0;-1:-1:-1;;;;;6309:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6361:32;;10695:25:1;;;6361:32:0;;10668:18:1;6361:32:0;;;;;;;6021:380;;;:::o;6409:502::-;-1:-1:-1;;;;;2897:18:0;;;6544:24;2897:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;6611:37:0;;6607:297;;6711:6;6691:16;:26;;6665:117;;;;-1:-1:-1;;;6665:117:0;;6337:2:1;6665:117:0;;;6319:21:1;6376:2;6356:18;;;6349:30;6415:31;6395:18;;;6388:59;6464:18;;6665:117:0;6309:179:1;6665:117:0;6826:51;6835:5;6842:7;6870:6;6851:16;:25;6826:8;:51::i;:::-;6533:378;6409:502;;;:::o;24505:3226::-;-1:-1:-1;;;;;24637:18:0;;24629:68;;;;-1:-1:-1;;;24629:68:0;;8700:2:1;24629:68:0;;;8682:21:1;8739:2;8719:18;;;8712:30;8778:34;8758:18;;;8751:62;-1:-1:-1;;;8829:18:1;;;8822:35;8874:19;;24629:68:0;8672:227:1;24629:68:0;-1:-1:-1;;;;;24716:16:0;;24708:64;;;;-1:-1:-1;;;24708:64:0;;;;;;;:::i;:::-;24789:11;24785:93;;24817:28;24833:4;24839:2;24843:1;24817:15;:28::i;24785:93::-;-1:-1:-1;;;;;24912:25:0;;;;;;:19;:25;;;;;;;;24911:26;:54;;;;-1:-1:-1;;;;;;24942:23:0;;;;;;:19;:23;;;;;;;;24941:24;24911:54;24907:223;;;25021:7;;24982:18;;25003:15;:6;25014:3;25003:10;:15::i;:::-;:25;;;;:::i;:::-;25059:11;;24982:46;;-1:-1:-1;25043:40:0;;25053:4;;-1:-1:-1;;;;;25059:11:0;24982:46;25043:9;:40::i;:::-;25098:20;25108:10;25098:20;;:::i;:::-;;;24967:163;24907:223;17121:6;;-1:-1:-1;;;;;25160:15:0;;;17121:6;;25160:15;;;;:45;;-1:-1:-1;17121:6:0;;-1:-1:-1;;;;;25192:13:0;;;17121:6;;25192:13;;25160:45;:78;;;;-1:-1:-1;;;;;;25222:16:0;;;;25160:78;:116;;;;-1:-1:-1;;;;;;25255:21:0;;25269:6;25255:21;;25160:116;:143;;;;-1:-1:-1;25294:9:0;;-1:-1:-1;;;25294:9:0;;;;25293:10;25160:143;25142:1470;;;25335:11;;;;;;;25330:195;;-1:-1:-1;;;;;25395:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;25424:23:0;;;;;;:19;:23;;;;;;;;25395:52;25365:160;;;;-1:-1:-1;;;25365:160:0;;7461:2:1;25365:160:0;;;7443:21:1;7500:2;7480:18;;;7473:30;7539:34;7519:18;;;7512:62;-1:-1:-1;;;7590:18:1;;;7583:32;7632:19;;25365:160:0;7433:224:1;25365:160:0;-1:-1:-1;;;;;25585:32:0;;;;;;:26;:32;;;;;;;;:89;;;;-1:-1:-1;;;;;;25639:35:0;;;;;;:31;:35;;;;;;;;25638:36;25585:89;25563:1038;;;25749:2;;25739:6;:12;;25709:151;;;;-1:-1:-1;;;25709:151:0;;9511:2:1;25709:151:0;;;9493:21:1;9550:2;9530:18;;;9523:30;9589:34;9569:18;;;9562:62;9660:34;9640:18;;;9633:62;-1:-1:-1;;;9711:19:1;;;9704:32;9753:19;;25709:151:0;9483:295:1;25709:151:0;25935:2;;-1:-1:-1;;;;;2456:17:0;;2424:7;2456:17;;;;;;;;;;;25909:22;;:6;:22;:::i;:::-;:28;;25879:133;;;;-1:-1:-1;;;25879:133:0;;9985:2:1;25879:133:0;;;9967:21:1;10024:2;10004:18;;;9997:30;10063:33;10043:18;;;10036:61;10114:18;;25879:133:0;9957:181:1;25879:133:0;25563:1038;;;-1:-1:-1;;;;;26093:30:0;;;;;;:26;:30;;;;;;;;:89;;;;-1:-1:-1;;;;;;26145:37:0;;;;;;:31;:37;;;;;;;;26144:38;26093:89;26071:530;;;26257:2;;26247:6;:12;;26217:152;;;;-1:-1:-1;;;26217:152:0;;8225:2:1;26217:152:0;;;8207:21:1;8264:2;8244:18;;;8237:30;8303:34;8283:18;;;8276:62;8374:34;8354:18;;;8347:62;-1:-1:-1;;;8425:19:1;;;8418:33;8468:19;;26217:152:0;8197:296:1;26071:530:0;-1:-1:-1;;;;;26396:35:0;;;;;;:31;:35;;;;;;;;26391:210;;26508:2;;-1:-1:-1;;;;;2456:17:0;;2424:7;2456:17;;;;;;;;;;;26482:22;;:6;:22;:::i;:::-;:28;;26452:133;;;;-1:-1:-1;;;26452:133:0;;9985:2:1;26452:133:0;;;9967:21:1;10024:2;10004:18;;;9997:30;10063:33;10043:18;;;10036:61;10114:18;;26452:133:0;9957:181:1;26452:133:0;26643:9;;-1:-1:-1;;;26643:9:0;;;;26642:10;:60;;;;-1:-1:-1;;;;;;26670:32:0;;;;;;:26;:32;;;;;;;;26669:33;26642:60;:103;;;;-1:-1:-1;;;;;;26720:25:0;;;;;;:19;:25;;;;;;;;26719:26;26642:103;:144;;;;-1:-1:-1;;;;;;26763:23:0;;;;;;:19;:23;;;;;;;;26762:24;26642:144;26624:274;;;26813:9;:16;;-1:-1:-1;;;;26813:16:0;-1:-1:-1;;;26813:16:0;;;26844:10;:8;:10::i;:::-;26869:9;:17;;-1:-1:-1;;;;26869:17:0;;;26624:274;26926:9;;27056:12;;26926:9;-1:-1:-1;;;26926:9:0;;;;;26925:10;;27056:12;;:54;;-1:-1:-1;;;;;;27085:25:0;;;;;;:19;:25;;;;;;;;27056:54;:94;;;-1:-1:-1;;;;;;27127:23:0;;;;;;:19;:23;;;;;;;;27056:94;:198;;;-1:-1:-1;;;;;;27169:32:0;;;;;;:26;:32;;;;;;;;27168:33;:85;;;;-1:-1:-1;;;;;;27223:30:0;;;;;;:26;:30;;;;;;;;27222:31;27168:85;27038:243;;;-1:-1:-1;27276:5:0;27038:243;27294:12;27325:7;27321:357;;;27356:30;27382:3;27356:21;27367:9;;27356:6;:10;;:21;;;;:::i;:::-;:25;;:30::i;:::-;27349:37;;27451:9;;27434:13;;27427:4;:20;;;;:::i;:::-;27426:34;;;;:::i;:::-;27403:19;;:57;;;;;;;:::i;:::-;;;;-1:-1:-1;;27519:9:0;;27504:11;;27497:18;;:4;:18;:::i;:::-;27496:32;;;;:::i;:::-;27475:17;;:53;;;;;;;:::i;:::-;;;;-1:-1:-1;;27549:8:0;;27545:91;;27578:42;27594:4;27608;27615;27578:15;:42::i;:::-;27652:14;27662:4;27652:14;;:::i;:::-;;;27321:357;27690:33;27706:4;27712:2;27716:6;27690:15;:33::i;:::-;24618:3113;;24505:3226;;;:::o;27739:477::-;27831:16;;;27845:1;27831:16;;;;;;;;27807:21;;27831:16;;;;;;;;;;-1:-1:-1;27831:16:0;27807:40;;27876:4;27858;27863:1;27858:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;27858:23:0;;;:7;;;;;;;;;;:23;;;;27902:15;;:22;;;-1:-1:-1;;;27902:22:0;;;;:15;;;;;:20;;:22;;;;;27858:7;;27902:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27892:4;27897:1;27892:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;27892:32:0;;;:7;;;;;;;;;:32;27969:15;;27937:62;;27954:4;;27969:15;27987:11;27937:8;:62::i;:::-;28012:15;;:196;;-1:-1:-1;;;28012:196:0;;-1:-1:-1;;;;;28012:15:0;;;;:66;;:196;;28093:11;;28012:15;;28135:4;;28162;;28182:15;;28012:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27796:420;27739:477;:::o;4288:704::-;-1:-1:-1;;;;;4419:18:0;;4411:61;;;;-1:-1:-1;;;4411:61:0;;7102:2:1;4411:61:0;;;7084:21:1;7141:2;7121:18;;;7114:30;7180:32;7160:18;;;7153:60;7230:18;;4411:61:0;7074:180:1;4411:61:0;-1:-1:-1;;;;;4491:16:0;;4483:64;;;;-1:-1:-1;;;4483:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4639:14:0;;4617:19;4639:14;;;;;;;;;;;4686:21;;;;4664:109;;;;-1:-1:-1;;;4664:109:0;;6695:2:1;4664:109:0;;;6677:21:1;6734:2;6714:18;;;6707:30;6773:34;6753:18;;;6746:62;-1:-1:-1;;;6824:18:1;;;6817:36;6870:19;;4664:109:0;6667:228:1;4664:109:0;-1:-1:-1;;;;;4809:14:0;;;:8;:14;;;;;;;;;;;4826:20;;;4809:37;;4868:12;;;;;;;;:22;;4840:6;;4809:8;4868:22;;4840:6;;4868:22;:::i;:::-;;;;;;;;4923:2;-1:-1:-1;;;;;4908:26:0;4917:4;-1:-1:-1;;;;;4908:26:0;;4927:6;4908:26;;;;10695:25:1;;10683:2;10668:18;;10650:76;4908:26:0;;;;;;;;4947:37;29748:168;20097:98;20155:7;20182:5;20186:1;20182;:5;:::i;:::-;20175:12;20097:98;-1:-1:-1;;;20097:98:0:o;28592:1148::-;28676:4;28632:23;2456:17;;;;;;;;;;;28632:50;;28693:25;28743:17;;28721:19;;:39;;;;:::i;:::-;28693:67;-1:-1:-1;28777:20:0;28773:33;;28799:7;;28592:1148::o;28773:33::-;28838:19;;28820:15;:37;28816:93;;;28890:19;;28872:37;;28816:93;28922:23;29036:1;29003:17;28967:19;;28949:15;:37;;;;:::i;:::-;28948:72;;;;:::i;:::-;:89;;;;:::i;:::-;28922:115;-1:-1:-1;29048:26:0;29077:36;:15;28922:115;29077:19;:36::i;:::-;29048:65;-1:-1:-1;29154:21:0;29188:37;29048:65;29188:17;:37::i;:::-;29238:18;29259:44;:21;29285:17;29259:25;:44::i;:::-;29238:65;;29314:21;29338:80;29390:17;29338:33;29353:17;;29338:10;:14;;:33;;;;:::i;:80::-;29314:104;-1:-1:-1;29429:23:0;29455:26;29314:104;29455:10;:26;:::i;:::-;29514:1;29494:17;:21;;;29526:19;:23;;;29570:3;;29562:36;;29429:52;;-1:-1:-1;;;;;;29570:3:0;;29562:36;;;;;29584:13;;29562:36;;29514:1;29562:36;29584:13;29570:3;29562:36;;;;;;;;;;;;;;;;;;;;;29633:1;29615:15;:19;:42;;;;;29656:1;29638:15;:19;29615:42;29611:122;;;29674:47;29688:15;29705;29674:13;:47::i;:::-;28621:1119;;;;;;;;28592:1148::o;19991:98::-;20049:7;20076:5;20080:1;20076;:5;:::i;19885:98::-;19943:7;19970:5;19974:1;19970;:5;:::i;28224:360::-;28339:15;;28307:62;;28324:4;;-1:-1:-1;;;;;28339:15:0;28357:11;28307:8;:62::i;:::-;28382:15;;28532:3;;28382:194;;-1:-1:-1;;;28382:194:0;;-1:-1:-1;;;;;28382:15:0;;;;:31;;28421:9;;28382:194;;28454:4;;28474:11;;28382:15;;;;28532:3;;28550:15;;28382:194;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:2;;164:1;161;154:12;108:2;60:114;;;:::o;179:247::-;238:6;291:2;279:9;270:7;266:23;262:32;259:2;;;307:1;304;297:12;259:2;346:9;333:23;365:31;390:5;365:31;:::i;431:251::-;501:6;554:2;542:9;533:7;529:23;525:32;522:2;;;570:1;567;560:12;522:2;602:9;596:16;621:31;646:5;621:31;:::i;687:388::-;755:6;763;816:2;804:9;795:7;791:23;787:32;784:2;;;832:1;829;822:12;784:2;871:9;858:23;890:31;915:5;890:31;:::i;:::-;940:5;-1:-1:-1;997:2:1;982:18;;969:32;1010:33;969:32;1010:33;:::i;:::-;1062:7;1052:17;;;774:301;;;;;:::o;1080:456::-;1157:6;1165;1173;1226:2;1214:9;1205:7;1201:23;1197:32;1194:2;;;1242:1;1239;1232:12;1194:2;1281:9;1268:23;1300:31;1325:5;1300:31;:::i;:::-;1350:5;-1:-1:-1;1407:2:1;1392:18;;1379:32;1420:33;1379:32;1420:33;:::i;:::-;1184:352;;1472:7;;-1:-1:-1;;;1526:2:1;1511:18;;;;1498:32;;1184:352::o;1541:315::-;1606:6;1614;1667:2;1655:9;1646:7;1642:23;1638:32;1635:2;;;1683:1;1680;1673:12;1635:2;1722:9;1709:23;1741:31;1766:5;1741:31;:::i;:::-;1791:5;-1:-1:-1;1815:35:1;1846:2;1831:18;;1815:35;:::i;:::-;1805:45;;1625:231;;;;;:::o;1861:315::-;1929:6;1937;1990:2;1978:9;1969:7;1965:23;1961:32;1958:2;;;2006:1;2003;1996:12;1958:2;2045:9;2032:23;2064:31;2089:5;2064:31;:::i;:::-;2114:5;2166:2;2151:18;;;;2138:32;;-1:-1:-1;;;1948:228:1:o;2181:180::-;2237:6;2290:2;2278:9;2269:7;2265:23;2261:32;2258:2;;;2306:1;2303;2296:12;2258:2;2329:26;2345:9;2329:26;:::i;2366:316::-;2443:6;2451;2459;2512:2;2500:9;2491:7;2487:23;2483:32;2480:2;;;2528:1;2525;2518:12;2480:2;-1:-1:-1;;2551:23:1;;;2621:2;2606:18;;2593:32;;-1:-1:-1;2672:2:1;2657:18;;;2644:32;;2470:212;-1:-1:-1;2470:212:1:o;2687:306::-;2775:6;2783;2791;2844:2;2832:9;2823:7;2819:23;2815:32;2812:2;;;2860:1;2857;2850:12;2812:2;2889:9;2883:16;2873:26;;2939:2;2928:9;2924:18;2918:25;2908:35;;2983:2;2972:9;2968:18;2962:25;2952:35;;2802:191;;;;;:::o;3515:607::-;-1:-1:-1;;;;;3874:15:1;;;3856:34;;3921:2;3906:18;;3899:34;;;;3964:2;3949:18;;3942:34;;;;4007:2;3992:18;;3985:34;;;;4056:15;;;4050:3;4035:19;;4028:44;3836:3;4088:19;;4081:35;;;;3805:3;3790:19;;3772:350::o;4319:597::-;4431:4;4460:2;4489;4478:9;4471:21;4521:6;4515:13;4564:6;4559:2;4548:9;4544:18;4537:34;4589:1;4599:140;4613:6;4610:1;4607:13;4599:140;;;4708:14;;;4704:23;;4698:30;4674:17;;;4693:2;4670:26;4663:66;4628:10;;4599:140;;;4757:6;4754:1;4751:13;4748:2;;;4827:1;4822:2;4813:6;4802:9;4798:22;4794:31;4787:42;4748:2;-1:-1:-1;4900:2:1;4879:15;-1:-1:-1;;4875:29:1;4860:45;;;;4907:2;4856:54;;4440:476;-1:-1:-1;;;4440:476:1:o;4921:399::-;5123:2;5105:21;;;5162:2;5142:18;;;5135:30;5201:34;5196:2;5181:18;;5174:62;-1:-1:-1;;;5267:2:1;5252:18;;5245:33;5310:3;5295:19;;5095:225::o;7662:356::-;7864:2;7846:21;;;7883:18;;;7876:30;7942:34;7937:2;7922:18;;7915:62;8009:2;7994:18;;7836:182::o;10731:980::-;10993:4;11041:3;11030:9;11026:19;11072:6;11061:9;11054:25;11098:2;11136:6;11131:2;11120:9;11116:18;11109:34;11179:3;11174:2;11163:9;11159:18;11152:31;11203:6;11238;11232:13;11269:6;11261;11254:22;11307:3;11296:9;11292:19;11285:26;;11346:2;11338:6;11334:15;11320:29;;11367:1;11377:195;11391:6;11388:1;11385:13;11377:195;;;11456:13;;-1:-1:-1;;;;;11452:39:1;11440:52;;11547:15;;;;11512:12;;;;11488:1;11406:9;11377:195;;;-1:-1:-1;;;;;;;11628:32:1;;;;11623:2;11608:18;;11601:60;-1:-1:-1;;;11692:3:1;11677:19;11670:35;11589:3;11002:709;-1:-1:-1;;;11002:709:1:o;11905:128::-;11945:3;11976:1;11972:6;11969:1;11966:13;11963:2;;;11982:18;;:::i;:::-;-1:-1:-1;12018:9:1;;11953:80::o;12038:217::-;12078:1;12104;12094:2;;12148:10;12143:3;12139:20;12136:1;12129:31;12183:4;12180:1;12173:15;12211:4;12208:1;12201:15;12094:2;-1:-1:-1;12240:9:1;;12084:171::o;12260:168::-;12300:7;12366:1;12362;12358:6;12354:14;12351:1;12348:21;12343:1;12336:9;12329:17;12325:45;12322:2;;;12373:18;;:::i;:::-;-1:-1:-1;12413:9:1;;12312:116::o;12433:125::-;12473:4;12501:1;12498;12495:8;12492:2;;;12506:18;;:::i;:::-;-1:-1:-1;12543:9:1;;12482:76::o;12563:380::-;12642:1;12638:12;;;;12685;;;12706:2;;12760:4;12752:6;12748:17;12738:27;;12706:2;12813;12805:6;12802:14;12782:18;12779:38;12776:2;;;12859:10;12854:3;12850:20;12847:1;12840:31;12894:4;12891:1;12884:15;12922:4;12919:1;12912:15;12776:2;;12618:325;;;:::o;12948:127::-;13009:10;13004:3;13000:20;12997:1;12990:31;13040:4;13037:1;13030:15;13064:4;13061:1;13054:15;13080:127;13141:10;13136:3;13132:20;13129:1;13122:31;13172:4;13169:1;13162:15;13196:4;13193:1;13186:15;13344:131;-1:-1:-1;;;;;13419:31:1;;13409:42;;13399:2;;13465:1;13462;13455:12;13399:2;13389:86;:::o
Swarm Source
ipfs://2fbd529c9a2993e83fbeb8e53ef08288caaa91761ad75227b594b8da624da2b8
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.