Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 VTRU
Holders
13
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
65,153,308.019233292354024662 VTRUValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
VoteTrump
Compiler Version
v0.8.16+commit.07a7930e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-06-28 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.16; 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); } 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) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; uint8 private _decimals; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_, uint8 decimals_) { _name = name_; _symbol = symbol_; _decimals = decimals_; } 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 _decimals; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf( address account ) public view virtual override returns (uint256) { return _balances[account]; } function transfer( address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance( address owner, address spender ) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve( address spender, uint256 amount ) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require( currentAllowance >= amount, "ERC20: transfer amount exceeds allowance" ); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } function increaseAllowance( address spender, uint256 addedValue ) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender] + addedValue ); return true; } function decreaseAllowance( address spender, uint256 subtractedValue ) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require( currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero" ); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); uint256 senderBalance = _balances[sender]; require( senderBalance >= amount, "ERC20: transfer amount exceeds balance" ); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _totalSupply += amount; _balances[account] += 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"); 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); } 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); } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { _setOwner(0x132Fd9251583628cE849B2cCE2a90F3340EBb2c1); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IUniswapV2Factory { function createPair( address tokenA, address tokenB ) external returns (address pair); function getPair( address tokenA, address tokenB ) external view returns (address pair); } 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 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 swapExactETHForTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function swapExactTokensForETH( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } contract VoteTrump is ERC20, Ownable { IUniswapV2Router02 public uniswapV2Router; bool private swapping; uint256 public swapTokensAtAmount; uint256 public liquidityBuyFee = 0; uint256 public treasuryBuyFee = 3; uint256 public liquiditySellFee = 0; uint256 public treasurySellFee = 3; uint256 public totalFees = liquidityBuyFee + treasuryBuyFee + liquiditySellFee + treasurySellFee; address public treasuryWalletAddress = 0x82D097B3515AaDaC035001b125E375f1e9aC3A71; mapping(address => bool) private _isExcludedFromFees; mapping(address => bool) private _isExcludedFromAntibot; mapping(address => bool) public automatedMarketMakerPairs; mapping(address => uint256) public lastTrade; uint8 public tradeCooldown = 1; event ExcludeFromFees(address indexed account); event IncludeInFees(address indexed account); event ExcludeMultipleAccountsFromFees(address[] accounts); event ExcludeFromAntibot(address indexed account); event IncludeInAntibot(address indexed account); event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); event addLiquidityETH(uint256 eth, uint256 tokens, address receiver); event transferTokens(uint256 _value, address receiver); event SwapTokensAtAmountChanged(uint256 amount); event UpdatedTreasuryWallet(address account); event UpdatedLiquidityBuyFee(uint256 amount); event UpdatedTreasuryBuyFee(uint256 amount); event UpdatedLiquiditySellFee(uint256 amount); event UpdatedTreasurySellFee(uint256 amount); event SwapTokensForEthFailed(uint256 amount); event TradeCooldownUpdated( uint8 tradeCooldown, uint8 previousTradeCooldown ); modifier lockTheSwap() { swapping = true; _; swapping = false; } constructor() ERC20("Vote Trump", "VTRU", 18) { uint256 totalSupply_ = 1e9 * 10 ** 18; uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); address nativeCurrency = uniswapV2Router.WETH(); IUniswapV2Factory factory = IUniswapV2Factory( uniswapV2Router.factory() ); swapTokensAtAmount = totalSupply_ / 1000; address pair = factory.createPair(address(this), nativeCurrency); _setAutomatedMarketMakerPair(pair, true); _isExcludedFromFees[owner()] = true; _isExcludedFromFees[treasuryWalletAddress] = true; _isExcludedFromFees[address(this)] = true; _isExcludedFromAntibot[owner()] = true; _isExcludedFromAntibot[treasuryWalletAddress] = true; _isExcludedFromAntibot[address(this)] = true; _isExcludedFromAntibot[pair] = true; _mint(owner(), totalSupply_); } receive() external payable {} function setSwapTokensAtAmount(uint256 amount) external onlyOwner { require( amount > totalSupply() / 10 ** 6 && amount <= totalSupply() / 10 ** 4, "Amount must be between 0.001% - 0.1 of total supply" ); swapTokensAtAmount = amount; emit SwapTokensAtAmountChanged(amount); } function excludeFromFees(address account) external onlyOwner { require(!_isExcludedFromFees[account], "Account is already excluded"); _isExcludedFromFees[account] = true; emit ExcludeFromFees(account); } function includeInFees(address account) external onlyOwner { require(_isExcludedFromFees[account], "Account is already included"); _isExcludedFromFees[account] = false; emit IncludeInFees(account); } function excludeFromAntibot(address account) external onlyOwner { require( !_isExcludedFromAntibot[account], "Account is already excluded" ); _isExcludedFromAntibot[account] = true; emit ExcludeFromAntibot(account); } function includeInAntibot(address account) external onlyOwner { require(_isExcludedFromAntibot[account], "Account is already included"); _isExcludedFromAntibot[account] = false; emit IncludeInAntibot(account); } function excludeMultipleAccountsFromFees( address[] calldata accounts ) external onlyOwner { for (uint256 i = 0; i < accounts.length; i++) { _isExcludedFromFees[accounts[i]] = true; } emit ExcludeMultipleAccountsFromFees(accounts); } function setTreasuryWallet(address payable wallet) external onlyOwner { require(wallet != address(0), "Can not be address(0)."); treasuryWalletAddress = wallet; emit UpdatedTreasuryWallet(wallet); } function setLiquidityBuyFee(uint256 value) external onlyOwner { liquidityBuyFee = value; updateFees(); emit UpdatedLiquidityBuyFee(value); } function setTreasuryBuyFee(uint256 value) external onlyOwner { treasuryBuyFee = value; updateFees(); emit UpdatedTreasuryBuyFee(value); } function setLiquiditySellFee(uint256 value) external onlyOwner { liquiditySellFee = value; updateFees(); emit UpdatedLiquiditySellFee(value); } function setTreasurySellFee(uint256 value) external onlyOwner { treasurySellFee = value; updateFees(); emit UpdatedTreasurySellFee(value); } function setTradeCooldown(uint8 newTradeCooldown) external onlyOwner { require( newTradeCooldown <= 5, "Trade cooldown must be between 1 and 5 blocks" ); tradeCooldown = newTradeCooldown; emit TradeCooldownUpdated(newTradeCooldown, tradeCooldown); } function updateFees() internal { totalFees = liquidityBuyFee + treasuryBuyFee + liquiditySellFee + treasurySellFee; require(totalFees <= 7, "Total fees can not be over 7%."); } function _setAutomatedMarketMakerPair(address pair, bool value) private { require(pair != address(0x0), "cannot mutate the address"); require( automatedMarketMakerPairs[pair] != value, "Pair is already set to this address." ); automatedMarketMakerPairs[pair] = value; emit SetAutomatedMarketMakerPair(pair, value); } function isExcludedFromFees(address account) public view returns (bool) { return _isExcludedFromFees[account]; } function isExcludedFromAntibot(address account) public view returns (bool) { return _isExcludedFromAntibot[account]; } function _transfer( address from, address to, uint256 amount ) internal override { require(from != address(0), "Can not transfer from the zero address"); require(to != address(0), "Can not transfer to the zero address"); if (amount == 0) { super._transfer(from, to, 0); return; } if (!swapping) { if (!_isExcludedFromAntibot[from]) { require( lastTrade[from] + tradeCooldown <= block.number, "Trade cooldown not reached" ); lastTrade[from] = block.number; } if (!_isExcludedFromAntibot[to]) { require( lastTrade[to] + tradeCooldown <= block.number, "Trade cooldown not reached" ); lastTrade[to] = block.number; } } bool localSwapping = swapping; uint256 localTotalFees = totalFees; bool canSwap = balanceOf(address(this)) >= swapTokensAtAmount; if ( canSwap && !localSwapping && !automatedMarketMakerPairs[from] && from != owner() && to != owner() && localTotalFees > 0 ) { swap(); } bool takeFee = !localSwapping && !_isExcludedFromFees[from] && !_isExcludedFromFees[to] && localTotalFees > 0; if (takeFee) { if ( automatedMarketMakerPairs[from] && to != address(uniswapV2Router) ) { localTotalFees = liquidityBuyFee + treasuryBuyFee; } if ( automatedMarketMakerPairs[to] && from != address(uniswapV2Router) ) { localTotalFees = liquiditySellFee + treasurySellFee; } uint256 fees = (amount * localTotalFees) / 100; amount = amount - fees; super._transfer(from, address(this), fees); } super._transfer(from, to, amount); } function swap() private lockTheSwap { uint256 amount = swapTokensAtAmount; uint256 liquidityTotalFees = liquidityBuyFee + liquiditySellFee; uint256 localTotalFees = totalFees; uint256 swapTokens = (amount * liquidityTotalFees) / localTotalFees; if (swapTokens > 0) swapAndLiquify(swapTokens); uint256 treasuryTokens = amount - swapTokens; if (treasuryTokens > 0) swapTokensForEth(treasuryTokens, treasuryWalletAddress); } function swapAndLiquify(uint256 tokens) private { uint256 half = tokens / 2; uint256 otherHalf = tokens - half; uint256 initialBalance = address(this).balance; swapTokensForEth(half, address(this)); uint256 newBalance = address(this).balance - initialBalance; if (newBalance == 0) return; addLiquidity(otherHalf, newBalance); emit SwapAndLiquify(half, newBalance, otherHalf); } function swapTokensForEth( uint256 tokenAmount, address destination ) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, destination, block.timestamp ) {} catch { emit SwapTokensForEthFailed(tokenAmount); } } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, 0, address(0xdead), block.timestamp ); } }
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"}],"name":"ExcludeFromAntibot","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"ExcludeMultipleAccountsFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"IncludeInAntibot","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"IncludeInFees","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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"SwapTokensAtAmountChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"SwapTokensForEthFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"tradeCooldown","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"previousTradeCooldown","type":"uint8"}],"name":"TradeCooldownUpdated","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":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"UpdatedLiquidityBuyFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"UpdatedLiquiditySellFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"UpdatedTreasuryBuyFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"UpdatedTreasurySellFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"UpdatedTreasuryWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"eth","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"},{"indexed":false,"internalType":"address","name":"receiver","type":"address"}],"name":"addLiquidityETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"},{"indexed":false,"internalType":"address","name":"receiver","type":"address"}],"name":"transferTokens","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromAntibot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInAntibot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFees","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":"isExcludedFromAntibot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastTrade","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquiditySellFee","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":"uint256","name":"value","type":"uint256"}],"name":"setLiquidityBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setLiquiditySellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"newTradeCooldown","type":"uint8"}],"name":"setTradeCooldown","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setTreasuryBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setTreasurySellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"wallet","type":"address"}],"name":"setTreasuryWallet","outputs":[],"stateMutability":"nonpayable","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":"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":"tradeCooldown","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasuryBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasurySellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasuryWalletAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600060098190556003600a819055600b829055600c8190559062000029828262000651565b62000035919062000651565b62000041919062000651565b600d55600e80546001600160a01b0319167382d097b3515aadac035001b125e375f1e9ac3a711790556013805460ff191660011790553480156200008457600080fd5b506040518060400160405280600a8152602001690566f7465205472756d760b41b815250604051806040016040528060048152602001635654525560e01b81525060128260049081620000d891906200071e565b506005620000e783826200071e565b506003805460ff191660ff92909216919091179055506200011e905073132fd9251583628ce849b2cce2a90f3340ebb2c1620003ec565b600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b815290516b033b2e3c9fd0803ce800000092600092909163ad5c4648916004808201926020929091908290030181865afa15801562000196573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001bc9190620007ea565b90506000600760009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000214573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023a9190620007ea565b90506200024a6103e8846200081c565b6008556040516364e329cb60e11b81523060048201526001600160a01b0383811660248301526000919083169063c9c65396906044016020604051808303816000875af1158015620002a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c69190620007ea565b9050620002d58160016200043e565b6001600f6000620002ee6006546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600e549091168152600f909252808220805484166001908117909155308352908220805490931681179092556010906200035e6006546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600e548216815260109093528183208054851660019081179091553084528284208054861682179055908516835291208054909216179055620003e2620003db6006546001600160a01b031690565b856200056c565b505050506200083f565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166200049a5760405162461bcd60e51b815260206004820152601960248201527f63616e6e6f74206d75746174652074686520616464726573730000000000000060448201526064015b60405180910390fd5b6001600160a01b03821660009081526011602052604090205481151560ff909116151503620005185760405162461bcd60e51b8152602060048201526024808201527f5061697220697320616c72656164792073657420746f2074686973206164647260448201526332b9b99760e11b606482015260840162000491565b6001600160a01b038216600081815260116020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b038216620005c45760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000491565b8060026000828254620005d8919062000651565b90915550506001600160a01b038216600090815260208190526040812080548392906200060790849062000651565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b808201808211156200067357634e487b7160e01b600052601160045260246000fd5b92915050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620006a457607f821691505b602082108103620006c557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200071957600081815260208120601f850160051c81016020861015620006f45750805b601f850160051c820191505b81811015620007155782815560010162000700565b5050505b505050565b81516001600160401b038111156200073a576200073a62000679565b62000752816200074b84546200068f565b84620006cb565b602080601f8311600181146200078a5760008415620007715750858301515b600019600386901b1c1916600185901b17855562000715565b600085815260208120601f198616915b82811015620007bb578886015182559484019460019091019084016200079a565b5085821015620007da5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620007fd57600080fd5b81516001600160a01b03811681146200081557600080fd5b9392505050565b6000826200083a57634e487b7160e01b600052601260045260246000fd5b500490565b6122f5806200084f6000396000f3fe6080604052600436106102345760003560e01c806384e771c51161012e578063b62496f5116100ab578063e2f456051161006f578063e2f4560514610703578063e57f14e114610719578063e9a584ad14610739578063ed0d213714610759578063f2fde38b1461076f57600080fd5b8063b62496f51461062a578063bba3f82f1461065a578063c26d7be01461067a578063ccb61358146106a7578063dd62ed3e146106bd57600080fd5b8063a5d039a7116100f2578063a5d039a71461058a578063a8602fea146105aa578063a9059cbb146105ca578063afa4f3b2146105ea578063b1c0b9121461060a57600080fd5b806384e771c5146104fd5780638da5cb5b1461051d57806393ee15ca1461053b57806395d89b4114610555578063a457c2d71461056a57600080fd5b80632c10508c116101bc57806361fb8a761161018057806361fb8a76146104395780636417cbdd1461045957806370a0823114610492578063715018a6146104c85780637977a537146104dd57600080fd5b80632c10508c14610384578063313ce5671461039a57806339509351146103c05780633db36de9146103e05780634fbee1931461040057600080fd5b806313114a9d1161020357806313114a9d146102e15780631694505e146102f757806316a2f82a1461032f57806318160ddd1461034f57806323b872dd1461036457600080fd5b806306fdde0314610240578063095ea7b31461026b578063099d0d301461029b5780630c43c79b146102bf57600080fd5b3661023b57005b600080fd5b34801561024c57600080fd5b5061025561078f565b6040516102629190611ebc565b60405180910390f35b34801561027757600080fd5b5061028b610286366004611f1f565b610821565b6040519015158152602001610262565b3480156102a757600080fd5b506102b1600b5481565b604051908152602001610262565b3480156102cb57600080fd5b506102df6102da366004611f4b565b610838565b005b3480156102ed57600080fd5b506102b1600d5481565b34801561030357600080fd5b50600754610317906001600160a01b031681565b6040516001600160a01b039091168152602001610262565b34801561033b57600080fd5b506102df61034a366004611fc0565b61091b565b34801561035b57600080fd5b506002546102b1565b34801561037057600080fd5b5061028b61037f366004611fe4565b6109f6565b34801561039057600080fd5b506102b1600a5481565b3480156103a657600080fd5b5060035460ff165b60405160ff9091168152602001610262565b3480156103cc57600080fd5b5061028b6103db366004611f1f565b610aa0565b3480156103ec57600080fd5b506102df6103fb366004612025565b610adc565b34801561040c57600080fd5b5061028b61041b366004611fc0565b6001600160a01b03166000908152600f602052604090205460ff1690565b34801561044557600080fd5b506102df610454366004612048565b610bc0565b34801561046557600080fd5b5061028b610474366004611fc0565b6001600160a01b031660009081526010602052604090205460ff1690565b34801561049e57600080fd5b506102b16104ad366004611fc0565b6001600160a01b031660009081526020819052604090205490565b3480156104d457600080fd5b506102df610c27565b3480156104e957600080fd5b506102df6104f8366004612048565b610c5d565b34801561050957600080fd5b506102df610518366004612048565b610cc4565b34801561052957600080fd5b506006546001600160a01b0316610317565b34801561054757600080fd5b506013546103ae9060ff1681565b34801561056157600080fd5b50610255610d2b565b34801561057657600080fd5b5061028b610585366004611f1f565b610d3a565b34801561059657600080fd5b506102df6105a5366004611fc0565b610dd3565b3480156105b657600080fd5b506102df6105c5366004611fc0565b610eae565b3480156105d657600080fd5b5061028b6105e5366004611f1f565b610f75565b3480156105f657600080fd5b506102df610605366004612048565b610f82565b34801561061657600080fd5b50600e54610317906001600160a01b031681565b34801561063657600080fd5b5061028b610645366004611fc0565b60116020526000908152604090205460ff1681565b34801561066657600080fd5b506102df610675366004611fc0565b611083565b34801561068657600080fd5b506102b1610695366004611fc0565b60126020526000908152604090205481565b3480156106b357600080fd5b506102b160095481565b3480156106c957600080fd5b506102b16106d8366004612061565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561070f57600080fd5b506102b160085481565b34801561072557600080fd5b506102df610734366004611fc0565b611162565b34801561074557600080fd5b506102df610754366004612048565b611241565b34801561076557600080fd5b506102b1600c5481565b34801561077b57600080fd5b506102df61078a366004611fc0565b6112a8565b60606004805461079e9061209a565b80601f01602080910402602001604051908101604052809291908181526020018280546107ca9061209a565b80156108175780601f106107ec57610100808354040283529160200191610817565b820191906000526020600020905b8154815290600101906020018083116107fa57829003601f168201915b5050505050905090565b600061082e338484611343565b5060015b92915050565b6006546001600160a01b0316331461086b5760405162461bcd60e51b8152600401610862906120d4565b60405180910390fd5b60005b818110156108dd576001600f600085858581811061088e5761088e612109565b90506020020160208101906108a39190611fc0565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806108d581612135565b91505061086e565b507f6f058e77d614a1061fc197c99cdde12f5fa414c92529bbe8f48b02f8d9f4f95d828260405161090f92919061214e565b60405180910390a15050565b6006546001600160a01b031633146109455760405162461bcd60e51b8152600401610862906120d4565b6001600160a01b0381166000908152600f602052604090205460ff166109ad5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c726561647920696e636c7564656400000000006044820152606401610862565b6001600160a01b0381166000818152600f6020526040808220805460ff19169055517f346f6c42af1ce4b7d7951f3fa40a2fb1e78c80ab0f3d76fb4f9fec269d568f0d9190a250565b6000610a03848484611467565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610a885760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610862565b610a958533858403611343565b506001949350505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161082e918590610ad790869061219c565b611343565b6006546001600160a01b03163314610b065760405162461bcd60e51b8152600401610862906120d4565b60058160ff161115610b705760405162461bcd60e51b815260206004820152602d60248201527f547261646520636f6f6c646f776e206d757374206265206265747765656e203160448201526c20616e64203520626c6f636b7360981b6064820152608401610862565b6013805460ff191660ff83169081179091556040805182815260208101929092527f61d5f52f88a645b285e957c0bcc84b2e5bb11208c5e90d3ec4209a3ebb202a1991015b60405180910390a150565b6006546001600160a01b03163314610bea5760405162461bcd60e51b8152600401610862906120d4565b6009819055610bf76118b3565b6040518181527fd116e3d8714841806736ef750dca6a19430c108b49f23815e815b2475ce5c14690602001610bb5565b6006546001600160a01b03163314610c515760405162461bcd60e51b8152600401610862906120d4565b610c5b6000611932565b565b6006546001600160a01b03163314610c875760405162461bcd60e51b8152600401610862906120d4565b600c819055610c946118b3565b6040518181527ff10240a71c74f6387f0fb83e07b47975beef788dfa581430441df21ce15bd3e190602001610bb5565b6006546001600160a01b03163314610cee5760405162461bcd60e51b8152600401610862906120d4565b600b819055610cfb6118b3565b6040518181527f28d64c98c5e69f60f071f2862d1aee781480490dfc25a7658c3c74e51ba2143d90602001610bb5565b60606005805461079e9061209a565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610dbc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610862565b610dc93385858403611343565b5060019392505050565b6006546001600160a01b03163314610dfd5760405162461bcd60e51b8152600401610862906120d4565b6001600160a01b03811660009081526010602052604090205460ff16610e655760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c726561647920696e636c7564656400000000006044820152606401610862565b6001600160a01b038116600081815260106020526040808220805460ff19169055517f3e7395d673f7e5f554c0d9c8e709595bf7408d3bd61080da0d4a99b6620de5729190a250565b6006546001600160a01b03163314610ed85760405162461bcd60e51b8152600401610862906120d4565b6001600160a01b038116610f275760405162461bcd60e51b815260206004820152601660248201527521b0b7103737ba1031329030b2323932b9b99418149760511b6044820152606401610862565b600e80546001600160a01b0319166001600160a01b0383169081179091556040519081527f62c65ec1bb8c7d4b3758b4959a649569528cdd5ac7f4f73191f024e4988b10bc90602001610bb5565b600061082e338484611467565b6006546001600160a01b03163314610fac5760405162461bcd60e51b8152600401610862906120d4565b620f4240610fb960025490565b610fc391906121af565b81118015610fe65750612710610fd860025490565b610fe291906121af565b8111155b61104e5760405162461bcd60e51b815260206004820152603360248201527f416d6f756e74206d757374206265206265747765656e20302e30303125202d20604482015272302e31206f6620746f74616c20737570706c7960681b6064820152608401610862565b60088190556040518181527fcba17309eff0b14bb89cad72aef8b308a23d698dfff957e2255d17bbc03620bd90602001610bb5565b6006546001600160a01b031633146110ad5760405162461bcd60e51b8152600401610862906120d4565b6001600160a01b03811660009081526010602052604090205460ff16156111165760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610862565b6001600160a01b038116600081815260106020526040808220805460ff19166001179055517f073743b90eb72e408f9e70dbdc0b5335fd7333b7fc4c29586079c9e37f36a9069190a250565b6006546001600160a01b0316331461118c5760405162461bcd60e51b8152600401610862906120d4565b6001600160a01b0381166000908152600f602052604090205460ff16156111f55760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610862565b6001600160a01b0381166000818152600f6020526040808220805460ff19166001179055517f57a00f76b5f242fb1e04b0b514a6974665a5b07bce45e39f36dabff4a042d9369190a250565b6006546001600160a01b0316331461126b5760405162461bcd60e51b8152600401610862906120d4565b600a8190556112786118b3565b6040518181527f1593a397ac0c5189ce0930093176f841da14a2574dd5c20f0f56b237e1b63ef790602001610bb5565b6006546001600160a01b031633146112d25760405162461bcd60e51b8152600401610862906120d4565b6001600160a01b0381166113375760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610862565b61134081611932565b50565b6001600160a01b0383166113a55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610862565b6001600160a01b0382166114065760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610862565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166114cc5760405162461bcd60e51b815260206004820152602660248201527f43616e206e6f74207472616e736665722066726f6d20746865207a65726f206160448201526564647265737360d01b6064820152608401610862565b6001600160a01b03821661152e5760405162461bcd60e51b8152602060048201526024808201527f43616e206e6f74207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610862565b806000036115475761154283836000611984565b505050565b600754600160a01b900460ff166116c6576001600160a01b03831660009081526010602052604090205460ff1661160f576013546001600160a01b03841660009081526012602052604090205443916115a59160ff9091169061219c565b11156115f35760405162461bcd60e51b815260206004820152601a60248201527f547261646520636f6f6c646f776e206e6f7420726561636865640000000000006044820152606401610862565b6001600160a01b03831660009081526012602052604090204390555b6001600160a01b03821660009081526010602052604090205460ff166116c6576013546001600160a01b038316600090815260126020526040902054439161165c9160ff9091169061219c565b11156116aa5760405162461bcd60e51b815260206004820152601a60248201527f547261646520636f6f6c646f776e206e6f7420726561636865640000000000006044820152606401610862565b6001600160a01b03821660009081526012602052604090204390555b600754600d5460085430600090815260208190526040812054600160a01b90940460ff16939091111590508080156116fc575082155b801561172157506001600160a01b03861660009081526011602052604090205460ff16155b801561173b57506006546001600160a01b03878116911614155b801561175557506006546001600160a01b03868116911614155b80156117615750600082115b1561176e5761176e611b53565b60008315801561179757506001600160a01b0387166000908152600f602052604090205460ff16155b80156117bc57506001600160a01b0386166000908152600f602052604090205460ff16155b80156117c85750600083115b9050801561189f576001600160a01b03871660009081526011602052604090205460ff16801561180657506007546001600160a01b03878116911614155b1561181e57600a5460095461181b919061219c565b92505b6001600160a01b03861660009081526011602052604090205460ff16801561185457506007546001600160a01b03888116911614155b1561186c57600c54600b54611869919061219c565b92505b6000606461187a85886121d1565b61188491906121af565b905061189081876121f0565b955061189d883083611984565b505b6118aa878787611984565b50505050505050565b600c54600b54600a546009546118c9919061219c565b6118d3919061219c565b6118dd919061219c565b600d81905560071015610c5b5760405162461bcd60e51b815260206004820152601e60248201527f546f74616c20666565732063616e206e6f74206265206f7665722037252e00006044820152606401610862565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0383166119e85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610862565b6001600160a01b038216611a4a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610862565b6001600160a01b03831660009081526020819052604090205481811015611ac25760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610862565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611af990849061219c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b4591815260200190565b60405180910390a350505050565b6007805460ff60a01b1916600160a01b179055600854600b54600954600091611b7b9161219c565b600d54909150600081611b8e84866121d1565b611b9891906121af565b90508015611ba957611ba981611be8565b6000611bb582866121f0565b90508015611bd457600e54611bd49082906001600160a01b0316611c7f565b50506007805460ff60a01b19169055505050565b6000611bf56002836121af565b90506000611c0382846121f0565b905047611c108330611c7f565b6000611c1c82476121f0565b905080600003611c2d575050505050565b611c378382611e0a565b60408051858152602081018390529081018490527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611cb457611cb4612109565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611d0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d319190612203565b81600181518110611d4457611d44612109565b6001600160a01b039283166020918202929092010152600754611d6a9130911685611343565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac94790611da3908690600090869088904290600401612220565b600060405180830381600087803b158015611dbd57600080fd5b505af1925050508015611dce575060015b611542576040518381527ff312a8cf41139222bcba78888c1a115141181d71dc3cab51c2cd2e19acb05fcf9060200160405180910390a1505050565b600754611e229030906001600160a01b031684611343565b60075460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015611e90573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611eb59190612291565b5050505050565b600060208083528351808285015260005b81811015611ee957858101830151858201604001528201611ecd565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461134057600080fd5b60008060408385031215611f3257600080fd5b8235611f3d81611f0a565b946020939093013593505050565b60008060208385031215611f5e57600080fd5b823567ffffffffffffffff80821115611f7657600080fd5b818501915085601f830112611f8a57600080fd5b813581811115611f9957600080fd5b8660208260051b8501011115611fae57600080fd5b60209290920196919550909350505050565b600060208284031215611fd257600080fd5b8135611fdd81611f0a565b9392505050565b600080600060608486031215611ff957600080fd5b833561200481611f0a565b9250602084013561201481611f0a565b929592945050506040919091013590565b60006020828403121561203757600080fd5b813560ff81168114611fdd57600080fd5b60006020828403121561205a57600080fd5b5035919050565b6000806040838503121561207457600080fd5b823561207f81611f0a565b9150602083013561208f81611f0a565b809150509250929050565b600181811c908216806120ae57607f821691505b6020821081036120ce57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016121475761214761211f565b5060010190565b60208082528181018390526000908460408401835b8681101561219157823561217681611f0a565b6001600160a01b031682529183019190830190600101612163565b509695505050505050565b808201808211156108325761083261211f565b6000826121cc57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156121eb576121eb61211f565b500290565b818103818111156108325761083261211f565b60006020828403121561221557600080fd5b8151611fdd81611f0a565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156122705784516001600160a01b03168352938301939183019160010161224b565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156122a657600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122096f89efbe823764332b691dbaaa134fc384808c93e82fd5bfe77dceeb670cf5e64736f6c63430008100033
Deployed Bytecode
0x6080604052600436106102345760003560e01c806384e771c51161012e578063b62496f5116100ab578063e2f456051161006f578063e2f4560514610703578063e57f14e114610719578063e9a584ad14610739578063ed0d213714610759578063f2fde38b1461076f57600080fd5b8063b62496f51461062a578063bba3f82f1461065a578063c26d7be01461067a578063ccb61358146106a7578063dd62ed3e146106bd57600080fd5b8063a5d039a7116100f2578063a5d039a71461058a578063a8602fea146105aa578063a9059cbb146105ca578063afa4f3b2146105ea578063b1c0b9121461060a57600080fd5b806384e771c5146104fd5780638da5cb5b1461051d57806393ee15ca1461053b57806395d89b4114610555578063a457c2d71461056a57600080fd5b80632c10508c116101bc57806361fb8a761161018057806361fb8a76146104395780636417cbdd1461045957806370a0823114610492578063715018a6146104c85780637977a537146104dd57600080fd5b80632c10508c14610384578063313ce5671461039a57806339509351146103c05780633db36de9146103e05780634fbee1931461040057600080fd5b806313114a9d1161020357806313114a9d146102e15780631694505e146102f757806316a2f82a1461032f57806318160ddd1461034f57806323b872dd1461036457600080fd5b806306fdde0314610240578063095ea7b31461026b578063099d0d301461029b5780630c43c79b146102bf57600080fd5b3661023b57005b600080fd5b34801561024c57600080fd5b5061025561078f565b6040516102629190611ebc565b60405180910390f35b34801561027757600080fd5b5061028b610286366004611f1f565b610821565b6040519015158152602001610262565b3480156102a757600080fd5b506102b1600b5481565b604051908152602001610262565b3480156102cb57600080fd5b506102df6102da366004611f4b565b610838565b005b3480156102ed57600080fd5b506102b1600d5481565b34801561030357600080fd5b50600754610317906001600160a01b031681565b6040516001600160a01b039091168152602001610262565b34801561033b57600080fd5b506102df61034a366004611fc0565b61091b565b34801561035b57600080fd5b506002546102b1565b34801561037057600080fd5b5061028b61037f366004611fe4565b6109f6565b34801561039057600080fd5b506102b1600a5481565b3480156103a657600080fd5b5060035460ff165b60405160ff9091168152602001610262565b3480156103cc57600080fd5b5061028b6103db366004611f1f565b610aa0565b3480156103ec57600080fd5b506102df6103fb366004612025565b610adc565b34801561040c57600080fd5b5061028b61041b366004611fc0565b6001600160a01b03166000908152600f602052604090205460ff1690565b34801561044557600080fd5b506102df610454366004612048565b610bc0565b34801561046557600080fd5b5061028b610474366004611fc0565b6001600160a01b031660009081526010602052604090205460ff1690565b34801561049e57600080fd5b506102b16104ad366004611fc0565b6001600160a01b031660009081526020819052604090205490565b3480156104d457600080fd5b506102df610c27565b3480156104e957600080fd5b506102df6104f8366004612048565b610c5d565b34801561050957600080fd5b506102df610518366004612048565b610cc4565b34801561052957600080fd5b506006546001600160a01b0316610317565b34801561054757600080fd5b506013546103ae9060ff1681565b34801561056157600080fd5b50610255610d2b565b34801561057657600080fd5b5061028b610585366004611f1f565b610d3a565b34801561059657600080fd5b506102df6105a5366004611fc0565b610dd3565b3480156105b657600080fd5b506102df6105c5366004611fc0565b610eae565b3480156105d657600080fd5b5061028b6105e5366004611f1f565b610f75565b3480156105f657600080fd5b506102df610605366004612048565b610f82565b34801561061657600080fd5b50600e54610317906001600160a01b031681565b34801561063657600080fd5b5061028b610645366004611fc0565b60116020526000908152604090205460ff1681565b34801561066657600080fd5b506102df610675366004611fc0565b611083565b34801561068657600080fd5b506102b1610695366004611fc0565b60126020526000908152604090205481565b3480156106b357600080fd5b506102b160095481565b3480156106c957600080fd5b506102b16106d8366004612061565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561070f57600080fd5b506102b160085481565b34801561072557600080fd5b506102df610734366004611fc0565b611162565b34801561074557600080fd5b506102df610754366004612048565b611241565b34801561076557600080fd5b506102b1600c5481565b34801561077b57600080fd5b506102df61078a366004611fc0565b6112a8565b60606004805461079e9061209a565b80601f01602080910402602001604051908101604052809291908181526020018280546107ca9061209a565b80156108175780601f106107ec57610100808354040283529160200191610817565b820191906000526020600020905b8154815290600101906020018083116107fa57829003601f168201915b5050505050905090565b600061082e338484611343565b5060015b92915050565b6006546001600160a01b0316331461086b5760405162461bcd60e51b8152600401610862906120d4565b60405180910390fd5b60005b818110156108dd576001600f600085858581811061088e5761088e612109565b90506020020160208101906108a39190611fc0565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806108d581612135565b91505061086e565b507f6f058e77d614a1061fc197c99cdde12f5fa414c92529bbe8f48b02f8d9f4f95d828260405161090f92919061214e565b60405180910390a15050565b6006546001600160a01b031633146109455760405162461bcd60e51b8152600401610862906120d4565b6001600160a01b0381166000908152600f602052604090205460ff166109ad5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c726561647920696e636c7564656400000000006044820152606401610862565b6001600160a01b0381166000818152600f6020526040808220805460ff19169055517f346f6c42af1ce4b7d7951f3fa40a2fb1e78c80ab0f3d76fb4f9fec269d568f0d9190a250565b6000610a03848484611467565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610a885760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610862565b610a958533858403611343565b506001949350505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161082e918590610ad790869061219c565b611343565b6006546001600160a01b03163314610b065760405162461bcd60e51b8152600401610862906120d4565b60058160ff161115610b705760405162461bcd60e51b815260206004820152602d60248201527f547261646520636f6f6c646f776e206d757374206265206265747765656e203160448201526c20616e64203520626c6f636b7360981b6064820152608401610862565b6013805460ff191660ff83169081179091556040805182815260208101929092527f61d5f52f88a645b285e957c0bcc84b2e5bb11208c5e90d3ec4209a3ebb202a1991015b60405180910390a150565b6006546001600160a01b03163314610bea5760405162461bcd60e51b8152600401610862906120d4565b6009819055610bf76118b3565b6040518181527fd116e3d8714841806736ef750dca6a19430c108b49f23815e815b2475ce5c14690602001610bb5565b6006546001600160a01b03163314610c515760405162461bcd60e51b8152600401610862906120d4565b610c5b6000611932565b565b6006546001600160a01b03163314610c875760405162461bcd60e51b8152600401610862906120d4565b600c819055610c946118b3565b6040518181527ff10240a71c74f6387f0fb83e07b47975beef788dfa581430441df21ce15bd3e190602001610bb5565b6006546001600160a01b03163314610cee5760405162461bcd60e51b8152600401610862906120d4565b600b819055610cfb6118b3565b6040518181527f28d64c98c5e69f60f071f2862d1aee781480490dfc25a7658c3c74e51ba2143d90602001610bb5565b60606005805461079e9061209a565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610dbc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610862565b610dc93385858403611343565b5060019392505050565b6006546001600160a01b03163314610dfd5760405162461bcd60e51b8152600401610862906120d4565b6001600160a01b03811660009081526010602052604090205460ff16610e655760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c726561647920696e636c7564656400000000006044820152606401610862565b6001600160a01b038116600081815260106020526040808220805460ff19169055517f3e7395d673f7e5f554c0d9c8e709595bf7408d3bd61080da0d4a99b6620de5729190a250565b6006546001600160a01b03163314610ed85760405162461bcd60e51b8152600401610862906120d4565b6001600160a01b038116610f275760405162461bcd60e51b815260206004820152601660248201527521b0b7103737ba1031329030b2323932b9b99418149760511b6044820152606401610862565b600e80546001600160a01b0319166001600160a01b0383169081179091556040519081527f62c65ec1bb8c7d4b3758b4959a649569528cdd5ac7f4f73191f024e4988b10bc90602001610bb5565b600061082e338484611467565b6006546001600160a01b03163314610fac5760405162461bcd60e51b8152600401610862906120d4565b620f4240610fb960025490565b610fc391906121af565b81118015610fe65750612710610fd860025490565b610fe291906121af565b8111155b61104e5760405162461bcd60e51b815260206004820152603360248201527f416d6f756e74206d757374206265206265747765656e20302e30303125202d20604482015272302e31206f6620746f74616c20737570706c7960681b6064820152608401610862565b60088190556040518181527fcba17309eff0b14bb89cad72aef8b308a23d698dfff957e2255d17bbc03620bd90602001610bb5565b6006546001600160a01b031633146110ad5760405162461bcd60e51b8152600401610862906120d4565b6001600160a01b03811660009081526010602052604090205460ff16156111165760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610862565b6001600160a01b038116600081815260106020526040808220805460ff19166001179055517f073743b90eb72e408f9e70dbdc0b5335fd7333b7fc4c29586079c9e37f36a9069190a250565b6006546001600160a01b0316331461118c5760405162461bcd60e51b8152600401610862906120d4565b6001600160a01b0381166000908152600f602052604090205460ff16156111f55760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610862565b6001600160a01b0381166000818152600f6020526040808220805460ff19166001179055517f57a00f76b5f242fb1e04b0b514a6974665a5b07bce45e39f36dabff4a042d9369190a250565b6006546001600160a01b0316331461126b5760405162461bcd60e51b8152600401610862906120d4565b600a8190556112786118b3565b6040518181527f1593a397ac0c5189ce0930093176f841da14a2574dd5c20f0f56b237e1b63ef790602001610bb5565b6006546001600160a01b031633146112d25760405162461bcd60e51b8152600401610862906120d4565b6001600160a01b0381166113375760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610862565b61134081611932565b50565b6001600160a01b0383166113a55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610862565b6001600160a01b0382166114065760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610862565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166114cc5760405162461bcd60e51b815260206004820152602660248201527f43616e206e6f74207472616e736665722066726f6d20746865207a65726f206160448201526564647265737360d01b6064820152608401610862565b6001600160a01b03821661152e5760405162461bcd60e51b8152602060048201526024808201527f43616e206e6f74207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610862565b806000036115475761154283836000611984565b505050565b600754600160a01b900460ff166116c6576001600160a01b03831660009081526010602052604090205460ff1661160f576013546001600160a01b03841660009081526012602052604090205443916115a59160ff9091169061219c565b11156115f35760405162461bcd60e51b815260206004820152601a60248201527f547261646520636f6f6c646f776e206e6f7420726561636865640000000000006044820152606401610862565b6001600160a01b03831660009081526012602052604090204390555b6001600160a01b03821660009081526010602052604090205460ff166116c6576013546001600160a01b038316600090815260126020526040902054439161165c9160ff9091169061219c565b11156116aa5760405162461bcd60e51b815260206004820152601a60248201527f547261646520636f6f6c646f776e206e6f7420726561636865640000000000006044820152606401610862565b6001600160a01b03821660009081526012602052604090204390555b600754600d5460085430600090815260208190526040812054600160a01b90940460ff16939091111590508080156116fc575082155b801561172157506001600160a01b03861660009081526011602052604090205460ff16155b801561173b57506006546001600160a01b03878116911614155b801561175557506006546001600160a01b03868116911614155b80156117615750600082115b1561176e5761176e611b53565b60008315801561179757506001600160a01b0387166000908152600f602052604090205460ff16155b80156117bc57506001600160a01b0386166000908152600f602052604090205460ff16155b80156117c85750600083115b9050801561189f576001600160a01b03871660009081526011602052604090205460ff16801561180657506007546001600160a01b03878116911614155b1561181e57600a5460095461181b919061219c565b92505b6001600160a01b03861660009081526011602052604090205460ff16801561185457506007546001600160a01b03888116911614155b1561186c57600c54600b54611869919061219c565b92505b6000606461187a85886121d1565b61188491906121af565b905061189081876121f0565b955061189d883083611984565b505b6118aa878787611984565b50505050505050565b600c54600b54600a546009546118c9919061219c565b6118d3919061219c565b6118dd919061219c565b600d81905560071015610c5b5760405162461bcd60e51b815260206004820152601e60248201527f546f74616c20666565732063616e206e6f74206265206f7665722037252e00006044820152606401610862565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0383166119e85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610862565b6001600160a01b038216611a4a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610862565b6001600160a01b03831660009081526020819052604090205481811015611ac25760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610862565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611af990849061219c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b4591815260200190565b60405180910390a350505050565b6007805460ff60a01b1916600160a01b179055600854600b54600954600091611b7b9161219c565b600d54909150600081611b8e84866121d1565b611b9891906121af565b90508015611ba957611ba981611be8565b6000611bb582866121f0565b90508015611bd457600e54611bd49082906001600160a01b0316611c7f565b50506007805460ff60a01b19169055505050565b6000611bf56002836121af565b90506000611c0382846121f0565b905047611c108330611c7f565b6000611c1c82476121f0565b905080600003611c2d575050505050565b611c378382611e0a565b60408051858152602081018390529081018490527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611cb457611cb4612109565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611d0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d319190612203565b81600181518110611d4457611d44612109565b6001600160a01b039283166020918202929092010152600754611d6a9130911685611343565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac94790611da3908690600090869088904290600401612220565b600060405180830381600087803b158015611dbd57600080fd5b505af1925050508015611dce575060015b611542576040518381527ff312a8cf41139222bcba78888c1a115141181d71dc3cab51c2cd2e19acb05fcf9060200160405180910390a1505050565b600754611e229030906001600160a01b031684611343565b60075460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015611e90573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611eb59190612291565b5050505050565b600060208083528351808285015260005b81811015611ee957858101830151858201604001528201611ecd565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461134057600080fd5b60008060408385031215611f3257600080fd5b8235611f3d81611f0a565b946020939093013593505050565b60008060208385031215611f5e57600080fd5b823567ffffffffffffffff80821115611f7657600080fd5b818501915085601f830112611f8a57600080fd5b813581811115611f9957600080fd5b8660208260051b8501011115611fae57600080fd5b60209290920196919550909350505050565b600060208284031215611fd257600080fd5b8135611fdd81611f0a565b9392505050565b600080600060608486031215611ff957600080fd5b833561200481611f0a565b9250602084013561201481611f0a565b929592945050506040919091013590565b60006020828403121561203757600080fd5b813560ff81168114611fdd57600080fd5b60006020828403121561205a57600080fd5b5035919050565b6000806040838503121561207457600080fd5b823561207f81611f0a565b9150602083013561208f81611f0a565b809150509250929050565b600181811c908216806120ae57607f821691505b6020821081036120ce57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016121475761214761211f565b5060010190565b60208082528181018390526000908460408401835b8681101561219157823561217681611f0a565b6001600160a01b031682529183019190830190600101612163565b509695505050505050565b808201808211156108325761083261211f565b6000826121cc57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156121eb576121eb61211f565b500290565b818103818111156108325761083261211f565b60006020828403121561221557600080fd5b8151611fdd81611f0a565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156122705784516001600160a01b03168352938301939183019160010161224b565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156122a657600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122096f89efbe823764332b691dbaaa134fc384808c93e82fd5bfe77dceeb670cf5e64736f6c63430008100033
Deployed Bytecode Sourcemap
10324:11296:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1826:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2813:194;;;;;;;;;;-1:-1:-1;2813:194:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;2813:194:0;1023:187:1;10573:35:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;10573:35:0;1215:177:1;14803:294:0;;;;;;;;;;-1:-1:-1;14803:294:0;;;;;:::i;:::-;;:::i;:::-;;10656:105;;;;;;;;;;;;;;;;10368:41;;;;;;;;;;-1:-1:-1;10368:41:0;;;;-1:-1:-1;;;;;10368:41:0;;;;;;-1:-1:-1;;;;;2207:32:1;;;2189:51;;2177:2;2162:18;10368:41:0;2017:229:1;14009:235:0;;;;;;;;;;-1:-1:-1;14009:235:0;;;;;:::i;:::-;;:::i;2154:108::-;;;;;;;;;;-1:-1:-1;2242:12:0;;2154:108;;3015:529;;;;;;;;;;-1:-1:-1;3015:529:0;;;;;:::i;:::-;;:::i;10531:33::-;;;;;;;;;;;;;;;;2046:100;;;;;;;;;;-1:-1:-1;2129:9:0;;;;2046:100;;;3136:4:1;3124:17;;;3106:36;;3094:2;3079:18;2046:100:0;2964:184:1;3552:290:0;;;;;;;;;;-1:-1:-1;3552:290:0;;;;;:::i;:::-;;:::i;16083:320::-;;;;;;;;;;-1:-1:-1;16083:320:0;;;;;:::i;:::-;;:::i;17076:126::-;;;;;;;;;;-1:-1:-1;17076:126:0;;;;;:::i;:::-;-1:-1:-1;;;;;17166:28:0;17142:4;17166:28;;;:19;:28;;;;;;;;;17076:126;15347:176;;;;;;;;;;-1:-1:-1;15347:176:0;;;;;:::i;:::-;;:::i;17210:132::-;;;;;;;;;;-1:-1:-1;17210:132:0;;;;;:::i;:::-;-1:-1:-1;;;;;17303:31:0;17279:4;17303:31;;;:22;:31;;;;;;;;;17210:132;2270:143;;;;;;;;;;-1:-1:-1;2270:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;2387:18:0;2360:7;2387:18;;;;;;;;;;;;2270:143;6648:94;;;;;;;;;;;;;:::i;15899:176::-;;;;;;;;;;-1:-1:-1;15899:176:0;;;;;:::i;:::-;;:::i;15712:179::-;;;;;;;;;;-1:-1:-1;15712:179:0;;;;;:::i;:::-;;:::i;6425:87::-;;;;;;;;;;-1:-1:-1;6498:6:0;;-1:-1:-1;;;;;6498:6:0;6425:87;;11111:30;;;;;;;;;;-1:-1:-1;11111:30:0;;;;;;;;1934:104;;;;;;;;;;;;;:::i;3850:475::-;;;;;;;;;;-1:-1:-1;3850:475:0;;;;;:::i;:::-;;:::i;14548:247::-;;;;;;;;;;-1:-1:-1;14548:247:0;;;;;:::i;:::-;;:::i;15105:234::-;;;;;;;;;;-1:-1:-1;15105:234:0;;;;;:::i;:::-;;:::i;2421:200::-;;;;;;;;;;-1:-1:-1;2421:200:0;;;;;:::i;:::-;;:::i;13393:361::-;;;;;;;;;;-1:-1:-1;13393:361:0;;;;;:::i;:::-;;:::i;10770:90::-;;;;;;;;;;-1:-1:-1;10770:90:0;;;;-1:-1:-1;;;;;10770:90:0;;;10994:57;;;;;;;;;;-1:-1:-1;10994:57:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14252:288;;;;;;;;;;-1:-1:-1;14252:288:0;;;;;:::i;:::-;;:::i;11060:44::-;;;;;;;;;;-1:-1:-1;11060:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;10490:34;;;;;;;;;;;;;;;;2629:176;;;;;;;;;;-1:-1:-1;2629:176:0;;;;;:::i;:::-;-1:-1:-1;;;;;2770:18:0;;;2743:7;2770:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2629:176;10448:33;;;;;;;;;;;;;;;;13762:239;;;;;;;;;;-1:-1:-1;13762:239:0;;;;;:::i;:::-;;:::i;15531:173::-;;;;;;;;;;-1:-1:-1;15531:173:0;;;;;:::i;:::-;;:::i;10615:34::-;;;;;;;;;;;;;;;;6750:229;;;;;;;;;;-1:-1:-1;6750:229:0;;;;;:::i;:::-;;:::i;1826:100::-;1880:13;1913:5;1906:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1826:100;:::o;2813:194::-;2921:4;2938:39;1209:10;2961:7;2970:6;2938:8;:39::i;:::-;-1:-1:-1;2995:4:0;2813:194;;;;;:::o;14803:294::-;6498:6;;-1:-1:-1;;;;;6498:6:0;1209:10;6560:23;6552:68;;;;-1:-1:-1;;;6552:68:0;;;;;;;:::i;:::-;;;;;;;;;14924:9:::1;14919:112;14939:19:::0;;::::1;14919:112;;;15015:4;14980:19;:32;15000:8;;15009:1;15000:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14980:32:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;14980:32:0;:39;;-1:-1:-1;;14980:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14960:3;::::1;::::0;::::1;:::i;:::-;;;;14919:112;;;;15048:41;15080:8;;15048:41;;;;;;;:::i;:::-;;;;;;;;14803:294:::0;;:::o;14009:235::-;6498:6;;-1:-1:-1;;;;;6498:6:0;1209:10;6560:23;6552:68;;;;-1:-1:-1;;;6552:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14087:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;::::1;;14079:68;;;::::0;-1:-1:-1;;;14079:68:0;;6535:2:1;14079:68:0::1;::::0;::::1;6517:21:1::0;6574:2;6554:18;;;6547:30;6613:29;6593:18;;;6586:57;6660:18;;14079:68:0::1;6333:351:1::0;14079:68:0::1;-1:-1:-1::0;;;;;14160:28:0;::::1;14191:5;14160:28:::0;;;:19:::1;:28;::::0;;;;;:36;;-1:-1:-1;;14160:36:0::1;::::0;;14214:22;::::1;::::0;14191:5;14214:22:::1;14009:235:::0;:::o;3015:529::-;3155:4;3172:36;3182:6;3190:9;3201:6;3172:9;:36::i;:::-;-1:-1:-1;;;;;3248:19:0;;3221:24;3248:19;;;:11;:19;;;;;;;;1209:10;3248:33;;;;;;;;3314:26;;;;3292:116;;;;-1:-1:-1;;;3292:116:0;;6891:2:1;3292:116:0;;;6873:21:1;6930:2;6910:18;;;6903:30;6969:34;6949:18;;;6942:62;-1:-1:-1;;;7020:18:1;;;7013:38;7068:19;;3292:116:0;6689:404:1;3292:116:0;3444:57;3453:6;1209:10;3494:6;3475:16;:25;3444:8;:57::i;:::-;-1:-1:-1;3532:4:0;;3015:529;-1:-1:-1;;;;3015:529:0:o;3552:290::-;1209:10;3665:4;3754:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;3754:34:0;;;;;;;;;;3665:4;;3682:130;;3732:7;;3754:47;;3791:10;;3754:47;:::i;:::-;3682:8;:130::i;16083:320::-;6498:6;;-1:-1:-1;;;;;6498:6:0;1209:10;6560:23;6552:68;;;;-1:-1:-1;;;6552:68:0;;;;;;;:::i;:::-;16205:1:::1;16185:16;:21;;;;16163:116;;;::::0;-1:-1:-1;;;16163:116:0;;7430:2:1;16163:116:0::1;::::0;::::1;7412:21:1::0;7469:2;7449:18;;;7442:30;7508:34;7488:18;;;7481:62;-1:-1:-1;;;7559:18:1;;;7552:43;7612:19;;16163:116:0::1;7228:409:1::0;16163:116:0::1;16292:13;:32:::0;;-1:-1:-1;;16292:32:0::1;;::::0;::::1;::::0;;::::1;::::0;;;16342:53:::1;::::0;;7808:36:1;;;7875:2;7860:18;;7853:45;;;;16342:53:0::1;::::0;7781:18:1;16342:53:0::1;;;;;;;;16083:320:::0;:::o;15347:176::-;6498:6;;-1:-1:-1;;;;;6498:6:0;1209:10;6560:23;6552:68;;;;-1:-1:-1;;;6552:68:0;;;;;;;:::i;:::-;15420:15:::1;:23:::0;;;15456:12:::1;:10;:12::i;:::-;15486:29;::::0;1361:25:1;;;15486:29:0::1;::::0;1349:2:1;1334:18;15486:29:0::1;1215:177:1::0;6648:94:0;6498:6;;-1:-1:-1;;;;;6498:6:0;1209:10;6560:23;6552:68;;;;-1:-1:-1;;;6552:68:0;;;;;;;:::i;:::-;6713:21:::1;6731:1;6713:9;:21::i;:::-;6648:94::o:0;15899:176::-;6498:6;;-1:-1:-1;;;;;6498:6:0;1209:10;6560:23;6552:68;;;;-1:-1:-1;;;6552:68:0;;;;;;;:::i;:::-;15972:15:::1;:23:::0;;;16008:12:::1;:10;:12::i;:::-;16038:29;::::0;1361:25:1;;;16038:29:0::1;::::0;1349:2:1;1334:18;16038:29:0::1;1215:177:1::0;15712:179:0;6498:6;;-1:-1:-1;;;;;6498:6:0;1209:10;6560:23;6552:68;;;;-1:-1:-1;;;6552:68:0;;;;;;;:::i;:::-;15786:16:::1;:24:::0;;;15823:12:::1;:10;:12::i;:::-;15853:30;::::0;1361:25:1;;;15853:30:0::1;::::0;1349:2:1;1334:18;15853:30:0::1;1215:177:1::0;1934:104:0;1990:13;2023:7;2016:14;;;;;:::i;3850:475::-;1209:10;3968:4;4012:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;4012:34:0;;;;;;;;;;4079:35;;;;4057:122;;;;-1:-1:-1;;;4057:122:0;;8111:2:1;4057:122:0;;;8093:21:1;8150:2;8130:18;;;8123:30;8189:34;8169:18;;;8162:62;-1:-1:-1;;;8240:18:1;;;8233:35;8285:19;;4057:122:0;7909:401:1;4057:122:0;4215:67;1209:10;4238:7;4266:15;4247:16;:34;4215:8;:67::i;:::-;-1:-1:-1;4313:4:0;;3850:475;-1:-1:-1;;;3850:475:0:o;14548:247::-;6498:6;;-1:-1:-1;;;;;6498:6:0;1209:10;6560:23;6552:68;;;;-1:-1:-1;;;6552:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14629:31:0;::::1;;::::0;;;:22:::1;:31;::::0;;;;;::::1;;14621:71;;;::::0;-1:-1:-1;;;14621:71:0;;6535:2:1;14621:71:0::1;::::0;::::1;6517:21:1::0;6574:2;6554:18;;;6547:30;6613:29;6593:18;;;6586:57;6660:18;;14621:71:0::1;6333:351:1::0;14621:71:0::1;-1:-1:-1::0;;;;;14705:31:0;::::1;14739:5;14705:31:::0;;;:22:::1;:31;::::0;;;;;:39;;-1:-1:-1;;14705:39:0::1;::::0;;14762:25;::::1;::::0;14739:5;14762:25:::1;14548:247:::0;:::o;15105:234::-;6498:6;;-1:-1:-1;;;;;6498:6:0;1209:10;6560:23;6552:68;;;;-1:-1:-1;;;6552:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15194:20:0;::::1;15186:55;;;::::0;-1:-1:-1;;;15186:55:0;;8517:2:1;15186:55:0::1;::::0;::::1;8499:21:1::0;8556:2;8536:18;;;8529:30;-1:-1:-1;;;8575:18:1;;;8568:52;8637:18;;15186:55:0::1;8315:346:1::0;15186:55:0::1;15254:21;:30:::0;;-1:-1:-1;;;;;;15254:30:0::1;-1:-1:-1::0;;;;;15254:30:0;::::1;::::0;;::::1;::::0;;;15302:29:::1;::::0;2189:51:1;;;15302:29:0::1;::::0;2177:2:1;2162:18;15302:29:0::1;2017:229:1::0;2421:200:0;2532:4;2549:42;1209:10;2573:9;2584:6;2549:9;:42::i;13393:361::-;6498:6;;-1:-1:-1;;;;;6498:6:0;1209:10;6560:23;6552:68;;;;-1:-1:-1;;;6552:68:0;;;;;;;:::i;:::-;13517:7:::1;13501:13;2242:12:::0;;;2154:108;13501:13:::1;:23;;;;:::i;:::-;13492:6;:32;:86;;;;;13571:7;13555:13;2242:12:::0;;;2154:108;13555:13:::1;:23;;;;:::i;:::-;13545:6;:33;;13492:86;13470:187;;;::::0;-1:-1:-1;;;13470:187:0;;9306:2:1;13470:187:0::1;::::0;::::1;9288:21:1::0;9345:2;9325:18;;;9318:30;9384:34;9364:18;;;9357:62;-1:-1:-1;;;9435:18:1;;;9428:49;9494:19;;13470:187:0::1;9104:415:1::0;13470:187:0::1;13668:18;:27:::0;;;13713:33:::1;::::0;1361:25:1;;;13713:33:0::1;::::0;1349:2:1;1334:18;13713:33:0::1;1215:177:1::0;14252:288:0;6498:6;;-1:-1:-1;;;;;6498:6:0;1209:10;6560:23;6552:68;;;;-1:-1:-1;;;6552:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14350:31:0;::::1;;::::0;;;:22:::1;:31;::::0;;;;;::::1;;14349:32;14327:109;;;::::0;-1:-1:-1;;;14327:109:0;;9726:2:1;14327:109:0::1;::::0;::::1;9708:21:1::0;9765:2;9745:18;;;9738:30;9804:29;9784:18;;;9777:57;9851:18;;14327:109:0::1;9524:351:1::0;14327:109:0::1;-1:-1:-1::0;;;;;14449:31:0;::::1;;::::0;;;:22:::1;:31;::::0;;;;;:38;;-1:-1:-1;;14449:38:0::1;14483:4;14449:38;::::0;;14505:27;::::1;::::0;14449:31;14505:27:::1;14252:288:::0;:::o;13762:239::-;6498:6;;-1:-1:-1;;;;;6498:6:0;1209:10;6560:23;6552:68;;;;-1:-1:-1;;;6552:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13843:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;::::1;;13842:29;13834:69;;;::::0;-1:-1:-1;;;13834:69:0;;9726:2:1;13834:69:0::1;::::0;::::1;9708:21:1::0;9765:2;9745:18;;;9738:30;9804:29;9784:18;;;9777:57;9851:18;;13834:69:0::1;9524:351:1::0;13834:69:0::1;-1:-1:-1::0;;;;;13916:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;:35;;-1:-1:-1;;13916:35:0::1;13947:4;13916:35;::::0;;13969:24;::::1;::::0;13916:28;13969:24:::1;13762:239:::0;:::o;15531:173::-;6498:6;;-1:-1:-1;;;;;6498:6:0;1209:10;6560:23;6552:68;;;;-1:-1:-1;;;6552:68:0;;;;;;;:::i;:::-;15603:14:::1;:22:::0;;;15638:12:::1;:10;:12::i;:::-;15668:28;::::0;1361:25:1;;;15668:28:0::1;::::0;1349:2:1;1334:18;15668:28:0::1;1215:177:1::0;6750:229:0;6498:6;;-1:-1:-1;;;;;6498:6:0;1209:10;6560:23;6552:68;;;;-1:-1:-1;;;6552:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6853:22:0;::::1;6831:110;;;::::0;-1:-1:-1;;;6831:110:0;;10082:2:1;6831:110:0::1;::::0;::::1;10064:21:1::0;10121:2;10101:18;;;10094:30;10160:34;10140:18;;;10133:62;-1:-1:-1;;;10211:18:1;;;10204:36;10257:19;;6831:110:0::1;9880:402:1::0;6831:110:0::1;6952:19;6962:8;6952:9;:19::i;:::-;6750:229:::0;:::o;5752:380::-;-1:-1:-1;;;;;5888:19:0;;5880:68;;;;-1:-1:-1;;;5880:68:0;;10489:2:1;5880:68:0;;;10471:21:1;10528:2;10508:18;;;10501:30;10567:34;10547:18;;;10540:62;-1:-1:-1;;;10618:18:1;;;10611:34;10662:19;;5880:68:0;10287:400:1;5880:68:0;-1:-1:-1;;;;;5967:21:0;;5959:68;;;;-1:-1:-1;;;5959:68:0;;10894:2:1;5959:68:0;;;10876:21:1;10933:2;10913:18;;;10906:30;10972:34;10952:18;;;10945:62;-1:-1:-1;;;11023:18:1;;;11016:32;11065:19;;5959:68:0;10692:398:1;5959:68:0;-1:-1:-1;;;;;6040:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6092:32;;1361:25:1;;;6092:32:0;;1334:18:1;6092:32:0;;;;;;;5752:380;;;:::o;17350:2242::-;-1:-1:-1;;;;;17482:18:0;;17474:69;;;;-1:-1:-1;;;17474:69:0;;11297:2:1;17474:69:0;;;11279:21:1;11336:2;11316:18;;;11309:30;11375:34;11355:18;;;11348:62;-1:-1:-1;;;11426:18:1;;;11419:36;11472:19;;17474:69:0;11095:402:1;17474:69:0;-1:-1:-1;;;;;17562:16:0;;17554:65;;;;-1:-1:-1;;;17554:65:0;;11704:2:1;17554:65:0;;;11686:21:1;11743:2;11723:18;;;11716:30;11782:34;11762:18;;;11755:62;-1:-1:-1;;;11833:18:1;;;11826:34;11877:19;;17554:65:0;11502:400:1;17554:65:0;17636:6;17646:1;17636:11;17632:93;;17664:28;17680:4;17686:2;17690:1;17664:15;:28::i;:::-;17350:2242;;;:::o;17632:93::-;17742:8;;-1:-1:-1;;;17742:8:0;;;;17737:583;;-1:-1:-1;;;;;17772:28:0;;;;;;:22;:28;;;;;;;;17767:266;;17869:13;;-1:-1:-1;;;;;17851:15:0;;17869:13;17851:15;;;:9;:15;;;;;;17886:12;;17851:31;;17869:13;;;;;17851:31;:::i;:::-;:47;;17821:147;;;;-1:-1:-1;;;17821:147:0;;12109:2:1;17821:147:0;;;12091:21:1;12148:2;12128:18;;;12121:30;12187:28;12167:18;;;12160:56;12233:18;;17821:147:0;11907:350:1;17821:147:0;-1:-1:-1;;;;;17987:15:0;;;;;;:9;:15;;;;;18005:12;17987:30;;17767:266;-1:-1:-1;;;;;18054:26:0;;;;;;:22;:26;;;;;;;;18049:260;;18147:13;;-1:-1:-1;;;;;18131:13:0;;18147;18131;;;:9;:13;;;;;;18164:12;;18131:29;;18147:13;;;;;18131:29;:::i;:::-;:45;;18101:145;;;;-1:-1:-1;;;18101:145:0;;12109:2:1;18101:145:0;;;12091:21:1;12148:2;12128:18;;;12121:30;12187:28;12167:18;;;12160:56;12233:18;;18101:145:0;11907:350:1;18101:145:0;-1:-1:-1;;;;;18265:13:0;;;;;;:9;:13;;;;;18281:12;18265:28;;18049:260;18353:8;;18397:9;;18462:18;;18452:4;18332:18;2387;;;;;;;;;;;-1:-1:-1;;;18353:8:0;;;;;;18332:18;;-1:-1:-1;18434:46:0;18419:61;;18511:7;:38;;;;;18536:13;18535:14;18511:38;:87;;;;-1:-1:-1;;;;;;18567:31:0;;;;;;:25;:31;;;;;;;;18566:32;18511:87;:119;;;;-1:-1:-1;6498:6:0;;-1:-1:-1;;;;;18615:15:0;;;6498:6;;18615:15;;18511:119;:149;;;;-1:-1:-1;6498:6:0;;-1:-1:-1;;;;;18647:13:0;;;6498:6;;18647:13;;18511:149;:184;;;;;18694:1;18677:14;:18;18511:184;18493:247;;;18722:6;:4;:6::i;:::-;18752:12;18768:13;18767:14;:57;;;;-1:-1:-1;;;;;;18799:25:0;;;;;;:19;:25;;;;;;;;18798:26;18767:57;:98;;;;-1:-1:-1;;;;;;18842:23:0;;;;;;:19;:23;;;;;;;;18841:24;18767:98;:133;;;;;18899:1;18882:14;:18;18767:133;18752:148;;18917:7;18913:626;;;-1:-1:-1;;;;;18963:31:0;;;;;;:25;:31;;;;;;;;:82;;;;-1:-1:-1;19029:15:0;;-1:-1:-1;;;;;19015:30:0;;;19029:15;;19015:30;;18963:82;18941:204;;;19115:14;;19097:15;;:32;;;;:::i;:::-;19080:49;;18941:204;-1:-1:-1;;;;;19183:29:0;;;;;;:25;:29;;;;;;;;:82;;;;-1:-1:-1;19249:15:0;;-1:-1:-1;;;;;19233:32:0;;;19249:15;;19233:32;;19183:82;19161:206;;;19336:15;;19317:16;;:34;;;;:::i;:::-;19300:51;;19161:206;19383:12;19426:3;19399:23;19408:14;19399:6;:23;:::i;:::-;19398:31;;;;:::i;:::-;19383:46;-1:-1:-1;19455:13:0;19383:46;19455:6;:13;:::i;:::-;19446:22;;19485:42;19501:4;19515;19522;19485:15;:42::i;:::-;18926:613;18913:626;19551:33;19567:4;19573:2;19577:6;19551:15;:33::i;:::-;17463:2129;;;;17350:2242;;;:::o;16411:253::-;16571:15;;16539:16;;16509:14;;16478:15;;:45;;;;:::i;:::-;:77;;;;:::i;:::-;:108;;;;:::i;:::-;16453:9;:133;;;16620:1;-1:-1:-1;16607:14:0;16599:57;;;;-1:-1:-1;;;16599:57:0;;12770:2:1;16599:57:0;;;12752:21:1;12809:2;12789:18;;;12782:30;12848:32;12828:18;;;12821:60;12898:18;;16599:57:0;12568:354:1;6987:173:0;7062:6;;;-1:-1:-1;;;;;7079:17:0;;;-1:-1:-1;;;;;;7079:17:0;;;;;;;7112:40;;7062:6;;;7079:17;7062:6;;7112:40;;7043:16;;7112:40;7032:128;6987:173;:::o;4333:651::-;-1:-1:-1;;;;;4473:20:0;;4465:70;;;;-1:-1:-1;;;4465:70:0;;13129:2:1;4465:70:0;;;13111:21:1;13168:2;13148:18;;;13141:30;13207:34;13187:18;;;13180:62;-1:-1:-1;;;13258:18:1;;;13251:35;13303:19;;4465:70:0;12927:401:1;4465:70:0;-1:-1:-1;;;;;4554:23:0;;4546:71;;;;-1:-1:-1;;;4546:71:0;;13535:2:1;4546:71:0;;;13517:21:1;13574:2;13554:18;;;13547:30;13613:34;13593:18;;;13586:62;-1:-1:-1;;;13664:18:1;;;13657:33;13707:19;;4546:71:0;13333:399:1;4546:71:0;-1:-1:-1;;;;;4654:17:0;;4630:21;4654:17;;;;;;;;;;;4704:23;;;;4682:111;;;;-1:-1:-1;;;4682:111:0;;13939:2:1;4682:111:0;;;13921:21:1;13978:2;13958:18;;;13951:30;14017:34;13997:18;;;13990:62;-1:-1:-1;;;14068:18:1;;;14061:36;14114:19;;4682:111:0;13737:402:1;4682:111:0;-1:-1:-1;;;;;4829:17:0;;;:9;:17;;;;;;;;;;;4849:22;;;4829:42;;4893:20;;;;;;;;:30;;4865:6;;4829:9;4893:30;;4865:6;;4893:30;:::i;:::-;;;;;;;;4958:9;-1:-1:-1;;;;;4941:35:0;4950:6;-1:-1:-1;;;;;4941:35:0;;4969:6;4941:35;;;;1361:25:1;;1349:2;1334:18;;1215:177;4941:35:0;;;;;;;;4454:530;4333:651;;;:::o;19600:512::-;12291:8;:15;;-1:-1:-1;;;;12291:15:0;-1:-1:-1;;;12291:15:0;;;19664:18:::1;::::0;19742:16:::1;::::0;19724:15:::1;::::0;12291;;19724:34:::1;::::0;::::1;:::i;:::-;19794:9;::::0;19695:63;;-1:-1:-1;19769:22:0::1;19794:9:::0;19838:27:::1;19695:63:::0;19838:6;:27:::1;:::i;:::-;19837:46;;;;:::i;:::-;19816:67:::0;-1:-1:-1;19900:14:0;;19896:46:::1;;19916:26;19931:10;19916:14;:26::i;:::-;19955:22;19980:19;19989:10:::0;19980:6;:19:::1;:::i;:::-;19955:44:::0;-1:-1:-1;20016:18:0;;20012:92:::1;;20082:21;::::0;20049:55:::1;::::0;20066:14;;-1:-1:-1;;;;;20082:21:0::1;20049:16;:55::i;:::-;-1:-1:-1::0;;12329:8:0;:16;;-1:-1:-1;;;;12329:16:0;;;-1:-1:-1;;;19600:512:0:o;20120:466::-;20179:12;20194:10;20203:1;20194:6;:10;:::i;:::-;20179:25;-1:-1:-1;20215:17:0;20235:13;20179:25;20235:6;:13;:::i;:::-;20215:33;-1:-1:-1;20286:21:0;20320:37;20337:4;20351;20320:16;:37::i;:::-;20370:18;20391:38;20415:14;20391:21;:38;:::i;:::-;20370:59;;20446:10;20460:1;20446:15;20442:28;;20463:7;;;;20120:466;:::o;20442:28::-;20482:35;20495:9;20506:10;20482:12;:35::i;:::-;20535:43;;;14346:25:1;;;14402:2;14387:18;;14380:34;;;14430:18;;;14423:34;;;20535:43:0;;14334:2:1;14319:18;20535:43:0;;;;;;;20168:418;;;;20120:466;:::o;20594:645::-;20730:16;;;20744:1;20730:16;;;;;;;;20706:21;;20730:16;;;;;;;;;;-1:-1:-1;20730:16:0;20706:40;;20775:4;20757;20762:1;20757:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20757:23:0;;;:7;;;;;;;;;;:23;;;;20801:15;;:22;;;-1:-1:-1;;;20801:22:0;;;;:15;;;;;:20;;:22;;;;;20757:7;;20801:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20791:4;20796:1;20791:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20791:32:0;;;:7;;;;;;;;;:32;20868:15;;20836:62;;20853:4;;20868:15;20886:11;20836:8;:62::i;:::-;20928:15;;:218;;-1:-1:-1;;;20928:218:0;;-1:-1:-1;;;;;20928:15:0;;;;:66;;:218;;21013:11;;20928:15;;21063:4;;21086:11;;21116:15;;20928:218;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20911:321;;21185:35;;1361:25:1;;;21185:35:0;;1349:2:1;1334:18;21185:35:0;;;;;;;17350:2242;;;:::o;21247:370::-;21360:15;;21328:62;;21345:4;;-1:-1:-1;;;;;21360:15:0;21378:11;21328:8;:62::i;:::-;21403:15;;:206;;-1:-1:-1;;;21403:206:0;;21475:4;21403:206;;;16182:34:1;16232:18;;;16225:34;;;21403:15:0;16275:18:1;;;16268:34;;;16318:18;;;16311:34;21561:6:0;16361:19:1;;;16354:44;21583:15:0;16414:19:1;;;16407:35;-1:-1:-1;;;;;21403:15:0;;;;:31;;21442:9;;16116:19:1;;21403:206:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;21247:370;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:615::-;1483:6;1491;1544:2;1532:9;1523:7;1519:23;1515:32;1512:52;;;1560:1;1557;1550:12;1512:52;1600:9;1587:23;1629:18;1670:2;1662:6;1659:14;1656:34;;;1686:1;1683;1676:12;1656:34;1724:6;1713:9;1709:22;1699:32;;1769:7;1762:4;1758:2;1754:13;1750:27;1740:55;;1791:1;1788;1781:12;1740:55;1831:2;1818:16;1857:2;1849:6;1846:14;1843:34;;;1873:1;1870;1863:12;1843:34;1926:7;1921:2;1911:6;1908:1;1904:14;1900:2;1896:23;1892:32;1889:45;1886:65;;;1947:1;1944;1937:12;1886:65;1978:2;1970:11;;;;;2000:6;;-1:-1:-1;1397:615:1;;-1:-1:-1;;;;1397:615:1:o;2251:247::-;2310:6;2363:2;2351:9;2342:7;2338:23;2334:32;2331:52;;;2379:1;2376;2369:12;2331:52;2418:9;2405:23;2437:31;2462:5;2437:31;:::i;:::-;2487:5;2251:247;-1:-1:-1;;;2251:247:1:o;2503:456::-;2580:6;2588;2596;2649:2;2637:9;2628:7;2624:23;2620:32;2617:52;;;2665:1;2662;2655:12;2617:52;2704:9;2691:23;2723:31;2748:5;2723:31;:::i;:::-;2773:5;-1:-1:-1;2830:2:1;2815:18;;2802:32;2843:33;2802:32;2843:33;:::i;:::-;2503:456;;2895:7;;-1:-1:-1;;;2949:2:1;2934:18;;;;2921:32;;2503:456::o;3153:269::-;3210:6;3263:2;3251:9;3242:7;3238:23;3234:32;3231:52;;;3279:1;3276;3269:12;3231:52;3318:9;3305:23;3368:4;3361:5;3357:16;3350:5;3347:27;3337:55;;3388:1;3385;3378:12;3427:180;3486:6;3539:2;3527:9;3518:7;3514:23;3510:32;3507:52;;;3555:1;3552;3545:12;3507:52;-1:-1:-1;3578:23:1;;3427:180;-1:-1:-1;3427:180:1:o;4080:388::-;4148:6;4156;4209:2;4197:9;4188:7;4184:23;4180:32;4177:52;;;4225:1;4222;4215:12;4177:52;4264:9;4251:23;4283:31;4308:5;4283:31;:::i;:::-;4333:5;-1:-1:-1;4390:2:1;4375:18;;4362:32;4403:33;4362:32;4403:33;:::i;:::-;4455:7;4445:17;;;4080:388;;;;;:::o;4473:380::-;4552:1;4548:12;;;;4595;;;4616:61;;4670:4;4662:6;4658:17;4648:27;;4616:61;4723:2;4715:6;4712:14;4692:18;4689:38;4686:161;;4769:10;4764:3;4760:20;4757:1;4750:31;4804:4;4801:1;4794:15;4832:4;4829:1;4822:15;4686:161;;4473:380;;;:::o;4858:356::-;5060:2;5042:21;;;5079:18;;;5072:30;5138:34;5133:2;5118:18;;5111:62;5205:2;5190:18;;4858:356::o;5219:127::-;5280:10;5275:3;5271:20;5268:1;5261:31;5311:4;5308:1;5301:15;5335:4;5332:1;5325:15;5351:127;5412:10;5407:3;5403:20;5400:1;5393:31;5443:4;5440:1;5433:15;5467:4;5464:1;5457:15;5483:135;5522:3;5543:17;;;5540:43;;5563:18;;:::i;:::-;-1:-1:-1;5610:1:1;5599:13;;5483:135::o;5623:705::-;5804:2;5856:21;;;5829:18;;;5912:22;;;5775:4;;5991:6;5965:2;5950:18;;5775:4;6025:277;6039:6;6036:1;6033:13;6025:277;;;6114:6;6101:20;6134:31;6159:5;6134:31;:::i;:::-;-1:-1:-1;;;;;6190:31:1;6178:44;;6277:15;;;;6242:12;;;;6218:1;6054:9;6025:277;;;-1:-1:-1;6319:3:1;5623:705;-1:-1:-1;;;;;;5623:705:1:o;7098:125::-;7163:9;;;7184:10;;;7181:36;;;7197:18;;:::i;8882:217::-;8922:1;8948;8938:132;;8992:10;8987:3;8983:20;8980:1;8973:31;9027:4;9024:1;9017:15;9055:4;9052:1;9045:15;8938:132;-1:-1:-1;9084:9:1;;8882:217::o;12262:168::-;12302:7;12368:1;12364;12360:6;12356:14;12353:1;12350:21;12345:1;12338:9;12331:17;12327:45;12324:71;;;12375:18;;:::i;:::-;-1:-1:-1;12415:9:1;;12262:168::o;12435:128::-;12502:9;;;12523:11;;;12520:37;;;12537:18;;:::i;14600:251::-;14670:6;14723:2;14711:9;14702:7;14698:23;14694:32;14691:52;;;14739:1;14736;14729:12;14691:52;14771:9;14765:16;14790:31;14815:5;14790:31;:::i;14856:980::-;15118:4;15166:3;15155:9;15151:19;15197:6;15186:9;15179:25;15223:2;15261:6;15256:2;15245:9;15241:18;15234:34;15304:3;15299:2;15288:9;15284:18;15277:31;15328:6;15363;15357:13;15394:6;15386;15379:22;15432:3;15421:9;15417:19;15410:26;;15471:2;15463:6;15459:15;15445:29;;15492:1;15502:195;15516:6;15513:1;15510:13;15502:195;;;15581:13;;-1:-1:-1;;;;;15577:39:1;15565:52;;15672:15;;;;15637:12;;;;15613:1;15531:9;15502:195;;;-1:-1:-1;;;;;;;15753:32:1;;;;15748:2;15733:18;;15726:60;-1:-1:-1;;;15817:3:1;15802:19;15795:35;15714:3;14856:980;-1:-1:-1;;;14856:980:1:o;16453:306::-;16541:6;16549;16557;16610:2;16598:9;16589:7;16585:23;16581:32;16578:52;;;16626:1;16623;16616:12;16578:52;16655:9;16649:16;16639:26;;16705:2;16694:9;16690:18;16684:25;16674:35;;16749:2;16738:9;16734:18;16728:25;16718:35;;16453:306;;;;;:::o
Swarm Source
ipfs://96f89efbe823764332b691dbaaa134fc384808c93e82fd5bfe77dceeb670cf5e
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.