Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
10,000,000 KEK
Holders
34
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.904298389101865991 KEKValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
KEKISSTILLFINE
Compiler Version
v0.8.10+commit.fc410830
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-10-18 */ /* TELEGRAM : https://t.me/kekisstillfine TWITTER: https://twitter.com/kekisfine WEBSITE: http://kekisstillfine.vip/ */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.10; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } 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 ); } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _setOwner(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any _account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } 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); } } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } interface IDexSwapFactory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function getPair(address tokenA, address tokenB) external view returns (address pair); function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDexSwapPair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IDexSwapRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract KEKISSTILLFINE is Context, IERC20, Ownable { using SafeMath for uint256; address public developmentWallet; string private _name = "Kek is Still Fine"; string private _symbol = unicode"KEK"; uint8 private _decimals = 18; uint256 private _totalSupply = 1000_000_0 * 10**_decimals; uint256 public _maxTxAmount = _totalSupply.mul(2).div(100); // 2% uint256 public _walletMax = _totalSupply.mul(2).div(100); // 2% uint256 feedenominator = 100; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public isExcludedFromFee; mapping (address => bool) public isMarketPair; mapping (address => bool) public isWalletLimitExempt; mapping (address => bool) public isTxLimitExempt; uint256 public swapThreshold = _totalSupply.mul(1).div(100); bool public swapEnabled = true; bool public swapbylimit = true; bool public EnableTxLimit = true; bool public checkWalletLimit = true; uint public buyTax = 25; uint public sellTax = 35; IDexSwapRouter public dexRouter; address public dexPair; bool public tradingEnable; uint256 public launchedAt; bool inSwap; address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; address public immutable zeroAddress = 0x0000000000000000000000000000000000000000; modifier onlyGuard() { require(msg.sender == developmentWallet,"Invalid Caller"); _; } modifier swapping() { inSwap = true; _; inSwap = false; } event SwapTokensForETH( uint256 amountIn, address[] path ); constructor() { developmentWallet = msg.sender; IDexSwapRouter _dexRouter = IDexSwapRouter( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); dexPair = IDexSwapFactory(_dexRouter.factory()) .createPair(address(this), _dexRouter.WETH()); dexRouter = _dexRouter; isExcludedFromFee[address(this)] = true; isExcludedFromFee[msg.sender] = true; isExcludedFromFee[address(dexRouter)] = true; isWalletLimitExempt[msg.sender] = true; isWalletLimitExempt[address(dexRouter)] = true; isWalletLimitExempt[address(this)] = true; isWalletLimitExempt[deadAddress] = true; isWalletLimitExempt[zeroAddress] = true; isWalletLimitExempt[address(dexPair)] = true; isTxLimitExempt[deadAddress] = true; isTxLimitExempt[zeroAddress] = true; isTxLimitExempt[msg.sender] = true; isTxLimitExempt[address(this)] = true; isTxLimitExempt[address(dexRouter)] = true; isMarketPair[address(dexPair)] = true; _allowances[address(this)][address(dexPair)] = ~uint256(0); _allowances[address(this)][address(dexRouter)] = ~uint256(0); _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address owner, address spender, uint256 amount) private { 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); } //to recieve ETH from Router when swaping receive() external payable {} function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: Exceeds allowance")); return true; } function _transfer(address sender, address recipient, uint256 amount) private returns (bool) { require(sender != address(0)); require(recipient != address(0)); require(amount > 0); if (inSwap) { return _basicTransfer(sender, recipient, amount); } else { if(!tradingEnable) { require(isExcludedFromFee[sender] || isExcludedFromFee[recipient], "Trading Paused"); } uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= swapThreshold; if ( overMinimumTokenBalance && !inSwap && !isMarketPair[sender] && swapEnabled && !isExcludedFromFee[sender] && !isExcludedFromFee[recipient] ) { swapBack(contractTokenBalance); } if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient] && EnableTxLimit) { require(amount <= _maxTxAmount, "Exceeds maxTxAmount"); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 finalAmount = shouldNotTakeFee(sender,recipient) ? amount : takeFee(sender, recipient, amount); if(checkWalletLimit && !isWalletLimitExempt[recipient]) { require(balanceOf(recipient).add(finalAmount) <= _walletMax,"Exceeds Wallet"); } _balances[recipient] = _balances[recipient].add(finalAmount); emit Transfer(sender, recipient, finalAmount); return true; } } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function shouldNotTakeFee(address sender, address recipient) internal view returns (bool) { if(isExcludedFromFee[sender] || isExcludedFromFee[recipient]) { return true; } else if (isMarketPair[sender] || isMarketPair[recipient]) { return false; } else { return false; } } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint feeAmount; unchecked { if(isMarketPair[sender]) { feeAmount = amount.mul(buyTax).div(feedenominator); } else if(isMarketPair[recipient]) { feeAmount = amount.mul(sellTax).div(feedenominator); } if(feeAmount > 0) { _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } return amount.sub(feeAmount); } } function swapBack(uint contractBalance) internal swapping { if(swapbylimit) contractBalance = swapThreshold; uint256 initialBalance = address(this).balance; swapTokensForEth(contractBalance); uint256 amountReceived = address(this).balance.sub(initialBalance); if(amountReceived > 0) payable(developmentWallet).transfer(amountReceived); } function swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = dexRouter.WETH(); _approve(address(this), address(dexRouter), tokenAmount); // make the swap dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), // The contract block.timestamp ); emit SwapTokensForETH(tokenAmount, path); } function rescueFunds() external onlyGuard { (bool os,) = payable(msg.sender).call{value: address(this).balance}(""); require(os,"Transaction Failed!!"); } function rescueTokens(address _token,address recipient,uint _amount) external onlyGuard { (bool success, ) = address(_token).call(abi.encodeWithSignature('transfer(address,uint256)', recipient, _amount)); require(success, 'Token payment failed'); } function setBuyFee(uint _buySide, uint _sellSide) external onlyOwner { buyTax = _buySide; sellTax = _sellSide; } function removeLimits() external onlyGuard { EnableTxLimit = false; checkWalletLimit = false; } function enableTxLimit(bool _status) external onlyOwner { EnableTxLimit = _status; } function enableWalletLimit(bool _status) external onlyOwner { checkWalletLimit = _status; } function excludeFromFee(address _adr,bool _status) external onlyOwner { isExcludedFromFee[_adr] = _status; } function excludeWalletLimit(address _adr,bool _status) external onlyOwner { isWalletLimitExempt[_adr] = _status; } function excludeTxLimit(address _adr,bool _status) external onlyOwner { isTxLimitExempt[_adr] = _status; } function setMaxWalletLimit(uint256 newLimit) external onlyOwner() { _walletMax = newLimit; } function setTxLimit(uint256 newLimit) external onlyOwner() { _maxTxAmount = newLimit; } function setDevelopmentWallet(address _newWallet) external onlyOwner { developmentWallet = _newWallet; } function setSwapBackSettings(uint _threshold, bool _enabled, bool _limited) external onlyGuard { swapEnabled = _enabled; swapbylimit = _limited; swapThreshold = _threshold; } function enableTrading() external onlyOwner { require(!tradingEnable, "Trade Enabled!"); tradingEnable = true; launchedAt = block.timestamp; } function setMarketPair(address _pair, bool _status) external onlyOwner { isMarketPair[_pair] = _status; if(_status) { isWalletLimitExempt[_pair] = _status; } } }
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":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":"EnableTxLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"developmentWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexSwapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeWalletLimit","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":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buySide","type":"uint256"},{"internalType":"uint256","name":"_sellSide","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newWallet","type":"address"}],"name":"setDevelopmentWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"setMarketPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"},{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"bool","name":"_limited","type":"bool"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapbylimit","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":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnable","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":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
610100604052601160c0819052704b656b206973205374696c6c2046696e6560781b60e0908152620000359160029190620005e7565b50604080518082019091526003808252624b454b60e81b6020909201918252620000609181620005e7565b506004805460ff191660129081179091556200007e90600a620007a0565b6200008d9062989680620007b1565b600555620000c76064620000b360026005546200047d60201b620011de1790919060201c565b6200051160201b6200125d1790919060201c565b600655620000ed6064620000b360026005546200047d60201b620011de1790919060201c565b6007556064600855620001186064620000b360016005546200047d60201b620011de1790919060201c565b600f556010805463ffffffff191663010101011790556019601155602360125561dead608052600060a0523480156200015057600080fd5b506200015c336200055b565b600180546001600160a01b031916331790556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d91829163c45a0155916004808201926020929091908290030181865afa158015620001c2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e89190620007d3565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000236573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025c9190620007d3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d09190620007d3565b601480546001600160a01b03199081166001600160a01b0393841617825560138054909116848416178155306000818152600b60209081526040808320805460ff19908116600190811790925533808652838620805483168417905587548a1686528386208054831684179055808652600d8552838620805483168417905587548a168652838620805483168417905586865283862080548316841790556080518a16808752848720805484168517905560a0518b1680885285882080548516861790558a548c1688528588208054851686179055908752600e86528487208054841685179055865283862080548316841790558086528386208054831684179055868652838620805483168417905587548a168652838620805483168417905588548a168652600c855283862080549092169092179055938352600a82528083209554871683529481528482206000199081905593549095168152838120929092556005548183526009855283832081905592519283529290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350620008b6565b6000826200048e575060006200050b565b60006200049c8385620007b1565b905082620004ab8583620007fe565b14620005085760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200050883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620005ab60201b60201c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008183620005cf5760405162461bcd60e51b8152600401620004ff919062000821565b506000620005de8486620007fe565b95945050505050565b828054620005f59062000879565b90600052602060002090601f01602090048101928262000619576000855562000664565b82601f106200063457805160ff191683800117855562000664565b8280016001018555821562000664579182015b828111156200066457825182559160200191906001019062000647565b506200067292915062000676565b5090565b5b8082111562000672576000815560010162000677565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620006e4578160001904821115620006c857620006c86200068d565b80851615620006d657918102915b93841c9390800290620006a8565b509250929050565b600082620006fd575060016200050b565b816200070c575060006200050b565b8160018114620007255760028114620007305762000750565b60019150506200050b565b60ff8411156200074457620007446200068d565b50506001821b6200050b565b5060208310610133831016604e8410600b841016171562000775575081810a6200050b565b620007818383620006a3565b80600019048211156200079857620007986200068d565b029392505050565b60006200050860ff841683620006ec565b6000816000190483118215151615620007ce57620007ce6200068d565b500290565b600060208284031215620007e657600080fd5b81516001600160a01b03811681146200050857600080fd5b6000826200081c57634e487b7160e01b600052601260045260246000fd5b500490565b600060208083528351808285015260005b81811015620008505785810183015185820160400152820162000832565b8181111562000863576000604083870101525b50601f01601f1916929092016040019392505050565b600181811c908216806200088e57607f821691505b60208210811415620008b057634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05161223c620008dc60003960006103530152600061040d015261223c6000f3fe6080604052600436106102b25760003560e01c80637d1db4a511610175578063c16dd4a4116100dc578063e6b2603b11610095578063f242ab411161006f578063f242ab41146108bd578063f2fde38b146108dd578063f872858a146108fd578063fb0ecfa41461091e57600080fd5b8063e6b2603b14610869578063e9fd33941461087e578063ee828db31461089d57600080fd5b8063c16dd4a41461077d578063c867d60b1461079d578063cc1776d3146107cd578063cea9d26f146107e3578063dd62ed3e14610803578063df8408fe1461084957600080fd5b8063a457c2d71161012e578063a457c2d7146106c7578063a9059cbb146106e7578063ae85ade614610707578063b94b0aef14610727578063bf56b37114610747578063c04a54141461075d57600080fd5b80637d1db4a514610623578063807c2d9c146106395780638a8c523c1461064f5780638b42507f146106645780638da5cb5b1461069457806395d89b41146106b257600080fd5b80634974d88f116102195780636ddd1713116101d25780636ddd17131461056957806370a0823114610583578063715018a6146105b9578063728d41c9146105ce57806372ac2486146105ee578063751039fc1461060e57600080fd5b80634974d88f146104a15780634f7041a5146104c35780635342acb4146104d95780635c85974f146105095780635e42358c14610529578063651a89871461054957600080fd5b806318160ddd1161026b57806318160ddd146103c657806323b872dd146103db57806327c8f835146103fb578063313ce5671461042f57806339509351146104515780633ecad2711461047157600080fd5b80630445b667146102be57806306fdde03146102e75780630758d924146103095780630930907b14610341578063095ea7b3146103755780631693e8d4146103a557600080fd5b366102b957005b600080fd5b3480156102ca57600080fd5b506102d4600f5481565b6040519081526020015b60405180910390f35b3480156102f357600080fd5b506102fc61093e565b6040516102de9190611dec565b34801561031557600080fd5b50601354610329906001600160a01b031681565b6040516001600160a01b0390911681526020016102de565b34801561034d57600080fd5b506103297f000000000000000000000000000000000000000000000000000000000000000081565b34801561038157600080fd5b50610395610390366004611e34565b6109d0565b60405190151581526020016102de565b3480156103b157600080fd5b5060145461039590600160a01b900460ff1681565b3480156103d257600080fd5b506005546102d4565b3480156103e757600080fd5b506103956103f6366004611e60565b6109e7565b34801561040757600080fd5b506103297f000000000000000000000000000000000000000000000000000000000000000081565b34801561043b57600080fd5b5060045460405160ff90911681526020016102de565b34801561045d57600080fd5b5061039561046c366004611e34565b610a93565b34801561047d57600080fd5b5061039561048c366004611ea1565b600c6020526000908152604090205460ff1681565b3480156104ad57600080fd5b506104c16104bc366004611ed3565b610ac9565b005b3480156104cf57600080fd5b506102d460115481565b3480156104e557600080fd5b506103956104f4366004611ea1565b600b6020526000908152604090205460ff1681565b34801561051557600080fd5b506104c1610524366004611eee565b610b1a565b34801561053557600080fd5b506010546103959062010000900460ff1681565b34801561055557600080fd5b506104c1610564366004611f07565b610b49565b34801561057557600080fd5b506010546103959060ff1681565b34801561058f57600080fd5b506102d461059e366004611ea1565b6001600160a01b031660009081526009602052604090205490565b3480156105c557600080fd5b506104c1610b9e565b3480156105da57600080fd5b506104c16105e9366004611eee565b610bd4565b3480156105fa57600080fd5b506104c1610609366004611ea1565b610c03565b34801561061a57600080fd5b506104c1610c4f565b34801561062f57600080fd5b506102d460065481565b34801561064557600080fd5b506102d460075481565b34801561065b57600080fd5b506104c1610c88565b34801561067057600080fd5b5061039561067f366004611ea1565b600e6020526000908152604090205460ff1681565b3480156106a057600080fd5b506000546001600160a01b0316610329565b3480156106be57600080fd5b506102fc610d16565b3480156106d357600080fd5b506103956106e2366004611e34565b610d25565b3480156106f357600080fd5b50610395610702366004611e34565b610d74565b34801561071357600080fd5b506104c1610722366004611f07565b610d81565b34801561073357600080fd5b506104c1610742366004611f3c565b610dd6565b34801561075357600080fd5b506102d460155481565b34801561076957600080fd5b50600154610329906001600160a01b031681565b34801561078957600080fd5b506104c1610798366004611f07565b610e27565b3480156107a957600080fd5b506103956107b8366004611ea1565b600d6020526000908152604090205460ff1681565b3480156107d957600080fd5b506102d460125481565b3480156107ef57600080fd5b506104c16107fe366004611e60565b610ea7565b34801561080f57600080fd5b506102d461081e366004611f78565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b34801561085557600080fd5b506104c1610864366004611f07565b610fba565b34801561087557600080fd5b506104c161100f565b34801561088a57600080fd5b5060105461039590610100900460ff1681565b3480156108a957600080fd5b506104c16108b8366004611ed3565b6110cb565b3480156108c957600080fd5b50601454610329906001600160a01b031681565b3480156108e957600080fd5b506104c16108f8366004611ea1565b611111565b34801561090957600080fd5b50601054610395906301000000900460ff1681565b34801561092a57600080fd5b506104c1610939366004611fb1565b6111a9565b60606002805461094d90611fd3565b80601f016020809104026020016040519081016040528092919081815260200182805461097990611fd3565b80156109c65780601f1061099b576101008083540402835291602001916109c6565b820191906000526020600020905b8154815290600101906020018083116109a957829003601f168201915b5050505050905090565b60006109dd33848461129f565b5060015b92915050565b60006109f48484846113c3565b50610a888433610a83856040518060400160405280601881526020017f45524332303a204578636565647320616c6c6f77616e63650000000000000000815250600a60008b6001600160a01b03166001600160a01b031681526020019081526020016000206000610a623390565b6001600160a01b0316815260208101919091526040016000205491906117b5565b61129f565b5060015b9392505050565b336000818152600a602090815260408083206001600160a01b038716845290915281205490916109dd918590610a8390866117ef565b6000546001600160a01b03163314610afc5760405162461bcd60e51b8152600401610af39061200e565b60405180910390fd5b6010805491151563010000000263ff00000019909216919091179055565b6000546001600160a01b03163314610b445760405162461bcd60e51b8152600401610af39061200e565b600655565b6000546001600160a01b03163314610b735760405162461bcd60e51b8152600401610af39061200e565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610bc85760405162461bcd60e51b8152600401610af39061200e565b610bd2600061184e565b565b6000546001600160a01b03163314610bfe5760405162461bcd60e51b8152600401610af39061200e565b600755565b6000546001600160a01b03163314610c2d5760405162461bcd60e51b8152600401610af39061200e565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b03163314610c795760405162461bcd60e51b8152600401610af390612043565b6010805463ffff000019169055565b6000546001600160a01b03163314610cb25760405162461bcd60e51b8152600401610af39061200e565b601454600160a01b900460ff1615610cfd5760405162461bcd60e51b815260206004820152600e60248201526d547261646520456e61626c65642160901b6044820152606401610af3565b6014805460ff60a01b1916600160a01b17905542601555565b60606003805461094d90611fd3565b60006109dd3384610a83856040518060600160405280602581526020016121e260259139336000908152600a602090815260408083206001600160a01b038d16845290915290205491906117b5565b6000610a883384846113c3565b6000546001600160a01b03163314610dab5760405162461bcd60e51b8152600401610af39061200e565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6001546001600160a01b03163314610e005760405162461bcd60e51b8152600401610af390612043565b6010805461ffff191692151561ff0019169290921761010091151591909102179055600f55565b6000546001600160a01b03163314610e515760405162461bcd60e51b8152600401610af39061200e565b6001600160a01b0382166000908152600c60205260409020805460ff19168215801591909117909155610ea3576001600160a01b0382166000908152600d60205260409020805460ff19168215151790555b5050565b6001546001600160a01b03163314610ed15760405162461bcd60e51b8152600401610af390612043565b6040516001600160a01b038381166024830152604482018390526000919085169060640160408051601f198184030181529181526020820180516001600160e01b031663a9059cbb60e01b17905251610f2a919061206b565b6000604051808303816000865af19150503d8060008114610f67576040519150601f19603f3d011682016040523d82523d6000602084013e610f6c565b606091505b5050905080610fb45760405162461bcd60e51b8152602060048201526014602482015273151bdad95b881c185e5b595b9d0819985a5b195960621b6044820152606401610af3565b50505050565b6000546001600160a01b03163314610fe45760405162461bcd60e51b8152600401610af39061200e565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6001546001600160a01b031633146110395760405162461bcd60e51b8152600401610af390612043565b604051600090339047908381818185875af1925050503d806000811461107b576040519150601f19603f3d011682016040523d82523d6000602084013e611080565b606091505b50509050806110c85760405162461bcd60e51b81526020600482015260146024820152735472616e73616374696f6e204661696c6564212160601b6044820152606401610af3565b50565b6000546001600160a01b031633146110f55760405162461bcd60e51b8152600401610af39061200e565b60108054911515620100000262ff000019909216919091179055565b6000546001600160a01b0316331461113b5760405162461bcd60e51b8152600401610af39061200e565b6001600160a01b0381166111a05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610af3565b6110c88161184e565b6000546001600160a01b031633146111d35760405162461bcd60e51b8152600401610af39061200e565b601191909155601255565b6000826111ed575060006109e1565b60006111f9838561209d565b90508261120685836120bc565b14610a8c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610af3565b6000610a8c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061189e565b6001600160a01b0383166113015760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610af3565b6001600160a01b0382166113625760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610af3565b6001600160a01b038381166000818152600a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166113d857600080fd5b6001600160a01b0383166113eb57600080fd5b600082116113f857600080fd5b60165460ff16156114155761140e8484846118cc565b9050610a8c565b601454600160a01b900460ff166114a2576001600160a01b0384166000908152600b602052604090205460ff168061146557506001600160a01b0383166000908152600b602052604090205460ff165b6114a25760405162461bcd60e51b815260206004820152600e60248201526d151c98591a5b99c814185d5cd95960921b6044820152606401610af3565b30600090815260096020526040902054600f54811080159081906114c9575060165460ff16155b80156114ee57506001600160a01b0386166000908152600c602052604090205460ff16155b80156114fc575060105460ff165b801561152157506001600160a01b0386166000908152600b602052604090205460ff16155b801561154657506001600160a01b0385166000908152600b602052604090205460ff16155b1561155457611554826119b2565b6001600160a01b0386166000908152600e602052604090205460ff1615801561159657506001600160a01b0385166000908152600e602052604090205460ff16155b80156115aa575060105462010000900460ff165b156115f7576006548411156115f75760405162461bcd60e51b8152602060048201526013602482015272115e18d959591cc81b585e151e105b5bdd5b9d606a1b6044820152606401610af3565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600990915291909120546116499186906117b5565b6001600160a01b03871660009081526009602052604081209190915561166f8787611a3d565b6116835761167e878787611add565b611685565b845b6010549091506301000000900460ff1680156116ba57506001600160a01b0386166000908152600d602052604090205460ff16155b1561172a576007546116eb826116e5896001600160a01b031660009081526009602052604090205490565b906117ef565b111561172a5760405162461bcd60e51b815260206004820152600e60248201526d115e18d959591cc815d85b1b195d60921b6044820152606401610af3565b6001600160a01b03861660009081526009602052604090205461174d90826117ef565b6001600160a01b0380881660008181526009602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117a19085815260200190565b60405180910390a360019350505050610a8c565b600081848411156117d95760405162461bcd60e51b8152600401610af39190611dec565b5060006117e684866120de565b95945050505050565b6000806117fc83856120f5565b905083811015610a8c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610af3565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600081836118bf5760405162461bcd60e51b8152600401610af39190611dec565b5060006117e684866120bc565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260099091529182205461191d9184906117b5565b6001600160a01b03808616600090815260096020526040808220939093559085168152205461194c90836117ef565b6001600160a01b0380851660008181526009602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119a09086815260200190565b60405180910390a35060019392505050565b6016805460ff19166001179055601054610100900460ff16156119d45750600f545b476119de82611beb565b60006119ea4783611d7e565b90508015611a2e576001546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611a2c573d6000803e3d6000fd5b505b50506016805460ff1916905550565b6001600160a01b0382166000908152600b602052604081205460ff1680611a7c57506001600160a01b0382166000908152600b602052604090205460ff165b15611a89575060016109e1565b6001600160a01b0383166000908152600c602052604090205460ff1680611ac857506001600160a01b0382166000908152600c602052604090205460ff165b15611ad5575060006109e1565b5060006109e1565b6001600160a01b0383166000908152600c6020526040812054819060ff1615611b2857611b21600854611b1b601154866111de90919063ffffffff16565b9061125d565b9050611b67565b6001600160a01b0384166000908152600c602052604090205460ff1615611b6757611b64600854611b1b601254866111de90919063ffffffff16565b90505b8015611be15730600090815260096020526040902054611b8790826117ef565b30600081815260096020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611bd89085815260200190565b60405180910390a35b6117e68382611d7e565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611c2057611c2061210d565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611c79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c9d9190612123565b81600181518110611cb057611cb061210d565b6001600160a01b039283166020918202929092010152601354611cd6913091168461129f565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac94790611d0f908590600090869030904290600401612184565b600060405180830381600087803b158015611d2957600080fd5b505af1158015611d3d573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611d729291906121c0565b60405180910390a15050565b6000610a8c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506117b5565b60005b83811015611ddb578181015183820152602001611dc3565b83811115610fb45750506000910152565b6020815260008251806020840152611e0b816040850160208701611dc0565b601f01601f19169190910160400192915050565b6001600160a01b03811681146110c857600080fd5b60008060408385031215611e4757600080fd5b8235611e5281611e1f565b946020939093013593505050565b600080600060608486031215611e7557600080fd5b8335611e8081611e1f565b92506020840135611e9081611e1f565b929592945050506040919091013590565b600060208284031215611eb357600080fd5b8135610a8c81611e1f565b80358015158114611ece57600080fd5b919050565b600060208284031215611ee557600080fd5b610a8c82611ebe565b600060208284031215611f0057600080fd5b5035919050565b60008060408385031215611f1a57600080fd5b8235611f2581611e1f565b9150611f3360208401611ebe565b90509250929050565b600080600060608486031215611f5157600080fd5b83359250611f6160208501611ebe565b9150611f6f60408501611ebe565b90509250925092565b60008060408385031215611f8b57600080fd5b8235611f9681611e1f565b91506020830135611fa681611e1f565b809150509250929050565b60008060408385031215611fc457600080fd5b50508035926020909101359150565b600181811c90821680611fe757607f821691505b6020821081141561200857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600e908201526d24b73b30b634b21021b0b63632b960911b604082015260600190565b6000825161207d818460208701611dc0565b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156120b7576120b7612087565b500290565b6000826120d957634e487b7160e01b600052601260045260246000fd5b500490565b6000828210156120f0576120f0612087565b500390565b6000821982111561210857612108612087565b500190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561213557600080fd5b8151610a8c81611e1f565b600081518084526020808501945080840160005b838110156121795781516001600160a01b031687529582019590820190600101612154565b509495945050505050565b85815284602082015260a0604082015260006121a360a0830186612140565b6001600160a01b0394909416606083015250608001529392505050565b8281526040602082015260006121d96040830184612140565b94935050505056fe45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212200c5c252b4f900346c0fc16ba91edac0b3b8ca03e8a62beaf89b52d9dfea499db64736f6c634300080a0033
Deployed Bytecode
0x6080604052600436106102b25760003560e01c80637d1db4a511610175578063c16dd4a4116100dc578063e6b2603b11610095578063f242ab411161006f578063f242ab41146108bd578063f2fde38b146108dd578063f872858a146108fd578063fb0ecfa41461091e57600080fd5b8063e6b2603b14610869578063e9fd33941461087e578063ee828db31461089d57600080fd5b8063c16dd4a41461077d578063c867d60b1461079d578063cc1776d3146107cd578063cea9d26f146107e3578063dd62ed3e14610803578063df8408fe1461084957600080fd5b8063a457c2d71161012e578063a457c2d7146106c7578063a9059cbb146106e7578063ae85ade614610707578063b94b0aef14610727578063bf56b37114610747578063c04a54141461075d57600080fd5b80637d1db4a514610623578063807c2d9c146106395780638a8c523c1461064f5780638b42507f146106645780638da5cb5b1461069457806395d89b41146106b257600080fd5b80634974d88f116102195780636ddd1713116101d25780636ddd17131461056957806370a0823114610583578063715018a6146105b9578063728d41c9146105ce57806372ac2486146105ee578063751039fc1461060e57600080fd5b80634974d88f146104a15780634f7041a5146104c35780635342acb4146104d95780635c85974f146105095780635e42358c14610529578063651a89871461054957600080fd5b806318160ddd1161026b57806318160ddd146103c657806323b872dd146103db57806327c8f835146103fb578063313ce5671461042f57806339509351146104515780633ecad2711461047157600080fd5b80630445b667146102be57806306fdde03146102e75780630758d924146103095780630930907b14610341578063095ea7b3146103755780631693e8d4146103a557600080fd5b366102b957005b600080fd5b3480156102ca57600080fd5b506102d4600f5481565b6040519081526020015b60405180910390f35b3480156102f357600080fd5b506102fc61093e565b6040516102de9190611dec565b34801561031557600080fd5b50601354610329906001600160a01b031681565b6040516001600160a01b0390911681526020016102de565b34801561034d57600080fd5b506103297f000000000000000000000000000000000000000000000000000000000000000081565b34801561038157600080fd5b50610395610390366004611e34565b6109d0565b60405190151581526020016102de565b3480156103b157600080fd5b5060145461039590600160a01b900460ff1681565b3480156103d257600080fd5b506005546102d4565b3480156103e757600080fd5b506103956103f6366004611e60565b6109e7565b34801561040757600080fd5b506103297f000000000000000000000000000000000000000000000000000000000000dead81565b34801561043b57600080fd5b5060045460405160ff90911681526020016102de565b34801561045d57600080fd5b5061039561046c366004611e34565b610a93565b34801561047d57600080fd5b5061039561048c366004611ea1565b600c6020526000908152604090205460ff1681565b3480156104ad57600080fd5b506104c16104bc366004611ed3565b610ac9565b005b3480156104cf57600080fd5b506102d460115481565b3480156104e557600080fd5b506103956104f4366004611ea1565b600b6020526000908152604090205460ff1681565b34801561051557600080fd5b506104c1610524366004611eee565b610b1a565b34801561053557600080fd5b506010546103959062010000900460ff1681565b34801561055557600080fd5b506104c1610564366004611f07565b610b49565b34801561057557600080fd5b506010546103959060ff1681565b34801561058f57600080fd5b506102d461059e366004611ea1565b6001600160a01b031660009081526009602052604090205490565b3480156105c557600080fd5b506104c1610b9e565b3480156105da57600080fd5b506104c16105e9366004611eee565b610bd4565b3480156105fa57600080fd5b506104c1610609366004611ea1565b610c03565b34801561061a57600080fd5b506104c1610c4f565b34801561062f57600080fd5b506102d460065481565b34801561064557600080fd5b506102d460075481565b34801561065b57600080fd5b506104c1610c88565b34801561067057600080fd5b5061039561067f366004611ea1565b600e6020526000908152604090205460ff1681565b3480156106a057600080fd5b506000546001600160a01b0316610329565b3480156106be57600080fd5b506102fc610d16565b3480156106d357600080fd5b506103956106e2366004611e34565b610d25565b3480156106f357600080fd5b50610395610702366004611e34565b610d74565b34801561071357600080fd5b506104c1610722366004611f07565b610d81565b34801561073357600080fd5b506104c1610742366004611f3c565b610dd6565b34801561075357600080fd5b506102d460155481565b34801561076957600080fd5b50600154610329906001600160a01b031681565b34801561078957600080fd5b506104c1610798366004611f07565b610e27565b3480156107a957600080fd5b506103956107b8366004611ea1565b600d6020526000908152604090205460ff1681565b3480156107d957600080fd5b506102d460125481565b3480156107ef57600080fd5b506104c16107fe366004611e60565b610ea7565b34801561080f57600080fd5b506102d461081e366004611f78565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b34801561085557600080fd5b506104c1610864366004611f07565b610fba565b34801561087557600080fd5b506104c161100f565b34801561088a57600080fd5b5060105461039590610100900460ff1681565b3480156108a957600080fd5b506104c16108b8366004611ed3565b6110cb565b3480156108c957600080fd5b50601454610329906001600160a01b031681565b3480156108e957600080fd5b506104c16108f8366004611ea1565b611111565b34801561090957600080fd5b50601054610395906301000000900460ff1681565b34801561092a57600080fd5b506104c1610939366004611fb1565b6111a9565b60606002805461094d90611fd3565b80601f016020809104026020016040519081016040528092919081815260200182805461097990611fd3565b80156109c65780601f1061099b576101008083540402835291602001916109c6565b820191906000526020600020905b8154815290600101906020018083116109a957829003601f168201915b5050505050905090565b60006109dd33848461129f565b5060015b92915050565b60006109f48484846113c3565b50610a888433610a83856040518060400160405280601881526020017f45524332303a204578636565647320616c6c6f77616e63650000000000000000815250600a60008b6001600160a01b03166001600160a01b031681526020019081526020016000206000610a623390565b6001600160a01b0316815260208101919091526040016000205491906117b5565b61129f565b5060015b9392505050565b336000818152600a602090815260408083206001600160a01b038716845290915281205490916109dd918590610a8390866117ef565b6000546001600160a01b03163314610afc5760405162461bcd60e51b8152600401610af39061200e565b60405180910390fd5b6010805491151563010000000263ff00000019909216919091179055565b6000546001600160a01b03163314610b445760405162461bcd60e51b8152600401610af39061200e565b600655565b6000546001600160a01b03163314610b735760405162461bcd60e51b8152600401610af39061200e565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610bc85760405162461bcd60e51b8152600401610af39061200e565b610bd2600061184e565b565b6000546001600160a01b03163314610bfe5760405162461bcd60e51b8152600401610af39061200e565b600755565b6000546001600160a01b03163314610c2d5760405162461bcd60e51b8152600401610af39061200e565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b03163314610c795760405162461bcd60e51b8152600401610af390612043565b6010805463ffff000019169055565b6000546001600160a01b03163314610cb25760405162461bcd60e51b8152600401610af39061200e565b601454600160a01b900460ff1615610cfd5760405162461bcd60e51b815260206004820152600e60248201526d547261646520456e61626c65642160901b6044820152606401610af3565b6014805460ff60a01b1916600160a01b17905542601555565b60606003805461094d90611fd3565b60006109dd3384610a83856040518060600160405280602581526020016121e260259139336000908152600a602090815260408083206001600160a01b038d16845290915290205491906117b5565b6000610a883384846113c3565b6000546001600160a01b03163314610dab5760405162461bcd60e51b8152600401610af39061200e565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6001546001600160a01b03163314610e005760405162461bcd60e51b8152600401610af390612043565b6010805461ffff191692151561ff0019169290921761010091151591909102179055600f55565b6000546001600160a01b03163314610e515760405162461bcd60e51b8152600401610af39061200e565b6001600160a01b0382166000908152600c60205260409020805460ff19168215801591909117909155610ea3576001600160a01b0382166000908152600d60205260409020805460ff19168215151790555b5050565b6001546001600160a01b03163314610ed15760405162461bcd60e51b8152600401610af390612043565b6040516001600160a01b038381166024830152604482018390526000919085169060640160408051601f198184030181529181526020820180516001600160e01b031663a9059cbb60e01b17905251610f2a919061206b565b6000604051808303816000865af19150503d8060008114610f67576040519150601f19603f3d011682016040523d82523d6000602084013e610f6c565b606091505b5050905080610fb45760405162461bcd60e51b8152602060048201526014602482015273151bdad95b881c185e5b595b9d0819985a5b195960621b6044820152606401610af3565b50505050565b6000546001600160a01b03163314610fe45760405162461bcd60e51b8152600401610af39061200e565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6001546001600160a01b031633146110395760405162461bcd60e51b8152600401610af390612043565b604051600090339047908381818185875af1925050503d806000811461107b576040519150601f19603f3d011682016040523d82523d6000602084013e611080565b606091505b50509050806110c85760405162461bcd60e51b81526020600482015260146024820152735472616e73616374696f6e204661696c6564212160601b6044820152606401610af3565b50565b6000546001600160a01b031633146110f55760405162461bcd60e51b8152600401610af39061200e565b60108054911515620100000262ff000019909216919091179055565b6000546001600160a01b0316331461113b5760405162461bcd60e51b8152600401610af39061200e565b6001600160a01b0381166111a05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610af3565b6110c88161184e565b6000546001600160a01b031633146111d35760405162461bcd60e51b8152600401610af39061200e565b601191909155601255565b6000826111ed575060006109e1565b60006111f9838561209d565b90508261120685836120bc565b14610a8c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610af3565b6000610a8c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061189e565b6001600160a01b0383166113015760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610af3565b6001600160a01b0382166113625760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610af3565b6001600160a01b038381166000818152600a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166113d857600080fd5b6001600160a01b0383166113eb57600080fd5b600082116113f857600080fd5b60165460ff16156114155761140e8484846118cc565b9050610a8c565b601454600160a01b900460ff166114a2576001600160a01b0384166000908152600b602052604090205460ff168061146557506001600160a01b0383166000908152600b602052604090205460ff165b6114a25760405162461bcd60e51b815260206004820152600e60248201526d151c98591a5b99c814185d5cd95960921b6044820152606401610af3565b30600090815260096020526040902054600f54811080159081906114c9575060165460ff16155b80156114ee57506001600160a01b0386166000908152600c602052604090205460ff16155b80156114fc575060105460ff165b801561152157506001600160a01b0386166000908152600b602052604090205460ff16155b801561154657506001600160a01b0385166000908152600b602052604090205460ff16155b1561155457611554826119b2565b6001600160a01b0386166000908152600e602052604090205460ff1615801561159657506001600160a01b0385166000908152600e602052604090205460ff16155b80156115aa575060105462010000900460ff165b156115f7576006548411156115f75760405162461bcd60e51b8152602060048201526013602482015272115e18d959591cc81b585e151e105b5bdd5b9d606a1b6044820152606401610af3565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600990915291909120546116499186906117b5565b6001600160a01b03871660009081526009602052604081209190915561166f8787611a3d565b6116835761167e878787611add565b611685565b845b6010549091506301000000900460ff1680156116ba57506001600160a01b0386166000908152600d602052604090205460ff16155b1561172a576007546116eb826116e5896001600160a01b031660009081526009602052604090205490565b906117ef565b111561172a5760405162461bcd60e51b815260206004820152600e60248201526d115e18d959591cc815d85b1b195d60921b6044820152606401610af3565b6001600160a01b03861660009081526009602052604090205461174d90826117ef565b6001600160a01b0380881660008181526009602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117a19085815260200190565b60405180910390a360019350505050610a8c565b600081848411156117d95760405162461bcd60e51b8152600401610af39190611dec565b5060006117e684866120de565b95945050505050565b6000806117fc83856120f5565b905083811015610a8c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610af3565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600081836118bf5760405162461bcd60e51b8152600401610af39190611dec565b5060006117e684866120bc565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260099091529182205461191d9184906117b5565b6001600160a01b03808616600090815260096020526040808220939093559085168152205461194c90836117ef565b6001600160a01b0380851660008181526009602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119a09086815260200190565b60405180910390a35060019392505050565b6016805460ff19166001179055601054610100900460ff16156119d45750600f545b476119de82611beb565b60006119ea4783611d7e565b90508015611a2e576001546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611a2c573d6000803e3d6000fd5b505b50506016805460ff1916905550565b6001600160a01b0382166000908152600b602052604081205460ff1680611a7c57506001600160a01b0382166000908152600b602052604090205460ff165b15611a89575060016109e1565b6001600160a01b0383166000908152600c602052604090205460ff1680611ac857506001600160a01b0382166000908152600c602052604090205460ff165b15611ad5575060006109e1565b5060006109e1565b6001600160a01b0383166000908152600c6020526040812054819060ff1615611b2857611b21600854611b1b601154866111de90919063ffffffff16565b9061125d565b9050611b67565b6001600160a01b0384166000908152600c602052604090205460ff1615611b6757611b64600854611b1b601254866111de90919063ffffffff16565b90505b8015611be15730600090815260096020526040902054611b8790826117ef565b30600081815260096020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611bd89085815260200190565b60405180910390a35b6117e68382611d7e565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611c2057611c2061210d565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611c79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c9d9190612123565b81600181518110611cb057611cb061210d565b6001600160a01b039283166020918202929092010152601354611cd6913091168461129f565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac94790611d0f908590600090869030904290600401612184565b600060405180830381600087803b158015611d2957600080fd5b505af1158015611d3d573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611d729291906121c0565b60405180910390a15050565b6000610a8c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506117b5565b60005b83811015611ddb578181015183820152602001611dc3565b83811115610fb45750506000910152565b6020815260008251806020840152611e0b816040850160208701611dc0565b601f01601f19169190910160400192915050565b6001600160a01b03811681146110c857600080fd5b60008060408385031215611e4757600080fd5b8235611e5281611e1f565b946020939093013593505050565b600080600060608486031215611e7557600080fd5b8335611e8081611e1f565b92506020840135611e9081611e1f565b929592945050506040919091013590565b600060208284031215611eb357600080fd5b8135610a8c81611e1f565b80358015158114611ece57600080fd5b919050565b600060208284031215611ee557600080fd5b610a8c82611ebe565b600060208284031215611f0057600080fd5b5035919050565b60008060408385031215611f1a57600080fd5b8235611f2581611e1f565b9150611f3360208401611ebe565b90509250929050565b600080600060608486031215611f5157600080fd5b83359250611f6160208501611ebe565b9150611f6f60408501611ebe565b90509250925092565b60008060408385031215611f8b57600080fd5b8235611f9681611e1f565b91506020830135611fa681611e1f565b809150509250929050565b60008060408385031215611fc457600080fd5b50508035926020909101359150565b600181811c90821680611fe757607f821691505b6020821081141561200857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600e908201526d24b73b30b634b21021b0b63632b960911b604082015260600190565b6000825161207d818460208701611dc0565b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156120b7576120b7612087565b500290565b6000826120d957634e487b7160e01b600052601260045260246000fd5b500490565b6000828210156120f0576120f0612087565b500390565b6000821982111561210857612108612087565b500190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561213557600080fd5b8151610a8c81611e1f565b600081518084526020808501945080840160005b838110156121795781516001600160a01b031687529582019590820190600101612154565b509495945050505050565b85815284602082015260a0604082015260006121a360a0830186612140565b6001600160a01b0394909416606083015250608001529392505050565b8281526040602082015260006121d96040830184612140565b94935050505056fe45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212200c5c252b4f900346c0fc16ba91edac0b3b8ca03e8a62beaf89b52d9dfea499db64736f6c634300080a0033
Deployed Bytecode Sourcemap
7298:12026:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8169:59;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;8169:59:0;;;;;;;;10477:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;8457:31::-;;;;;;;;;;-1:-1:-1;8457:31:0;;;;-1:-1:-1;;;;;8457:31:0;;;;;;-1:-1:-1;;;;;1033:32:1;;;1015:51;;1003:2;988:18;8457:31:0;847:225:1;8701:81:0;;;;;;;;;;;;;;;11647:161;;;;;;;;;;-1:-1:-1;11647:161:0;;;;;:::i;:::-;;:::i;:::-;;;1906:14:1;;1899:22;1881:41;;1869:2;1854:18;11647:161:0;1741:187:1;8526:25:0;;;;;;;;;;-1:-1:-1;8526:25:0;;;;-1:-1:-1;;;8526:25:0;;;;;;10754:100;;;;;;;;;;-1:-1:-1;10834:12:0;;10754:100;;12421:297;;;;;;;;;;-1:-1:-1;12421:297:0;;;;;:::i;:::-;;:::i;8613:81::-;;;;;;;;;;;;;;;10663:83;;;;;;;;;;-1:-1:-1;10729:9:0;;10663:83;;10729:9;;;;2536:36:1;;2524:2;2509:18;10663:83:0;2394:184:1;11144:218:0;;;;;;;;;;-1:-1:-1;11144:218:0;;;;;:::i;:::-;;:::i;8001:45::-;;;;;;;;;;-1:-1:-1;8001:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17834:105;;;;;;;;;;-1:-1:-1;17834:105:0;;;;;:::i;:::-;;:::i;:::-;;8394:23;;;;;;;;;;;;;;;;7944:50;;;;;;;;;;-1:-1:-1;7944:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;18455:101;;;;;;;;;;-1:-1:-1;18455:101:0;;;;;:::i;:::-;;:::i;8311:32::-;;;;;;;;;;-1:-1:-1;8311:32:0;;;;;;;;;;;18077:128;;;;;;;;;;-1:-1:-1;18077:128:0;;;;;:::i;:::-;;:::i;8237:30::-;;;;;;;;;;-1:-1:-1;8237:30:0;;;;;;;;10862:123;;;;;;;;;;-1:-1:-1;10862:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;10954:18:0;10928:7;10954:18;;;:9;:18;;;;;;;10862:123;1966:94;;;;;;;;;;;;;:::i;18341:106::-;;;;;;;;;;-1:-1:-1;18341:106:0;;;;;:::i;:::-;;:::i;18568:118::-;;;;;;;;;;-1:-1:-1;18568:118:0;;;;;:::i;:::-;;:::i;17601:119::-;;;;;;;;;;;;;:::i;7632:59::-;;;;;;;;;;;;;;;;7708:56;;;;;;;;;;;;;;;;18931:176;;;;;;;;;;;;;:::i;8112:48::-;;;;;;;;;;-1:-1:-1;8112:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;1657:87;;;;;;;;;;-1:-1:-1;1703:7:0;1730:6;-1:-1:-1;;;;;1730:6:0;1657:87;;10568;;;;;;;;;;;;;:::i;11370:269::-;;;;;;;;;;-1:-1:-1;11370:269:0;;;;;:::i;:::-;;:::i;12246:167::-;;;;;;;;;;-1:-1:-1;12246:167:0;;;;;:::i;:::-;;:::i;18213:120::-;;;;;;;;;;-1:-1:-1;18213:120:0;;;;;:::i;:::-;;:::i;18694:229::-;;;;;;;;;;-1:-1:-1;18694:229:0;;;;;:::i;:::-;;:::i;8559:25::-;;;;;;;;;;;;;;;;7394:32;;;;;;;;;;-1:-1:-1;7394:32:0;;;;-1:-1:-1;;;;;7394:32:0;;;19115:204;;;;;;;;;;-1:-1:-1;19115:204:0;;;;;:::i;:::-;;:::i;8053:52::-;;;;;;;;;;-1:-1:-1;8053:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8424:24;;;;;;;;;;;;;;;;17174:272;;;;;;;;;;-1:-1:-1;17174:272:0;;;;;:::i;:::-;;:::i;10993:143::-;;;;;;;;;;-1:-1:-1;10993:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;11101:18:0;;;11074:7;11101:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10993:143;17947:122;;;;;;;;;;-1:-1:-1;17947:122:0;;;;;:::i;:::-;;:::i;16988:178::-;;;;;;;;;;;;;:::i;8274:30::-;;;;;;;;;;-1:-1:-1;8274:30:0;;;;;;;;;;;17728:98;;;;;;;;;;-1:-1:-1;17728:98:0;;;;;:::i;:::-;;:::i;8495:22::-;;;;;;;;;;-1:-1:-1;8495:22:0;;;;-1:-1:-1;;;;;8495:22:0;;;2068:229;;;;;;;;;;-1:-1:-1;2068:229:0;;;;;:::i;:::-;;:::i;8350:35::-;;;;;;;;;;-1:-1:-1;8350:35:0;;;;;;;;;;;17454:139;;;;;;;;;;-1:-1:-1;17454:139:0;;;;;:::i;:::-;;:::i;10477:83::-;10514:13;10547:5;10540:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10477:83;:::o;11647:161::-;11722:4;11739:39;304:10;11762:7;11771:6;11739:8;:39::i;:::-;-1:-1:-1;11796:4:0;11647:161;;;;;:::o;12421:297::-;12519:4;12536:36;12546:6;12554:9;12565:6;12536:9;:36::i;:::-;-1:-1:-1;12583:105:0;12592:6;304:10;12614:73;12652:6;12614:73;;;;;;;;;;;;;;;;;:11;:19;12626:6;-1:-1:-1;;;;;12614:19:0;-1:-1:-1;;;;;12614:19:0;;;;;;;;;;;;:33;12634:12;304:10;;224:98;12634:12;-1:-1:-1;;;;;12614:33:0;;;;;;;;;;;;-1:-1:-1;12614:33:0;;;:73;:37;:73::i;:::-;12583:8;:105::i;:::-;-1:-1:-1;12706:4:0;12421:297;;;;;;:::o;11144:218::-;304:10;11232:4;11281:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;11281:34:0;;;;;;;;;;11232:4;;11249:83;;11272:7;;11281:50;;11320:10;11281:38;:50::i;17834:105::-;1703:7;1730:6;-1:-1:-1;;;;;1730:6:0;304:10;1878:23;1870:68;;;;-1:-1:-1;;;1870:68:0;;;;;;;:::i;:::-;;;;;;;;;17905:16:::1;:26:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;17905:26:0;;::::1;::::0;;;::::1;::::0;;17834:105::o;18455:101::-;1703:7;1730:6;-1:-1:-1;;;;;1730:6:0;304:10;1878:23;1870:68;;;;-1:-1:-1;;;1870:68:0;;;;;;;:::i;:::-;18525:12:::1;:23:::0;18455:101::o;18077:128::-;1703:7;1730:6;-1:-1:-1;;;;;1730:6:0;304:10;1878:23;1870:68;;;;-1:-1:-1;;;1870:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18162:25:0;;;::::1;;::::0;;;:19:::1;:25;::::0;;;;:35;;-1:-1:-1;;18162:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18077:128::o;1966:94::-;1703:7;1730:6;-1:-1:-1;;;;;1730:6:0;304:10;1878:23;1870:68;;;;-1:-1:-1;;;1870:68:0;;;;;;;:::i;:::-;2031:21:::1;2049:1;2031:9;:21::i;:::-;1966:94::o:0;18341:106::-;1703:7;1730:6;-1:-1:-1;;;;;1730:6:0;304:10;1878:23;1870:68;;;;-1:-1:-1;;;1870:68:0;;;;;;;:::i;:::-;18418:10:::1;:21:::0;18341:106::o;18568:118::-;1703:7;1730:6;-1:-1:-1;;;;;1730:6:0;304:10;1878:23;1870:68;;;;-1:-1:-1;;;1870:68:0;;;;;;;:::i;:::-;18648:17:::1;:30:::0;;-1:-1:-1;;;;;;18648:30:0::1;-1:-1:-1::0;;;;;18648:30:0;;;::::1;::::0;;;::::1;::::0;;18568:118::o;17601:119::-;8845:17;;-1:-1:-1;;;;;8845:17:0;8831:10;:31;8823:57;;;;-1:-1:-1;;;8823:57:0;;;;;;;:::i;:::-;17655:13:::1;:21:::0;;-1:-1:-1;;17687:25:0;;;17601:119::o;18931:176::-;1703:7;1730:6;-1:-1:-1;;;;;1730:6:0;304:10;1878:23;1870:68;;;;-1:-1:-1;;;1870:68:0;;;;;;;:::i;:::-;18995:13:::1;::::0;-1:-1:-1;;;18995:13:0;::::1;;;18994:14;18986:41;;;::::0;-1:-1:-1;;;18986:41:0;;5948:2:1;18986:41:0::1;::::0;::::1;5930:21:1::0;5987:2;5967:18;;;5960:30;-1:-1:-1;;;6006:18:1;;;5999:44;6060:18;;18986:41:0::1;5746:338:1::0;18986:41:0::1;19040:13;:20:::0;;-1:-1:-1;;;;19040:20:0::1;-1:-1:-1::0;;;19040:20:0::1;::::0;;19084:15:::1;19071:10;:28:::0;18931:176::o;10568:87::-;10607:13;10640:7;10633:14;;;;;:::i;11370:269::-;11463:4;11480:129;304:10;11503:7;11512:96;11551:15;11512:96;;;;;;;;;;;;;;;;;304:10;11512:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;11512:34:0;;;;;;;;;;;;:38;:96::i;12246:167::-;12324:4;12341:42;304:10;12365:9;12376:6;12341:9;:42::i;18213:120::-;1703:7;1730:6;-1:-1:-1;;;;;1730:6:0;304:10;1878:23;1870:68;;;;-1:-1:-1;;;1870:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18294:21:0;;;::::1;;::::0;;;:15:::1;:21;::::0;;;;:31;;-1:-1:-1;;18294:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18213:120::o;18694:229::-;8845:17;;-1:-1:-1;;;;;8845:17:0;8831:10;:31;8823:57;;;;-1:-1:-1;;;8823:57:0;;;;;;;:::i;:::-;18823:11:::1;:22:::0;;-1:-1:-1;;18856:22:0;18823;::::1;;-1:-1:-1::0;;18856:22:0;;;;;18823::::1;18856::::0;::::1;;::::0;;;::::1;;::::0;;18889:13:::1;:26:::0;18694:229::o;19115:204::-;1703:7;1730:6;-1:-1:-1;;;;;1730:6:0;304:10;1878:23;1870:68;;;;-1:-1:-1;;;1870:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19197:19:0;::::1;;::::0;;;:12:::1;:19;::::0;;;;:29;;-1:-1:-1;;19197:29:0::1;::::0;::::1;::::0;::::1;::::0;;;::::1;::::0;;;19237:75:::1;;-1:-1:-1::0;;;;;19264:26:0;::::1;;::::0;;;:19:::1;:26;::::0;;;;:36;;-1:-1:-1;;19264:36:0::1;::::0;::::1;;;::::0;;19237:75:::1;19115:204:::0;;:::o;17174:272::-;8845:17;;-1:-1:-1;;;;;8845:17:0;8831:10;:31;8823:57;;;;-1:-1:-1;;;8823:57:0;;;;;;;:::i;:::-;17313:73:::1;::::0;-1:-1:-1;;;;;6281:32:1;;;17313:73:0::1;::::0;::::1;6263:51:1::0;6330:18;;;6323:34;;;17274:12:0::1;::::0;17292:20;;::::1;::::0;6236:18:1;;17313:73:0::1;::::0;;-1:-1:-1;;17313:73:0;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;17313:73:0::1;-1:-1:-1::0;;;17313:73:0::1;::::0;;17292:95;::::1;::::0;17313:73;17292:95:::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17273:114;;;17406:7;17398:40;;;::::0;-1:-1:-1;;;17398:40:0;;6849:2:1;17398:40:0::1;::::0;::::1;6831:21:1::0;6888:2;6868:18;;;6861:30;-1:-1:-1;;;6907:18:1;;;6900:50;6967:18;;17398:40:0::1;6647:344:1::0;17398:40:0::1;17262:184;17174:272:::0;;;:::o;17947:122::-;1703:7;1730:6;-1:-1:-1;;;;;1730:6:0;304:10;1878:23;1870:68;;;;-1:-1:-1;;;1870:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18028:23:0;;;::::1;;::::0;;;:17:::1;:23;::::0;;;;:33;;-1:-1:-1;;18028:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17947:122::o;16988:178::-;8845:17;;-1:-1:-1;;;;;8845:17:0;8831:10;:31;8823:57;;;;-1:-1:-1;;;8823:57:0;;;;;;;:::i;:::-;17055:58:::1;::::0;17043:7:::1;::::0;17063:10:::1;::::0;17087:21:::1;::::0;17043:7;17055:58;17043:7;17055:58;17087:21;17063:10;17055:58:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17042:71;;;17132:2;17124:34;;;::::0;-1:-1:-1;;;17124:34:0;;7408:2:1;17124:34:0::1;::::0;::::1;7390:21:1::0;7447:2;7427:18;;;7420:30;-1:-1:-1;;;7466:18:1;;;7459:50;7526:18;;17124:34:0::1;7206:344:1::0;17124:34:0::1;17030:136;16988:178::o:0;17728:98::-;1703:7;1730:6;-1:-1:-1;;;;;1730:6:0;304:10;1878:23;1870:68;;;;-1:-1:-1;;;1870:68:0;;;;;;;:::i;:::-;17795:13:::1;:23:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;17795:23:0;;::::1;::::0;;;::::1;::::0;;17728:98::o;2068:229::-;1703:7;1730:6;-1:-1:-1;;;;;1730:6:0;304:10;1878:23;1870:68;;;;-1:-1:-1;;;1870:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2171:22:0;::::1;2149:110;;;::::0;-1:-1:-1;;;2149:110:0;;7757:2:1;2149:110:0::1;::::0;::::1;7739:21:1::0;7796:2;7776:18;;;7769:30;7835:34;7815:18;;;7808:62;-1:-1:-1;;;7886:18:1;;;7879:36;7932:19;;2149:110:0::1;7555:402:1::0;2149:110:0::1;2270:19;2280:8;2270:9;:19::i;17454:139::-:0;1703:7;1730:6;-1:-1:-1;;;;;1730:6:0;304:10;1878:23;1870:68;;;;-1:-1:-1;;;1870:68:0;;;;;;;:::i;:::-;17538:6:::1;:17:::0;;;;17566:7:::1;:19:::0;17454:139::o;3044:250::-;3102:7;3126:6;3122:47;;-1:-1:-1;3156:1:0;3149:8;;3122:47;3181:9;3193:5;3197:1;3193;:5;:::i;:::-;3181:17;-1:-1:-1;3226:1:0;3217:5;3221:1;3181:17;3217:5;:::i;:::-;:10;3209:56;;;;-1:-1:-1;;;3209:56:0;;8691:2:1;3209:56:0;;;8673:21:1;8730:2;8710:18;;;8703:30;8769:34;8749:18;;;8742:62;-1:-1:-1;;;8820:18:1;;;8813:31;8861:19;;3209:56:0;8489:397:1;3302:132:0;3360:7;3387:39;3391:1;3394;3387:39;;;;;;;;;;;;;;;;;:3;:39::i;11816:337::-;-1:-1:-1;;;;;11909:19:0;;11901:68;;;;-1:-1:-1;;;11901:68:0;;9093:2:1;11901:68:0;;;9075:21:1;9132:2;9112:18;;;9105:30;9171:34;9151:18;;;9144:62;-1:-1:-1;;;9222:18:1;;;9215:34;9266:19;;11901:68:0;8891:400:1;11901:68:0;-1:-1:-1;;;;;11988:21:0;;11980:68;;;;-1:-1:-1;;;11980:68:0;;9498:2:1;11980:68:0;;;9480:21:1;9537:2;9517:18;;;9510:30;9576:34;9556:18;;;9549:62;-1:-1:-1;;;9627:18:1;;;9620:32;9669:19;;11980:68:0;9296:398:1;11980:68:0;-1:-1:-1;;;;;12061:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12113:32;;160:25:1;;;12113:32:0;;133:18:1;12113:32:0;;;;;;;11816:337;;;:::o;12726:1761::-;12813:4;-1:-1:-1;;;;;12840:20:0;;12832:29;;;;;;-1:-1:-1;;;;;12880:23:0;;12872:32;;;;;;12932:1;12923:6;:10;12915:19;;;;;;12955:6;;;;12951:1527;;;12985:41;13000:6;13008:9;13019:6;12985:14;:41::i;:::-;12978:48;;;;12951:1527;13074:13;;-1:-1:-1;;;13074:13:0;;;;13070:139;;-1:-1:-1;;;;;13116:25:0;;;;;;:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;13145:28:0;;;;;;:17;:28;;;;;;;;13116:57;13108:84;;;;-1:-1:-1;;;13108:84:0;;9901:2:1;13108:84:0;;;9883:21:1;9940:2;9920:18;;;9913:30;-1:-1:-1;;;9959:18:1;;;9952:44;10013:18;;13108:84:0;9699:338:1;13108:84:0;13274:4;13225:28;10954:18;;;:9;:18;;;;;;13350:13;;13326:37;;;;;;;13402:52;;-1:-1:-1;13448:6:0;;;;13447:7;13402:52;:95;;;;-1:-1:-1;;;;;;13477:20:0;;;;;;:12;:20;;;;;;;;13476:21;13402:95;:128;;;;-1:-1:-1;13519:11:0;;;;13402:128;:175;;;;-1:-1:-1;;;;;;13552:25:0;;;;;;:17;:25;;;;;;;;13551:26;13402:175;:225;;;;-1:-1:-1;;;;;;13599:28:0;;;;;;:17;:28;;;;;;;;13598:29;13402:225;13380:332;;;13666:30;13675:20;13666:8;:30::i;:::-;-1:-1:-1;;;;;13732:23:0;;;;;;:15;:23;;;;;;;;13731:24;:55;;;;-1:-1:-1;;;;;;13760:26:0;;;;;;:15;:26;;;;;;;;13759:27;13731:55;:72;;;;-1:-1:-1;13790:13:0;;;;;;;13731:72;13728:166;;;13842:12;;13832:6;:22;;13824:54;;;;-1:-1:-1;;;13824:54:0;;10244:2:1;13824:54:0;;;10226:21:1;10283:2;10263:18;;;10256:30;-1:-1:-1;;;10302:18:1;;;10295:49;10361:18;;13824:54:0;10042:343:1;13824:54:0;13943:53;;;;;;;;;;;-1:-1:-1;;;13943:53:0;;;;;;;;-1:-1:-1;;;;;13943:17:0;;-1:-1:-1;13943:17:0;;;:9;:17;;;;;;;;:53;;13965:6;;13943:21;:53::i;:::-;-1:-1:-1;;;;;13923:17:0;;;;;;:9;:17;;;;;:73;;;;14035:34;13933:6;14059:9;14035:16;:34::i;:::-;:80;;14081:34;14089:6;14097:9;14108:6;14081:7;:34::i;:::-;14035:80;;;14072:6;14035:80;14135:16;;14013:102;;-1:-1:-1;14135:16:0;;;;;:51;;;;-1:-1:-1;;;;;;14156:30:0;;;;;;:19;:30;;;;;;;;14155:31;14135:51;14132:168;;;14256:10;;14215:37;14240:11;14215:20;14225:9;-1:-1:-1;;;;;10954:18:0;10928:7;10954:18;;;:9;:18;;;;;;;10862:123;14215:20;:24;;:37::i;:::-;:51;;14207:77;;;;-1:-1:-1;;;14207:77:0;;10592:2:1;14207:77:0;;;10574:21:1;10631:2;10611:18;;;10604:30;-1:-1:-1;;;10650:18:1;;;10643:44;10704:18;;14207:77:0;10390:338:1;14207:77:0;-1:-1:-1;;;;;14339:20:0;;;;;;:9;:20;;;;;;:37;;14364:11;14339:24;:37::i;:::-;-1:-1:-1;;;;;14316:20:0;;;;;;;:9;:20;;;;;;;:60;;;;14398:40;;;;;;;;;;14426:11;160:25:1;;148:2;133:18;;14:177;14398:40:0;;;;;;;;14460:4;14453:11;;;;;;;2844:192;2930:7;2966:12;2958:6;;;;2950:29;;;;-1:-1:-1;;;2950:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2990:9:0;3002:5;3006:1;3002;:5;:::i;:::-;2990:17;2844:192;-1:-1:-1;;;;;2844:192:0:o;2511:181::-;2569:7;;2601:5;2605:1;2601;:5;:::i;:::-;2589:17;;2630:1;2625;:6;;2617:46;;;;-1:-1:-1;;;2617:46:0;;11198:2:1;2617:46:0;;;11180:21:1;11237:2;11217:18;;;11210:30;11276:29;11256:18;;;11249:57;11323:18;;2617:46:0;10996:351:1;2305:173:0;2361:16;2380:6;;-1:-1:-1;;;;;2397:17:0;;;-1:-1:-1;;;;;;2397:17:0;;;;;;2430:40;;2380:6;;;;;;;2430:40;;2361:16;2430:40;2350:128;2305:173;:::o;3442:278::-;3528:7;3563:12;3556:5;3548:28;;;;-1:-1:-1;;;3548:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3587:9:0;3599:5;3603:1;3599;:5;:::i;14495:330::-;14625:53;;;;;;;;;;;-1:-1:-1;;;14625:53:0;;;;;;;;-1:-1:-1;;;;;14625:17:0;;14588:4;14625:17;;;:9;:17;;;;;;;:53;;14647:6;;14625:21;:53::i;:::-;-1:-1:-1;;;;;14605:17:0;;;;;;;:9;:17;;;;;;:73;;;;14712:20;;;;;;;:32;;14737:6;14712:24;:32::i;:::-;-1:-1:-1;;;;;14689:20:0;;;;;;;:9;:20;;;;;;;:55;;;;14760:35;;;;;;;;;;14788:6;160:25:1;;148:2;133:18;;14:177;14760:35:0;;;;;;;;-1:-1:-1;14813:4:0;14495:330;;;;;:::o;15914:408::-;8939:6;:13;;-1:-1:-1;;8939:13:0;8948:4;8939:13;;;15988:11:::1;::::0;8939:13;15988:11;::::1;8939:13:::0;15988:11:::1;15985:47;;;-1:-1:-1::0;16019:13:0::1;::::0;15985:47:::1;16070:21;16102:33;16119:15:::0;16102:16:::1;:33::i;:::-;16146:22;16171:41;:21;16197:14:::0;16171:25:::1;:41::i;:::-;16146:66:::0;-1:-1:-1;16228:18:0;;16225:87:::1;;16269:17;::::0;16261:51:::1;::::0;-1:-1:-1;;;;;16269:17:0;;::::1;::::0;16261:51;::::1;;;::::0;16297:14;;16269:17:::1;16261:51:::0;16269:17;16261:51;16297:14;16269:17;16261:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;16225:87;-1:-1:-1::0;;8975:6:0;:14;;-1:-1:-1;;8975:14:0;;;-1:-1:-1;15914:408:0:o;14837:369::-;-1:-1:-1;;;;;14941:25:0;;14921:4;14941:25;;;:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;14970:28:0;;;;;;:17;:28;;;;;;;;14941:57;14938:261;;;-1:-1:-1;15022:4:0;15015:11;;14938:261;-1:-1:-1;;;;;15057:20:0;;;;;;:12;:20;;;;;;;;;:47;;-1:-1:-1;;;;;;15081:23:0;;;;;;:12;:23;;;;;;;;15057:47;15053:146;;;-1:-1:-1;15128:5:0;15121:12;;15053:146;-1:-1:-1;15182:5:0;15175:12;;15214:690;-1:-1:-1;;;;;15387:20:0;;15300:7;15387:20;;;:12;:20;;;;;;15300:7;;15387:20;;15384:246;;;15441:38;15464:14;;15441:18;15452:6;;15441;:10;;:18;;;;:::i;:::-;:22;;:38::i;:::-;15429:50;;15384:246;;;-1:-1:-1;;;;;15518:23:0;;;;;;:12;:23;;;;;;;;15515:115;;;15575:39;15599:14;;15575:19;15586:7;;15575:6;:10;;:19;;;;:::i;:39::-;15563:51;;15515:115;15649:13;;15646:185;;15728:4;15710:24;;;;:9;:24;;;;;;:39;;15739:9;15710:28;:39::i;:::-;15701:4;15683:24;;;;:9;:24;;;;;;;:66;;;;15773:42;;-1:-1:-1;;;;;15773:42:0;;;;;;;15805:9;160:25:1;;148:2;133:18;;14:177;15773:42:0;;;;;;;;15646:185;15854:21;:6;15865:9;15854:10;:21::i;16332:648::-;16482:16;;;16496:1;16482:16;;;;;;;;16458:21;;16482:16;;;;;;;;;;-1:-1:-1;16482:16:0;16458:40;;16527:4;16509;16514:1;16509:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16509:23:0;;;:7;;;;;;;;;;:23;;;;16553:9;;:16;;;-1:-1:-1;;;16553:16:0;;;;:9;;;;;:14;;:16;;;;;16509:7;;16553:16;;;;;:9;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16543:4;16548:1;16543:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16543:26:0;;;:7;;;;;;;;;:26;16614:9;;16582:56;;16599:4;;16614:9;16626:11;16582:8;:56::i;:::-;16677:9;;:234;;-1:-1:-1;;;16677:234:0;;-1:-1:-1;;;;;16677:9:0;;;;:60;;:234;;16752:11;;16677:9;;16822:4;;16849;;16885:15;;16677:234;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16937:35;16954:11;16967:4;16937:35;;;;;;;:::i;:::-;;;;;;;;16387:593;16332:648;:::o;2700:136::-;2758:7;2785:43;2789:1;2792;2785:43;;;;;;;;;;;;;;;;;:3;:43::i;196:258:1:-;268:1;278:113;292:6;289:1;286:13;278:113;;;368:11;;;362:18;349:11;;;342:39;314:2;307:10;278:113;;;409:6;406:1;403:13;400:48;;;-1:-1:-1;;444:1:1;426:16;;419:27;196:258::o;459:383::-;608:2;597:9;590:21;571:4;640:6;634:13;683:6;678:2;667:9;663:18;656:34;699:66;758:6;753:2;742:9;738:18;733:2;725:6;721:15;699:66;:::i;:::-;826:2;805:15;-1:-1:-1;;801:29:1;786:45;;;;833:2;782:54;;459:383;-1:-1:-1;;459:383:1:o;1285:131::-;-1:-1:-1;;;;;1360:31:1;;1350:42;;1340:70;;1406:1;1403;1396:12;1421:315;1489:6;1497;1550:2;1538:9;1529:7;1525:23;1521:32;1518:52;;;1566:1;1563;1556:12;1518:52;1605:9;1592:23;1624:31;1649:5;1624:31;:::i;:::-;1674:5;1726:2;1711:18;;;;1698:32;;-1:-1:-1;;;1421:315:1:o;1933:456::-;2010:6;2018;2026;2079:2;2067:9;2058:7;2054:23;2050:32;2047:52;;;2095:1;2092;2085:12;2047:52;2134:9;2121:23;2153:31;2178:5;2153:31;:::i;:::-;2203:5;-1:-1:-1;2260:2:1;2245:18;;2232:32;2273:33;2232:32;2273:33;:::i;:::-;1933:456;;2325:7;;-1:-1:-1;;;2379:2:1;2364:18;;;;2351:32;;1933:456::o;2583:247::-;2642:6;2695:2;2683:9;2674:7;2670:23;2666:32;2663:52;;;2711:1;2708;2701:12;2663:52;2750:9;2737:23;2769:31;2794:5;2769:31;:::i;2835:160::-;2900:20;;2956:13;;2949:21;2939:32;;2929:60;;2985:1;2982;2975:12;2929:60;2835:160;;;:::o;3000:180::-;3056:6;3109:2;3097:9;3088:7;3084:23;3080:32;3077:52;;;3125:1;3122;3115:12;3077:52;3148:26;3164:9;3148:26;:::i;3185:180::-;3244:6;3297:2;3285:9;3276:7;3272:23;3268:32;3265:52;;;3313:1;3310;3303:12;3265:52;-1:-1:-1;3336:23:1;;3185:180;-1:-1:-1;3185:180:1:o;3370:315::-;3435:6;3443;3496:2;3484:9;3475:7;3471:23;3467:32;3464:52;;;3512:1;3509;3502:12;3464:52;3551:9;3538:23;3570:31;3595:5;3570:31;:::i;:::-;3620:5;-1:-1:-1;3644:35:1;3675:2;3660:18;;3644:35;:::i;:::-;3634:45;;3370:315;;;;;:::o;3690:316::-;3761:6;3769;3777;3830:2;3818:9;3809:7;3805:23;3801:32;3798:52;;;3846:1;3843;3836:12;3798:52;3882:9;3869:23;3859:33;;3911:35;3942:2;3931:9;3927:18;3911:35;:::i;:::-;3901:45;;3965:35;3996:2;3985:9;3981:18;3965:35;:::i;:::-;3955:45;;3690:316;;;;;:::o;4011:388::-;4079:6;4087;4140:2;4128:9;4119:7;4115:23;4111:32;4108:52;;;4156:1;4153;4146:12;4108:52;4195:9;4182:23;4214:31;4239:5;4214:31;:::i;:::-;4264:5;-1:-1:-1;4321:2:1;4306:18;;4293:32;4334:33;4293:32;4334:33;:::i;:::-;4386:7;4376:17;;;4011:388;;;;;:::o;4404:248::-;4472:6;4480;4533:2;4521:9;4512:7;4508:23;4504:32;4501:52;;;4549:1;4546;4539:12;4501:52;-1:-1:-1;;4572:23:1;;;4642:2;4627:18;;;4614:32;;-1:-1:-1;4404:248:1:o;4657:380::-;4736:1;4732:12;;;;4779;;;4800:61;;4854:4;4846:6;4842:17;4832:27;;4800:61;4907:2;4899:6;4896:14;4876:18;4873:38;4870:161;;;4953:10;4948:3;4944:20;4941:1;4934:31;4988:4;4985:1;4978:15;5016:4;5013:1;5006:15;4870:161;;4657:380;;;:::o;5042:356::-;5244:2;5226:21;;;5263:18;;;5256:30;5322:34;5317:2;5302:18;;5295:62;5389:2;5374:18;;5042:356::o;5403:338::-;5605:2;5587:21;;;5644:2;5624:18;;;5617:30;-1:-1:-1;;;5678:2:1;5663:18;;5656:44;5732:2;5717:18;;5403:338::o;6368:274::-;6497:3;6535:6;6529:13;6551:53;6597:6;6592:3;6585:4;6577:6;6573:17;6551:53;:::i;:::-;6620:16;;;;;6368:274;-1:-1:-1;;6368:274:1:o;7962:127::-;8023:10;8018:3;8014:20;8011:1;8004:31;8054:4;8051:1;8044:15;8078:4;8075:1;8068:15;8094:168;8134:7;8200:1;8196;8192:6;8188:14;8185:1;8182:21;8177:1;8170:9;8163:17;8159:45;8156:71;;;8207:18;;:::i;:::-;-1:-1:-1;8247:9:1;;8094:168::o;8267:217::-;8307:1;8333;8323:132;;8377:10;8372:3;8368:20;8365:1;8358:31;8412:4;8409:1;8402:15;8440:4;8437:1;8430:15;8323:132;-1:-1:-1;8469:9:1;;8267:217::o;10733:125::-;10773:4;10801:1;10798;10795:8;10792:34;;;10806:18;;:::i;:::-;-1:-1:-1;10843:9:1;;10733:125::o;10863:128::-;10903:3;10934:1;10930:6;10927:1;10924:13;10921:39;;;10940:18;;:::i;:::-;-1:-1:-1;10976:9:1;;10863:128::o;11484:127::-;11545:10;11540:3;11536:20;11533:1;11526:31;11576:4;11573:1;11566:15;11600:4;11597:1;11590:15;11616:251;11686:6;11739:2;11727:9;11718:7;11714:23;11710:32;11707:52;;;11755:1;11752;11745:12;11707:52;11787:9;11781:16;11806:31;11831:5;11806:31;:::i;11872:461::-;11925:3;11963:5;11957:12;11990:6;11985:3;11978:19;12016:4;12045:2;12040:3;12036:12;12029:19;;12082:2;12075:5;12071:14;12103:1;12113:195;12127:6;12124:1;12121:13;12113:195;;;12192:13;;-1:-1:-1;;;;;12188:39:1;12176:52;;12248:12;;;;12283:15;;;;12224:1;12142:9;12113:195;;;-1:-1:-1;12324:3:1;;11872:461;-1:-1:-1;;;;;11872:461:1:o;12338:582::-;12637:6;12626:9;12619:25;12680:6;12675:2;12664:9;12660:18;12653:34;12723:3;12718:2;12707:9;12703:18;12696:31;12600:4;12744:57;12796:3;12785:9;12781:19;12773:6;12744:57;:::i;:::-;-1:-1:-1;;;;;12837:32:1;;;;12832:2;12817:18;;12810:60;-1:-1:-1;12901:3:1;12886:19;12879:35;12736:65;12338:582;-1:-1:-1;;;12338:582:1:o;12925:332::-;13132:6;13121:9;13114:25;13175:2;13170;13159:9;13155:18;13148:30;13095:4;13195:56;13247:2;13236:9;13232:18;13224:6;13195:56;:::i;:::-;13187:64;12925:332;-1:-1:-1;;;;12925:332:1:o
Swarm Source
ipfs://0c5c252b4f900346c0fc16ba91edac0b3b8ca03e8a62beaf89b52d9dfea499db
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.