ERC-20
Overview
Max Total Supply
1,000,000,000 TETSUYA2
Holders
50
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
12,486,763.66596052428233889 TETSUYA2Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
TETSUYA2
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-08-15 */ /** Telegram: https://t.me/tetsuya2eth Website: https://tetsuya2.xyz X: https://x.com/tetsuya2eth */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.18; 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(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } 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 ); } 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; return c; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } contract TETSUYA2 is IERC20, Ownable { using SafeMath for uint256; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply = 1e27; string private _name = "Tetsuya #2"; string private _symbol = "TETSUYA2"; uint8 private _decimals = 18; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private swapping; address public marketingWallet; uint256 public maxTransaction = (_totalSupply * 2) / 100; uint256 public swapTokensAtAmount = (_totalSupply * 5) / 1000000; uint256 public maxWallet = (_totalSupply * 2) / 100; bool public limitEnabled = true; bool public tradingEnabled = false; bool public swapEnabled = false; uint256 public _buyTaxes = 0; uint256 public _sellTaxes = 0; mapping(address => bool) private _isBlackList; mapping(address => bool) private _isExcludedFromFees; mapping(address => bool) public _isExcludedmaxTransaction; mapping(address => bool) public ammPairs; constructor() { marketingWallet = address(0x9390e0B239b1B624Ac34039f91242501F1aFd778); uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); _approve(address(this), address(uniswapV2Router), _totalSupply); _isExcludedFromFees[owner()] = true; _isExcludedFromFees[address(this)] = true; _isExcludedFromFees[address(marketingWallet)] = true; _isExcludedmaxTransaction[owner()] = true; _isExcludedmaxTransaction[address(this)] = true; _isExcludedmaxTransaction[address(marketingWallet)] = true; _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 transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, 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: transfer amount exceeds allowance" ) ); 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); } receive() external payable {} function createPair() external onlyOwner { uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), uniswapV2Router.WETH() ); ammPairs[uniswapV2Pair] = true; _isExcludedmaxTransaction[uniswapV2Pair] = true; uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp ); tradingEnabled = true; swapEnabled = true; } function removeLimits() external onlyOwner returns (bool) { limitEnabled = false; return true; } function setFees(uint256 buyFee, uint256 sellFee) external onlyOwner { require(buyFee <= 99 && sellFee <= 99, "Must keep fees at 99% or less"); _buyTaxes = buyFee; _sellTaxes = sellFee; } function _transfer( address from, address to, uint256 amount ) internal { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "ERC20: transfer amount must be greater than 0"); require(!_isBlackList[from] && !_isBlackList[to], "blacklisted"); if (limitEnabled) { if (from != owner() && to != owner()) { if (!tradingEnabled) { require( _isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active." ); } if (ammPairs[from] && !_isExcludedmaxTransaction[to]) { require(amount <= maxTransaction, "Max tx exceeded"); require( amount + balanceOf(to) <= maxWallet, "Max wallet exceeded" ); } else if (ammPairs[to] && !_isExcludedmaxTransaction[from]) { require(amount <= maxTransaction, "Max tx exceeded"); } else if (!_isExcludedmaxTransaction[to]) { require( amount + balanceOf(to) <= maxWallet, "Max wallet exceeded" ); } } } if ( swapEnabled && !swapping && ammPairs[to] && !_isExcludedFromFees[from] ) { swapping = true; swapBack(); swapping = false; } basicTransfer(from, to, amount); } function basicTransfer( address from, address to, uint256 amount ) internal { if ( from == owner() || to == owner() || from == address(this) || to == address(this) ) { _balances[from] = _balances[from].sub(amount); _balances[to] = _balances[to].add(amount); emit Transfer(from, to, amount); return; } (uint256 fromAmount, uint256 toAmount) = handleTax(from, to, amount); _balances[from] = _balances[from].sub(fromAmount); _balances[to] = _balances[to].add(toAmount); emit Transfer(from, to, toAmount); } function handleTax( address from, address to, uint256 amount ) internal returns (uint256, uint256) { bool takeFee = !(_isExcludedFromFees[from] || _isExcludedFromFees[to]); uint256 fees = 0; if (takeFee) { if (ammPairs[to] && _sellTaxes > 0) { fees = amount.mul(_sellTaxes).div(100); } else if (ammPairs[from] && _buyTaxes > 0) { fees = amount.mul(_buyTaxes).div(100); } if (fees > 0) { _balances[address(this)] = _balances[address(this)].add(fees); emit Transfer(from, address(this), fees); } return (amount, amount - fees); } return (fees, amount - fees); } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } function swapBack() private { uint256 contractBalance = balanceOf(address(this)); if (contractBalance > swapTokensAtAmount * 2000) { contractBalance = swapTokensAtAmount * 2000; } if (contractBalance > swapTokensAtAmount) swapTokensForEth(contractBalance); payable(marketingWallet).transfer(address(this).balance); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"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":"_buyTaxes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedmaxTransaction","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTaxes","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":"","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":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitEnabled","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":"maxTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyFee","type":"uint256"},{"internalType":"uint256","name":"sellFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","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":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6b033b2e3c9fd0803ce800000060035560c0604052600a6080908152692a32ba39babcb090119960b11b60a0526004906200003b9082620004cf565b506040805180820190915260088152672a22aa29aaaca09960c11b60208201526005906200006a9082620004cf565b506006805460ff191660121790556003546064906200008b9060026200059b565b620000979190620005c7565b600955620f42406003546005620000af91906200059b565b620000bb9190620005c7565b600a5560646003546002620000d191906200059b565b620000dd9190620005c7565b600b55600c805462ffffff191660011790556000600d819055600e553480156200010657600080fd5b506200011233620002ae565b600880546001600160a01b031916739390e0b239b1b624ac34039f91242501f1afd77817905560068054747a250d5630b4cf539739df2c5dacb4c659f2488d00610100600160a81b03199091161790819055600354620001849130916101009091046001600160a01b031690620002fe565b6001601060006200019d6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260109093528183208054851660019081179091556008549091168352908220805490931681179092556011906200020d6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526011845282812080548616600190811790915560085490921681528281208054909516821790945560035433808652918452828520819055915191825292917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620005ea565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316620003665760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038216620003c95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016200035d565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200045557607f821691505b6020821081036200047657634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004ca57600081815260208120601f850160051c81016020861015620004a55750805b601f850160051c820191505b81811015620004c657828155600101620004b1565b5050505b505050565b81516001600160401b03811115620004eb57620004eb6200042a565b6200050381620004fc845462000440565b846200047c565b602080601f8311600181146200053b5760008415620005225750858301515b600019600386901b1c1916600185901b178555620004c6565b600085815260208120601f198616915b828110156200056c578886015182559484019460019091019084016200054b565b50858210156200058b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8082028115828204841417620005c157634e487b7160e01b600052601160045260246000fd5b92915050565b600082620005e557634e487b7160e01b600052601260045260246000fd5b500490565b611c5080620005fa6000396000f3fe6080604052600436106101bb5760003560e01c806375f0a874116100ec578063c3f70b521161008a578063e1bc339411610064578063e1bc3394146104fb578063e2f456051461052b578063f2fde38b14610541578063f8b45b051461056157600080fd5b8063c3f70b5214610489578063c6831cd81461049f578063dd62ed3e146104b557600080fd5b806395d89b41116100c657806395d89b411461040f5780639e78fb4f14610424578063a72905a214610439578063a9059cbb1461046957600080fd5b806375f0a874146103bb5780637b45d431146103db5780638da5cb5b146103f157600080fd5b806349bd5a5e116101595780636ddd1713116101335780636ddd17131461033b57806370a082311461035b578063715018a614610391578063751039fc146103a657600080fd5b806349bd5a5e146102e25780634ada218b146103025780636d800a3c1461032157600080fd5b80631694505e116101955780631694505e1461024457806318160ddd1461028157806323b872dd146102a0578063313ce567146102c057600080fd5b806306fdde03146101c7578063095ea7b3146101f25780630b78f9c01461022257600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101dc610577565b6040516101e991906118f4565b60405180910390f35b3480156101fe57600080fd5b5061021261020d366004611957565b610609565b60405190151581526020016101e9565b34801561022e57600080fd5b5061024261023d366004611983565b610620565b005b34801561025057600080fd5b506006546102699061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101e9565b34801561028d57600080fd5b506003545b6040519081526020016101e9565b3480156102ac57600080fd5b506102126102bb3660046119a5565b6106bc565b3480156102cc57600080fd5b5060065460405160ff90911681526020016101e9565b3480156102ee57600080fd5b50600754610269906001600160a01b031681565b34801561030e57600080fd5b50600c5461021290610100900460ff1681565b34801561032d57600080fd5b50600c546102129060ff1681565b34801561034757600080fd5b50600c546102129062010000900460ff1681565b34801561036757600080fd5b506102926103763660046119e6565b6001600160a01b031660009081526001602052604090205490565b34801561039d57600080fd5b50610242610725565b3480156103b257600080fd5b5061021261075b565b3480156103c757600080fd5b50600854610269906001600160a01b031681565b3480156103e757600080fd5b50610292600d5481565b3480156103fd57600080fd5b506000546001600160a01b0316610269565b34801561041b57600080fd5b506101dc610796565b34801561043057600080fd5b506102426107a5565b34801561044557600080fd5b506102126104543660046119e6565b60126020526000908152604090205460ff1681565b34801561047557600080fd5b50610212610484366004611957565b610a7a565b34801561049557600080fd5b5061029260095481565b3480156104ab57600080fd5b50610292600e5481565b3480156104c157600080fd5b506102926104d0366004611a03565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561050757600080fd5b506102126105163660046119e6565b60116020526000908152604090205460ff1681565b34801561053757600080fd5b50610292600a5481565b34801561054d57600080fd5b5061024261055c3660046119e6565b610a87565b34801561056d57600080fd5b50610292600b5481565b60606004805461058690611a3c565b80601f01602080910402602001604051908101604052809291908181526020018280546105b290611a3c565b80156105ff5780601f106105d4576101008083540402835291602001916105ff565b820191906000526020600020905b8154815290600101906020018083116105e257829003601f168201915b5050505050905090565b6000610616338484610b22565b5060015b92915050565b6000546001600160a01b031633146106535760405162461bcd60e51b815260040161064a90611a76565b60405180910390fd5b60638211158015610665575060638111155b6106b15760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420393925206f72206c657373000000604482015260640161064a565b600d91909155600e55565b60006106c9848484610c47565b61071b843361071685604051806060016040528060288152602001611bf3602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611174565b610b22565b5060019392505050565b6000546001600160a01b0316331461074f5760405162461bcd60e51b815260040161064a90611a76565b61075960006111ae565b565b600080546001600160a01b031633146107865760405162461bcd60e51b815260040161064a90611a76565b50600c805460ff19169055600190565b60606005805461058690611a3c565b6000546001600160a01b031633146107cf5760405162461bcd60e51b815260040161064a90611a76565b600660019054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610822573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108469190611aab565b6001600160a01b031663c9c6539630600660019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cc9190611aab565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610919573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093d9190611aab565b600780546001600160a01b039283166001600160a01b0319909116811782556000908152601260209081526040808320805460ff1990811660019081179092559454861684526011909252909120805490921617905560065461010090041663f305d71947306109c2816001600160a01b031660009081526001602052604090205490565b6000806109d76000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a3f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a649190611ac8565b5050600c805462ffff0019166201010017905550565b6000610616338484610c47565b6000546001600160a01b03163314610ab15760405162461bcd60e51b815260040161064a90611a76565b6001600160a01b038116610b165760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161064a565b610b1f816111ae565b50565b6001600160a01b038316610b845760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161064a565b6001600160a01b038216610be55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161064a565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610cab5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161064a565b6001600160a01b038216610d0d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161064a565b60008111610d735760405162461bcd60e51b815260206004820152602d60248201527f45524332303a207472616e7366657220616d6f756e74206d757374206265206760448201526c0726561746572207468616e203609c1b606482015260840161064a565b6001600160a01b0383166000908152600f602052604090205460ff16158015610db557506001600160a01b0382166000908152600f602052604090205460ff16155b610def5760405162461bcd60e51b815260206004820152600b60248201526a189b1858dadb1a5cdd195960aa1b604482015260640161064a565b600c5460ff16156110cb576000546001600160a01b03848116911614801590610e2657506000546001600160a01b03838116911614155b156110cb57600c54610100900460ff16610ebe576001600160a01b03831660009081526010602052604090205460ff1680610e7957506001600160a01b03821660009081526010602052604090205460ff165b610ebe5760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161064a565b6001600160a01b03831660009081526012602052604090205460ff168015610eff57506001600160a01b03821660009081526011602052604090205460ff16155b15610fb757600954811115610f485760405162461bcd60e51b815260206004820152600f60248201526e13585e081d1e08195e18d959591959608a1b604482015260640161064a565b600b546001600160a01b038316600090815260016020526040902054610f6e9083611b0c565b1115610fb25760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161064a565b6110cb565b6001600160a01b03821660009081526012602052604090205460ff168015610ff857506001600160a01b03831660009081526011602052604090205460ff16155b1561104157600954811115610fb25760405162461bcd60e51b815260206004820152600f60248201526e13585e081d1e08195e18d959591959608a1b604482015260640161064a565b6001600160a01b03821660009081526011602052604090205460ff166110cb57600b546001600160a01b0383166000908152600160205260409020546110879083611b0c565b11156110cb5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161064a565b600c5462010000900460ff1680156110ed5750600754600160a01b900460ff16155b801561111157506001600160a01b03821660009081526012602052604090205460ff165b801561113657506001600160a01b03831660009081526010602052604090205460ff16155b15611164576007805460ff60a01b1916600160a01b1790556111566111fe565b6007805460ff60a01b191690555b61116f838383611286565b505050565b600081848411156111985760405162461bcd60e51b815260040161064a91906118f4565b5060006111a58486611b1f565b95945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b30600090815260016020526040902054600a5461121d906107d0611b32565b81111561123657600a54611233906107d0611b32565b90505b600a548111156112495761124981611448565b6008546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611282573d6000803e3d6000fd5b5050565b6000546001600160a01b03848116911614806112af57506000546001600160a01b038381169116145b806112c257506001600160a01b03831630145b806112d557506001600160a01b03821630145b15611380576001600160a01b0383166000908152600160205260409020546112fd90826115c5565b6001600160a01b03808516600090815260016020526040808220939093559084168152205461132c908261160e565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c3a9085815260200190565b60008061138e85858561166d565b6001600160a01b03871660009081526001602052604090205491935091506113b690836115c5565b6001600160a01b0380871660009081526001602052604080822093909355908616815220546113e5908261160e565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114399085815260200190565b60405180910390a35050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061147d5761147d611b49565b60200260200101906001600160a01b031690816001600160a01b031681525050600660019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115149190611aab565b8160018151811061152757611527611b49565b6001600160a01b03928316602091820292909201015260065461155291309161010090041684610b22565b60065460405163791ac94760e01b81526101009091046001600160a01b03169063791ac9479061158f908590600090869030904290600401611b5f565b600060405180830381600087803b1580156115a957600080fd5b505af11580156115bd573d6000803e3d6000fd5b505050505050565b600061160783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611174565b9392505050565b60008061161b8385611b0c565b9050838110156116075760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161064a565b6001600160a01b0383166000908152601060205260408120548190819060ff16806116b057506001600160a01b03851660009081526010602052604090205460ff165b159050600081156117ed576001600160a01b03861660009081526012602052604090205460ff1680156116e557506000600e54115b156117115761170a6064611704600e548861180790919063ffffffff16565b90611889565b905061175d565b6001600160a01b03871660009081526012602052604090205460ff16801561173b57506000600d54115b1561175d5761175a6064611704600d548861180790919063ffffffff16565b90505b80156117d7573060009081526001602052604090205461177d908261160e565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117ce9085815260200190565b60405180910390a35b846117e28282611b1f565b9350935050506117ff565b806117f88187611b1f565b9350935050505b935093915050565b6000826000036118195750600061061a565b60006118258385611b32565b9050826118328583611bd0565b146116075760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161064a565b600061160783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836118e75760405162461bcd60e51b815260040161064a91906118f4565b5060006111a58486611bd0565b600060208083528351808285015260005b8181101561192157858101830151858201604001528201611905565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610b1f57600080fd5b6000806040838503121561196a57600080fd5b823561197581611942565b946020939093013593505050565b6000806040838503121561199657600080fd5b50508035926020909101359150565b6000806000606084860312156119ba57600080fd5b83356119c581611942565b925060208401356119d581611942565b929592945050506040919091013590565b6000602082840312156119f857600080fd5b813561160781611942565b60008060408385031215611a1657600080fd5b8235611a2181611942565b91506020830135611a3181611942565b809150509250929050565b600181811c90821680611a5057607f821691505b602082108103611a7057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611abd57600080fd5b815161160781611942565b600080600060608486031215611add57600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b8082018082111561061a5761061a611af6565b8181038181111561061a5761061a611af6565b808202811582820484141761061a5761061a611af6565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611baf5784516001600160a01b031683529383019391830191600101611b8a565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611bed57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200c033d329d6ca6d00a871e1f8e03df2aa6edf7b48fc44eabbeb8d5d193fde4be64736f6c63430008130033
Deployed Bytecode
0x6080604052600436106101bb5760003560e01c806375f0a874116100ec578063c3f70b521161008a578063e1bc339411610064578063e1bc3394146104fb578063e2f456051461052b578063f2fde38b14610541578063f8b45b051461056157600080fd5b8063c3f70b5214610489578063c6831cd81461049f578063dd62ed3e146104b557600080fd5b806395d89b41116100c657806395d89b411461040f5780639e78fb4f14610424578063a72905a214610439578063a9059cbb1461046957600080fd5b806375f0a874146103bb5780637b45d431146103db5780638da5cb5b146103f157600080fd5b806349bd5a5e116101595780636ddd1713116101335780636ddd17131461033b57806370a082311461035b578063715018a614610391578063751039fc146103a657600080fd5b806349bd5a5e146102e25780634ada218b146103025780636d800a3c1461032157600080fd5b80631694505e116101955780631694505e1461024457806318160ddd1461028157806323b872dd146102a0578063313ce567146102c057600080fd5b806306fdde03146101c7578063095ea7b3146101f25780630b78f9c01461022257600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101dc610577565b6040516101e991906118f4565b60405180910390f35b3480156101fe57600080fd5b5061021261020d366004611957565b610609565b60405190151581526020016101e9565b34801561022e57600080fd5b5061024261023d366004611983565b610620565b005b34801561025057600080fd5b506006546102699061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101e9565b34801561028d57600080fd5b506003545b6040519081526020016101e9565b3480156102ac57600080fd5b506102126102bb3660046119a5565b6106bc565b3480156102cc57600080fd5b5060065460405160ff90911681526020016101e9565b3480156102ee57600080fd5b50600754610269906001600160a01b031681565b34801561030e57600080fd5b50600c5461021290610100900460ff1681565b34801561032d57600080fd5b50600c546102129060ff1681565b34801561034757600080fd5b50600c546102129062010000900460ff1681565b34801561036757600080fd5b506102926103763660046119e6565b6001600160a01b031660009081526001602052604090205490565b34801561039d57600080fd5b50610242610725565b3480156103b257600080fd5b5061021261075b565b3480156103c757600080fd5b50600854610269906001600160a01b031681565b3480156103e757600080fd5b50610292600d5481565b3480156103fd57600080fd5b506000546001600160a01b0316610269565b34801561041b57600080fd5b506101dc610796565b34801561043057600080fd5b506102426107a5565b34801561044557600080fd5b506102126104543660046119e6565b60126020526000908152604090205460ff1681565b34801561047557600080fd5b50610212610484366004611957565b610a7a565b34801561049557600080fd5b5061029260095481565b3480156104ab57600080fd5b50610292600e5481565b3480156104c157600080fd5b506102926104d0366004611a03565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561050757600080fd5b506102126105163660046119e6565b60116020526000908152604090205460ff1681565b34801561053757600080fd5b50610292600a5481565b34801561054d57600080fd5b5061024261055c3660046119e6565b610a87565b34801561056d57600080fd5b50610292600b5481565b60606004805461058690611a3c565b80601f01602080910402602001604051908101604052809291908181526020018280546105b290611a3c565b80156105ff5780601f106105d4576101008083540402835291602001916105ff565b820191906000526020600020905b8154815290600101906020018083116105e257829003601f168201915b5050505050905090565b6000610616338484610b22565b5060015b92915050565b6000546001600160a01b031633146106535760405162461bcd60e51b815260040161064a90611a76565b60405180910390fd5b60638211158015610665575060638111155b6106b15760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420393925206f72206c657373000000604482015260640161064a565b600d91909155600e55565b60006106c9848484610c47565b61071b843361071685604051806060016040528060288152602001611bf3602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611174565b610b22565b5060019392505050565b6000546001600160a01b0316331461074f5760405162461bcd60e51b815260040161064a90611a76565b61075960006111ae565b565b600080546001600160a01b031633146107865760405162461bcd60e51b815260040161064a90611a76565b50600c805460ff19169055600190565b60606005805461058690611a3c565b6000546001600160a01b031633146107cf5760405162461bcd60e51b815260040161064a90611a76565b600660019054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610822573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108469190611aab565b6001600160a01b031663c9c6539630600660019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cc9190611aab565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610919573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093d9190611aab565b600780546001600160a01b039283166001600160a01b0319909116811782556000908152601260209081526040808320805460ff1990811660019081179092559454861684526011909252909120805490921617905560065461010090041663f305d71947306109c2816001600160a01b031660009081526001602052604090205490565b6000806109d76000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a3f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a649190611ac8565b5050600c805462ffff0019166201010017905550565b6000610616338484610c47565b6000546001600160a01b03163314610ab15760405162461bcd60e51b815260040161064a90611a76565b6001600160a01b038116610b165760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161064a565b610b1f816111ae565b50565b6001600160a01b038316610b845760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161064a565b6001600160a01b038216610be55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161064a565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610cab5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161064a565b6001600160a01b038216610d0d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161064a565b60008111610d735760405162461bcd60e51b815260206004820152602d60248201527f45524332303a207472616e7366657220616d6f756e74206d757374206265206760448201526c0726561746572207468616e203609c1b606482015260840161064a565b6001600160a01b0383166000908152600f602052604090205460ff16158015610db557506001600160a01b0382166000908152600f602052604090205460ff16155b610def5760405162461bcd60e51b815260206004820152600b60248201526a189b1858dadb1a5cdd195960aa1b604482015260640161064a565b600c5460ff16156110cb576000546001600160a01b03848116911614801590610e2657506000546001600160a01b03838116911614155b156110cb57600c54610100900460ff16610ebe576001600160a01b03831660009081526010602052604090205460ff1680610e7957506001600160a01b03821660009081526010602052604090205460ff165b610ebe5760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161064a565b6001600160a01b03831660009081526012602052604090205460ff168015610eff57506001600160a01b03821660009081526011602052604090205460ff16155b15610fb757600954811115610f485760405162461bcd60e51b815260206004820152600f60248201526e13585e081d1e08195e18d959591959608a1b604482015260640161064a565b600b546001600160a01b038316600090815260016020526040902054610f6e9083611b0c565b1115610fb25760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161064a565b6110cb565b6001600160a01b03821660009081526012602052604090205460ff168015610ff857506001600160a01b03831660009081526011602052604090205460ff16155b1561104157600954811115610fb25760405162461bcd60e51b815260206004820152600f60248201526e13585e081d1e08195e18d959591959608a1b604482015260640161064a565b6001600160a01b03821660009081526011602052604090205460ff166110cb57600b546001600160a01b0383166000908152600160205260409020546110879083611b0c565b11156110cb5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161064a565b600c5462010000900460ff1680156110ed5750600754600160a01b900460ff16155b801561111157506001600160a01b03821660009081526012602052604090205460ff165b801561113657506001600160a01b03831660009081526010602052604090205460ff16155b15611164576007805460ff60a01b1916600160a01b1790556111566111fe565b6007805460ff60a01b191690555b61116f838383611286565b505050565b600081848411156111985760405162461bcd60e51b815260040161064a91906118f4565b5060006111a58486611b1f565b95945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b30600090815260016020526040902054600a5461121d906107d0611b32565b81111561123657600a54611233906107d0611b32565b90505b600a548111156112495761124981611448565b6008546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611282573d6000803e3d6000fd5b5050565b6000546001600160a01b03848116911614806112af57506000546001600160a01b038381169116145b806112c257506001600160a01b03831630145b806112d557506001600160a01b03821630145b15611380576001600160a01b0383166000908152600160205260409020546112fd90826115c5565b6001600160a01b03808516600090815260016020526040808220939093559084168152205461132c908261160e565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c3a9085815260200190565b60008061138e85858561166d565b6001600160a01b03871660009081526001602052604090205491935091506113b690836115c5565b6001600160a01b0380871660009081526001602052604080822093909355908616815220546113e5908261160e565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114399085815260200190565b60405180910390a35050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061147d5761147d611b49565b60200260200101906001600160a01b031690816001600160a01b031681525050600660019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115149190611aab565b8160018151811061152757611527611b49565b6001600160a01b03928316602091820292909201015260065461155291309161010090041684610b22565b60065460405163791ac94760e01b81526101009091046001600160a01b03169063791ac9479061158f908590600090869030904290600401611b5f565b600060405180830381600087803b1580156115a957600080fd5b505af11580156115bd573d6000803e3d6000fd5b505050505050565b600061160783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611174565b9392505050565b60008061161b8385611b0c565b9050838110156116075760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161064a565b6001600160a01b0383166000908152601060205260408120548190819060ff16806116b057506001600160a01b03851660009081526010602052604090205460ff165b159050600081156117ed576001600160a01b03861660009081526012602052604090205460ff1680156116e557506000600e54115b156117115761170a6064611704600e548861180790919063ffffffff16565b90611889565b905061175d565b6001600160a01b03871660009081526012602052604090205460ff16801561173b57506000600d54115b1561175d5761175a6064611704600d548861180790919063ffffffff16565b90505b80156117d7573060009081526001602052604090205461177d908261160e565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117ce9085815260200190565b60405180910390a35b846117e28282611b1f565b9350935050506117ff565b806117f88187611b1f565b9350935050505b935093915050565b6000826000036118195750600061061a565b60006118258385611b32565b9050826118328583611bd0565b146116075760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161064a565b600061160783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836118e75760405162461bcd60e51b815260040161064a91906118f4565b5060006111a58486611bd0565b600060208083528351808285015260005b8181101561192157858101830151858201604001528201611905565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610b1f57600080fd5b6000806040838503121561196a57600080fd5b823561197581611942565b946020939093013593505050565b6000806040838503121561199657600080fd5b50508035926020909101359150565b6000806000606084860312156119ba57600080fd5b83356119c581611942565b925060208401356119d581611942565b929592945050506040919091013590565b6000602082840312156119f857600080fd5b813561160781611942565b60008060408385031215611a1657600080fd5b8235611a2181611942565b91506020830135611a3181611942565b809150509250929050565b600181811c90821680611a5057607f821691505b602082108103611a7057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611abd57600080fd5b815161160781611942565b600080600060608486031215611add57600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b8082018082111561061a5761061a611af6565b8181038181111561061a5761061a611af6565b808202811582820484141761061a5761061a611af6565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611baf5784516001600160a01b031683529383019391830191600101611b8a565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611bed57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200c033d329d6ca6d00a871e1f8e03df2aa6edf7b48fc44eabbeb8d5d193fde4be64736f6c63430008130033
Deployed Bytecode Sourcemap
4372:9177:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6268:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7179:193;;;;;;;;;;-1:-1:-1;7179:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7179:193:0;1023:187:1;8990:219:0;;;;;;;;;;-1:-1:-1;8990:219:0;;;;;:::i;:::-;;:::i;:::-;;4740:41;;;;;;;;;;-1:-1:-1;4740:41:0;;;;;;;-1:-1:-1;;;;;4740:41:0;;;;;;-1:-1:-1;;;;;1658:32:1;;;1640:51;;1628:2;1613:18;4740:41:0;1468:229:1;6545:100:0;;;;;;;;;;-1:-1:-1;6625:12:0;;6545:100;;;1848:25:1;;;1836:2;1821:18;6545:100:0;1702:177:1;7380:446:0;;;;;;;;;;-1:-1:-1;7380:446:0;;;;;:::i;:::-;;:::i;6454:83::-;;;;;;;;;;-1:-1:-1;6520:9:0;;6454:83;;6520:9;;;;2487:36:1;;2475:2;2460:18;6454:83:0;2345:184:1;4788:28:0;;;;;;;;;;-1:-1:-1;4788:28:0;;;;-1:-1:-1;;;;;4788:28:0;;;5126:34;;;;;;;;;;-1:-1:-1;5126:34:0;;;;;;;;;;;5088:31;;;;;;;;;;-1:-1:-1;5088:31:0;;;;;;;;5167;;;;;;;;;;-1:-1:-1;5167:31:0;;;;;;;;;;;6653:119;;;;;;;;;;-1:-1:-1;6653:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6746:18:0;6719:7;6746:18;;;:9;:18;;;;;;;6653:119;911:103;;;;;;;;;;;;;:::i;8863:119::-;;;;;;;;;;;;;:::i;4855:30::-;;;;;;;;;;-1:-1:-1;4855:30:0;;;;-1:-1:-1;;;;;4855:30:0;;;5207:28;;;;;;;;;;;;;;;;688:87;;;;;;;;;;-1:-1:-1;734:7:0;761:6;-1:-1:-1;;;;;761:6:0;688:87;;6359;;;;;;;;;;;;;:::i;8248:607::-;;;;;;;;;;;;;:::i;5459:40::-;;;;;;;;;;-1:-1:-1;5459:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6780:199;;;;;;;;;;-1:-1:-1;6780:199:0;;;;;:::i;:::-;;:::i;4894:56::-;;;;;;;;;;;;;;;;5244:29;;;;;;;;;;;;;;;;6987:184;;;;;;;;;;-1:-1:-1;6987:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7136:18:0;;;7104:7;7136:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6987:184;5393:57;;;;;;;;;;-1:-1:-1;5393:57:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4957:64;;;;;;;;;;;;;;;;1022:238;;;;;;;;;;-1:-1:-1;1022:238:0;;;;;:::i;:::-;;:::i;5028:51::-;;;;;;;;;;;;;;;;6268:83;6305:13;6338:5;6331:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6268:83;:::o;7179:193::-;7281:4;7303:39;289:10;7326:7;7335:6;7303:8;:39::i;:::-;-1:-1:-1;7360:4:0;7179:193;;;;;:::o;8990:219::-;734:7;761:6;-1:-1:-1;;;;;761:6:0;289:10;823:23;815:68;;;;-1:-1:-1;;;815:68:0;;;;;;;:::i;:::-;;;;;;;;;9088:2:::1;9078:6;:12;;:29;;;;;9105:2;9094:7;:13;;9078:29;9070:71;;;::::0;-1:-1:-1;;;9070:71:0;;4335:2:1;9070:71:0::1;::::0;::::1;4317:21:1::0;4374:2;4354:18;;;4347:30;4413:31;4393:18;;;4386:59;4462:18;;9070:71:0::1;4133:353:1::0;9070:71:0::1;9152:9;:18:::0;;;;9181:10:::1;:20:::0;8990:219::o;7380:446::-;7512:4;7529:36;7539:6;7547:9;7558:6;7529:9;:36::i;:::-;7576:220;7599:6;289:10;7647:138;7703:6;7647:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7647:19:0;;;;;;:11;:19;;;;;;;;289:10;7647:33;;;;;;;;;;:37;:138::i;:::-;7576:8;:220::i;:::-;-1:-1:-1;7814:4:0;7380:446;;;;;:::o;911:103::-;734:7;761:6;-1:-1:-1;;;;;761:6:0;289:10;823:23;815:68;;;;-1:-1:-1;;;815:68:0;;;;;;;:::i;:::-;976:30:::1;1003:1;976:18;:30::i;:::-;911:103::o:0;8863:119::-;8915:4;761:6;;-1:-1:-1;;;;;761:6:0;289:10;823:23;815:68;;;;-1:-1:-1;;;815:68:0;;;;;;;:::i;:::-;-1:-1:-1;8932:12:0::1;:20:::0;;-1:-1:-1;;8932:20:0::1;::::0;;;8863:119;:::o;6359:87::-;6398:13;6431:7;6424:14;;;;;:::i;8248:607::-;734:7;761:6;-1:-1:-1;;;;;761:6:0;289:10;823:23;815:68;;;;-1:-1:-1;;;815:68:0;;;;;;;:::i;:::-;8334:15:::1;;;;;;;;;-1:-1:-1::0;;;;;8334:15:0::1;-1:-1:-1::0;;;;;8334:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8316:55:0::1;;8394:4;8414:15;;;;;;;;;-1:-1:-1::0;;;;;8414:15:0::1;-1:-1:-1::0;;;;;8414:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8316:131;::::0;-1:-1:-1;;;;;;8316:131:0::1;::::0;;;;;;-1:-1:-1;;;;;4977:15:1;;;8316:131:0::1;::::0;::::1;4959:34:1::0;5029:15;;5009:18;;;5002:43;4894:18;;8316:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8300:13;:147:::0;;-1:-1:-1;;;;;8300:147:0;;::::1;-1:-1:-1::0;;;;;;8300:147:0;;::::1;::::0;::::1;::::0;;:13:::1;8460:23:::0;;;:8:::1;:23;::::0;;;;;;;:30;;-1:-1:-1;;8460:30:0;;::::1;8300:147:::0;8460:30;;::::1;::::0;;;8527:13;;;::::1;8501:40:::0;;:25:::1;:40:::0;;;;;;:47;;;;::::1;;::::0;;8561:15:::1;::::0;8300:147:::1;8561:15:::0;::::1;;:31;8600:21;8645:4;8665:24;8645:4:::0;-1:-1:-1;;;;;6746:18:0;6719:7;6746:18;;;:9;:18;;;;;;;6653:119;8665:24:::1;8704:1;8720::::0;8736:7:::1;734::::0;761:6;-1:-1:-1;;;;;761:6:0;;688:87;8736:7:::1;8561:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;8561:223:0;;;-1:-1:-1;;;;;5415:15:1;;;8561:223:0::1;::::0;::::1;5397:34:1::0;5447:18;;;5440:34;;;;5490:18;;;5483:34;;;;5533:18;;;5526:34;5597:15;;;5576:19;;;5569:44;8758:15:0::1;5629:19:1::0;;;5622:35;5331:19;;8561:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;8797:14:0::1;:21:::0;;-1:-1:-1;;8829:18:0;;;;;-1:-1:-1;8248:607:0:o;6780:199::-;6885:4;6907:42;289:10;6931:9;6942:6;6907:9;:42::i;1022:238::-;734:7;761:6;-1:-1:-1;;;;;761:6:0;289:10;823:23;815:68;;;;-1:-1:-1;;;815:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1125:22:0;::::1;1103:110;;;::::0;-1:-1:-1;;;1103:110:0;;6181:2:1;1103:110:0::1;::::0;::::1;6163:21:1::0;6220:2;6200:18;;;6193:30;6259:34;6239:18;;;6232:62;-1:-1:-1;;;6310:18:1;;;6303:36;6356:19;;1103:110:0::1;5979:402:1::0;1103:110:0::1;1224:28;1243:8;1224:18;:28::i;:::-;1022:238:::0;:::o;7834:369::-;-1:-1:-1;;;;;7961:19:0;;7953:68;;;;-1:-1:-1;;;7953:68:0;;6588:2:1;7953:68:0;;;6570:21:1;6627:2;6607:18;;;6600:30;6666:34;6646:18;;;6639:62;-1:-1:-1;;;6717:18:1;;;6710:34;6761:19;;7953:68:0;6386:400:1;7953:68:0;-1:-1:-1;;;;;8040:21:0;;8032:68;;;;-1:-1:-1;;;8032:68:0;;6993:2:1;8032:68:0;;;6975:21:1;7032:2;7012:18;;;7005:30;7071:34;7051:18;;;7044:62;-1:-1:-1;;;7122:18:1;;;7115:32;7164:19;;8032:68:0;6791:398:1;8032:68:0;-1:-1:-1;;;;;8111:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8163:32;;1848:25:1;;;8163:32:0;;1821:18:1;8163:32:0;;;;;;;;7834:369;;;:::o;9217:1777::-;-1:-1:-1;;;;;9340:18:0;;9332:68;;;;-1:-1:-1;;;9332:68:0;;7396:2:1;9332:68:0;;;7378:21:1;7435:2;7415:18;;;7408:30;7474:34;7454:18;;;7447:62;-1:-1:-1;;;7525:18:1;;;7518:35;7570:19;;9332:68:0;7194:401:1;9332:68:0;-1:-1:-1;;;;;9419:16:0;;9411:64;;;;-1:-1:-1;;;9411:64:0;;7802:2:1;9411:64:0;;;7784:21:1;7841:2;7821:18;;;7814:30;7880:34;7860:18;;;7853:62;-1:-1:-1;;;7931:18:1;;;7924:33;7974:19;;9411:64:0;7600:399:1;9411:64:0;9503:1;9494:6;:10;9486:68;;;;-1:-1:-1;;;9486:68:0;;8206:2:1;9486:68:0;;;8188:21:1;8245:2;8225:18;;;8218:30;8284:34;8264:18;;;8257:62;-1:-1:-1;;;8335:18:1;;;8328:43;8388:19;;9486:68:0;8004:409:1;9486:68:0;-1:-1:-1;;;;;9574:18:0;;;;;;:12;:18;;;;;;;;9573:19;:40;;;;-1:-1:-1;;;;;;9597:16:0;;;;;;:12;:16;;;;;;;;9596:17;9573:40;9565:64;;;;-1:-1:-1;;;9565:64:0;;8620:2:1;9565:64:0;;;8602:21:1;8659:2;8639:18;;;8632:30;-1:-1:-1;;;8678:18:1;;;8671:41;8729:18;;9565:64:0;8418:335:1;9565:64:0;9646:12;;;;9642:1052;;;734:7;761:6;-1:-1:-1;;;;;9679:15:0;;;761:6;;9679:15;;;;:32;;-1:-1:-1;734:7:0;761:6;-1:-1:-1;;;;;9698:13:0;;;761:6;;9698:13;;9679:32;9675:1008;;;9737:14;;;;;;;9732:224;;-1:-1:-1;;;;;9810:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;9839:23:0;;;;;;:19;:23;;;;;;;;9810:52;9776:160;;;;-1:-1:-1;;;9776:160:0;;8960:2:1;9776:160:0;;;8942:21:1;8999:2;8979:18;;;8972:30;-1:-1:-1;;;9018:18:1;;;9011:52;9080:18;;9776:160:0;8758:346:1;9776:160:0;-1:-1:-1;;;;;9980:14:0;;;;;;:8;:14;;;;;;;;:48;;;;-1:-1:-1;;;;;;9999:29:0;;;;;;:25;:29;;;;;;;;9998:30;9980:48;9976:692;;;10071:14;;10061:6;:24;;10053:52;;;;-1:-1:-1;;;10053:52:0;;9311:2:1;10053:52:0;;;9293:21:1;9350:2;9330:18;;;9323:30;-1:-1:-1;;;9369:18:1;;;9362:45;9424:18;;10053:52:0;9109:339:1;10053:52:0;10188:9;;-1:-1:-1;;;;;6746:18:0;;6719:7;6746:18;;;:9;:18;;;;;;10162:22;;:6;:22;:::i;:::-;:35;;10128:140;;;;-1:-1:-1;;;10128:140:0;;9917:2:1;10128:140:0;;;9899:21:1;9956:2;9936:18;;;9929:30;-1:-1:-1;;;9975:18:1;;;9968:49;10034:18;;10128:140:0;9715:343:1;10128:140:0;9976:692;;;-1:-1:-1;;;;;10298:12:0;;;;;;:8;:12;;;;;;;;:48;;;;-1:-1:-1;;;;;;10315:31:0;;;;;;:25;:31;;;;;;;;10314:32;10298:48;10294:374;;;10389:14;;10379:6;:24;;10371:52;;;;-1:-1:-1;;;10371:52:0;;9311:2:1;10371:52:0;;;9293:21:1;9350:2;9330:18;;;9323:30;-1:-1:-1;;;9369:18:1;;;9362:45;9424:18;;10371:52:0;9109:339:1;10294:374:0;-1:-1:-1;;;;;10454:29:0;;;;;;:25;:29;;;;;;;;10449:219;;10568:9;;-1:-1:-1;;;;;6746:18:0;;6719:7;6746:18;;;:9;:18;;;;;;10542:22;;:6;:22;:::i;:::-;:35;;10508:140;;;;-1:-1:-1;;;10508:140:0;;9917:2:1;10508:140:0;;;9899:21:1;9956:2;9936:18;;;9929:30;-1:-1:-1;;;9975:18:1;;;9968:49;10034:18;;10508:140:0;9715:343:1;10508:140:0;10724:11;;;;;;;:37;;;;-1:-1:-1;10753:8:0;;-1:-1:-1;;;10753:8:0;;;;10752:9;10724:37;:66;;;;-1:-1:-1;;;;;;10778:12:0;;;;;;:8;:12;;;;;;;;10724:66;:109;;;;-1:-1:-1;;;;;;10808:25:0;;;;;;:19;:25;;;;;;;;10807:26;10724:109;10706:237;;;10860:8;:15;;-1:-1:-1;;;;10860:15:0;-1:-1:-1;;;10860:15:0;;;10890:10;:8;:10::i;:::-;10915:8;:16;;-1:-1:-1;;;;10915:16:0;;;10706:237;10955:31;10969:4;10975:2;10979:6;10955:13;:31::i;:::-;9217:1777;;;:::o;2623:224::-;2743:7;2779:12;2771:6;;;;2763:29;;;;-1:-1:-1;;;2763:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2803:9:0;2815:5;2819:1;2815;:5;:::i;:::-;2803:17;2623:224;-1:-1:-1;;;;;2623:224:0:o;1268:191::-;1342:16;1361:6;;-1:-1:-1;;;;;1378:17:0;;;-1:-1:-1;;;;;;1378:17:0;;;;;;1411:40;;1361:6;;;;;;;1411:40;;1342:16;1411:40;1331:128;1268:191;:::o;13148:398::-;13231:4;13187:23;6746:18;;;:9;:18;;;;;;13272;;:25;;13293:4;13272:25;:::i;:::-;13254:15;:43;13250:119;;;13332:18;;:25;;13353:4;13332:25;:::i;:::-;13314:43;;13250:119;13403:18;;13385:15;:36;13381:88;;;13436:33;13453:15;13436:16;:33::i;:::-;13490:15;;13482:56;;-1:-1:-1;;;;;13490:15:0;;;;13516:21;13482:56;;;;;13490:15;13482:56;13490:15;13482:56;13516:21;13490:15;13482:56;;;;;;;;;;;;;;;;;;;;;13176:370;13148:398::o;11002:709::-;734:7;761:6;-1:-1:-1;;;;;11139:15:0;;;761:6;;11139:15;;:45;;-1:-1:-1;734:7:0;761:6;-1:-1:-1;;;;;11171:13:0;;;761:6;;11171:13;11139:45;:83;;;-1:-1:-1;;;;;;11201:21:0;;11217:4;11201:21;11139:83;:119;;;-1:-1:-1;;;;;;11239:19:0;;11253:4;11239:19;11139:119;11121:344;;;-1:-1:-1;;;;;11303:15:0;;;;;;:9;:15;;;;;;:27;;11323:6;11303:19;:27::i;:::-;-1:-1:-1;;;;;11285:15:0;;;;;;;:9;:15;;;;;;:45;;;;11361:13;;;;;;;:25;;11379:6;11361:17;:25::i;:::-;-1:-1:-1;;;;;11345:13:0;;;;;;;:9;:13;;;;;;;:41;;;;11406:26;;;;;;;;;;11425:6;1848:25:1;;1836:2;1821:18;;1702:177;11121:344:0;11478:18;11498:16;11518:27;11528:4;11534:2;11538:6;11518:9;:27::i;:::-;-1:-1:-1;;;;;11574:15:0;;;;;;:9;:15;;;;;;11477:68;;-1:-1:-1;11477:68:0;-1:-1:-1;11574:31:0;;11477:68;11574:19;:31::i;:::-;-1:-1:-1;;;;;11556:15:0;;;;;;;:9;:15;;;;;;:49;;;;11632:13;;;;;;;:27;;11650:8;11632:17;:27::i;:::-;-1:-1:-1;;;;;11616:13:0;;;;;;;:9;:13;;;;;;;:43;;;;11675:28;;;;;;;;;;11694:8;1848:25:1;;1836:2;1821:18;;1702:177;11675:28:0;;;;;;;;11110:601;;11002:709;;;:::o;12637:503::-;12727:16;;;12741:1;12727:16;;;;;;;;12703:21;;12727:16;;;;;;;;;;-1:-1:-1;12727:16:0;12703:40;;12772:4;12754;12759:1;12754:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;12754:23:0;;;-1:-1:-1;;;;;12754:23:0;;;;;12798:15;;;;;;;;;-1:-1:-1;;;;;12798:15:0;-1:-1:-1;;;;;12798:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12788:4;12793:1;12788:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12788:32:0;;;:7;;;;;;;;;:32;12865:15;;12833:62;;12850:4;;12865:15;;;;12883:11;12833:8;:62::i;:::-;12908:15;;:224;;-1:-1:-1;;;12908:224:0;;:15;;;;-1:-1:-1;;;;;12908:15:0;;:66;;:224;;12989:11;;13015:1;;13059:4;;13086;;13106:15;;12908:224;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12692:448;12637:503;:::o;2479:136::-;2537:7;2564:43;2568:1;2571;2564:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2557:50;2479:136;-1:-1:-1;;;2479:136:0:o;2292:179::-;2350:7;;2382:5;2386:1;2382;:5;:::i;:::-;2370:17;;2411:1;2406;:6;;2398:46;;;;-1:-1:-1;;;2398:46:0;;11820:2:1;2398:46:0;;;11802:21:1;11859:2;11839:18;;;11832:30;11898:29;11878:18;;;11871:57;11945:18;;2398:46:0;11618:351:1;11719:795:0;-1:-1:-1;;;;;11878:25:0;;11832:7;11878:25;;;:19;:25;;;;;;11832:7;;;;11878:25;;;:52;;-1:-1:-1;;;;;;11907:23:0;;;;;;:19;:23;;;;;;;;11878:52;11876:55;11861:70;;11944:12;11977:7;11973:493;;;-1:-1:-1;;;;;12005:12:0;;;;;;:8;:12;;;;;;;;:30;;;;;12034:1;12021:10;;:14;12005:30;12001:224;;;12063:31;12090:3;12063:22;12074:10;;12063:6;:10;;:22;;;;:::i;:::-;:26;;:31::i;:::-;12056:38;;12001:224;;;-1:-1:-1;;;;;12120:14:0;;;;;;:8;:14;;;;;;;;:31;;;;;12150:1;12138:9;;:13;12120:31;12116:109;;;12179:30;12205:3;12179:21;12190:9;;12179:6;:10;;:21;;;;:::i;:30::-;12172:37;;12116:109;12245:8;;12241:169;;12319:4;12301:24;;;;:9;:24;;;;;;:34;;12330:4;12301:28;:34::i;:::-;12292:4;12274:24;;;;:9;:24;;;;;;;:61;;;;12359:35;;-1:-1:-1;;;;;12359:35:0;;;;;;;12389:4;1848:25:1;;1836:2;1821:18;;1702:177;12359:35:0;;;;;;;;12241:169;12432:6;12440:13;12449:4;12432:6;12440:13;:::i;:::-;12424:30;;;;;;;;11973:493;12486:4;12492:13;12486:4;12492:6;:13;:::i;:::-;12478:28;;;;;;11719:795;;;;;;;:::o;2855:246::-;2913:7;2937:1;2942;2937:6;2933:47;;-1:-1:-1;2967:1:0;2960:8;;2933:47;2990:9;3002:5;3006:1;3002;:5;:::i;:::-;2990:17;-1:-1:-1;3035:1:0;3026:5;3030:1;2990:17;3026:5;:::i;:::-;:10;3018:56;;;;-1:-1:-1;;;3018:56:0;;12398:2:1;3018:56:0;;;12380:21:1;12437:2;12417:18;;;12410:30;12476:34;12456:18;;;12449:62;-1:-1:-1;;;12527:18:1;;;12520:31;12568:19;;3018:56:0;12196:397:1;3109:132:0;3167:7;3194:39;3198:1;3201;3194:39;;;;;;;;;;;;;;;;;3369:7;3404:12;3397:5;3389:28;;;;-1:-1:-1;;;3389:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3428:9:0;3440:5;3444:1;3440;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1215:248::-;1283:6;1291;1344:2;1332:9;1323:7;1319:23;1315:32;1312:52;;;1360:1;1357;1350:12;1312:52;-1:-1:-1;;1383:23:1;;;1453:2;1438:18;;;1425:32;;-1:-1:-1;1215:248:1:o;1884:456::-;1961:6;1969;1977;2030:2;2018:9;2009:7;2005:23;2001:32;1998:52;;;2046:1;2043;2036:12;1998:52;2085:9;2072:23;2104:31;2129:5;2104:31;:::i;:::-;2154:5;-1:-1:-1;2211:2:1;2196:18;;2183:32;2224:33;2183:32;2224:33;:::i;:::-;1884:456;;2276:7;;-1:-1:-1;;;2330:2:1;2315:18;;;;2302:32;;1884:456::o;2742:247::-;2801:6;2854:2;2842:9;2833:7;2829:23;2825:32;2822:52;;;2870:1;2867;2860:12;2822:52;2909:9;2896:23;2928:31;2953:5;2928:31;:::i;2994:388::-;3062:6;3070;3123:2;3111:9;3102:7;3098:23;3094:32;3091:52;;;3139:1;3136;3129:12;3091:52;3178:9;3165:23;3197:31;3222:5;3197:31;:::i;:::-;3247:5;-1:-1:-1;3304:2:1;3289:18;;3276:32;3317:33;3276:32;3317:33;:::i;:::-;3369:7;3359:17;;;2994:388;;;;;:::o;3387:380::-;3466:1;3462:12;;;;3509;;;3530:61;;3584:4;3576:6;3572:17;3562:27;;3530:61;3637:2;3629:6;3626:14;3606:18;3603:38;3600:161;;3683:10;3678:3;3674:20;3671:1;3664:31;3718:4;3715:1;3708:15;3746:4;3743:1;3736:15;3600:161;;3387:380;;;:::o;3772:356::-;3974:2;3956:21;;;3993:18;;;3986:30;4052:34;4047:2;4032:18;;4025:62;4119:2;4104:18;;3772:356::o;4491:251::-;4561:6;4614:2;4602:9;4593:7;4589:23;4585:32;4582:52;;;4630:1;4627;4620:12;4582:52;4662:9;4656:16;4681:31;4706:5;4681:31;:::i;5668:306::-;5756:6;5764;5772;5825:2;5813:9;5804:7;5800:23;5796:32;5793:52;;;5841:1;5838;5831:12;5793:52;5870:9;5864:16;5854:26;;5920:2;5909:9;5905:18;5899:25;5889:35;;5964:2;5953:9;5949:18;5943:25;5933:35;;5668:306;;;;;:::o;9453:127::-;9514:10;9509:3;9505:20;9502:1;9495:31;9545:4;9542:1;9535:15;9569:4;9566:1;9559:15;9585:125;9650:9;;;9671:10;;;9668:36;;;9684:18;;:::i;10063:128::-;10130:9;;;10151:11;;;10148:37;;;10165:18;;:::i;10196:168::-;10269:9;;;10300;;10317:15;;;10311:22;;10297:37;10287:71;;10338:18;;:::i;10501:127::-;10562:10;10557:3;10553:20;10550:1;10543:31;10593:4;10590:1;10583:15;10617:4;10614:1;10607:15;10633:980;10895:4;10943:3;10932:9;10928:19;10974:6;10963:9;10956:25;11000:2;11038:6;11033:2;11022:9;11018:18;11011:34;11081:3;11076:2;11065:9;11061:18;11054:31;11105:6;11140;11134:13;11171:6;11163;11156:22;11209:3;11198:9;11194:19;11187:26;;11248:2;11240:6;11236:15;11222:29;;11269:1;11279:195;11293:6;11290:1;11287:13;11279:195;;;11358:13;;-1:-1:-1;;;;;11354:39:1;11342:52;;11449:15;;;;11414:12;;;;11390:1;11308:9;11279:195;;;-1:-1:-1;;;;;;;11530:32:1;;;;11525:2;11510:18;;11503:60;-1:-1:-1;;;11594:3:1;11579:19;11572:35;11491:3;10633:980;-1:-1:-1;;;10633:980:1:o;11974:217::-;12014:1;12040;12030:132;;12084:10;12079:3;12075:20;12072:1;12065:31;12119:4;12116:1;12109:15;12147:4;12144:1;12137:15;12030:132;-1:-1:-1;12176:9:1;;11974:217::o
Swarm Source
ipfs://0c033d329d6ca6d00a871e1f8e03df2aa6edf7b48fc44eabbeb8d5d193fde4be
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.