ERC-20
Overview
Max Total Supply
10,000,000,000 DTF
Holders
55
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
DTF
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-10-28 */ // https://t.me/DegenTradingFundPortal // SPDX-License-Identifier: MIT pragma solidity 0.8.19; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } 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 ); } contract Ownable is Context { address private _owner; address private _previousOwner; 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); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; 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 ); } contract DTF is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "Degen Trading Fund"; string private constant _symbol = "DTF"; uint8 private constant _decimals = 9; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; mapping(address => bool) public flaggedAsBot; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 10000000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _redisFeeOnBuy = 0; uint256 private _taxFeeOnBuy = 0; uint256 private _redisFeeOnSell = 0; uint256 private _taxFeeOnSell = 0; //Original Fee uint256 private _redisFee = _redisFeeOnSell; uint256 private _taxFee = _taxFeeOnSell; uint256 private _previousredisFee = _redisFee; uint256 private _previoustaxFee = _taxFee; mapping (address => uint256) public _buyMap; address payable private _developmentAddress = payable(0x6d4E7523218Fc699C871AB0aB968B06b6100a868); address payable private _marketingAddress = payable(0x5B90518261705458D3E938311CE076125bc88465); IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen = false; bool private inSwap = false; bool private swapEnabled = true; uint256 public _maxTxAmount = (_tTotal * 2) / 100; uint256 public _maxWalletSize = (_tTotal * 2) / 100; uint256 public _swapTokensAtAmount = (_tTotal * 5) / 10000; event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor(uint256 startFeeBuy, uint256 startFeeSell) { _rOwned[_msgSender()] = _rTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); _taxFeeOnBuy = startFeeBuy; _taxFeeOnSell = startFeeSell; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_developmentAddress] = true; _isExcludedFromFee[_marketingAddress] = 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 tokenFromReflection(_rOwned[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 tokenFromReflection(uint256 rAmount) private view returns (uint256) { require( rAmount <= _rTotal, "Amount must be less than total reflections" ); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function removeAllFee() private { if (_redisFee == 0 && _taxFee == 0) return; _previousredisFee = _redisFee; _previoustaxFee = _taxFee; _redisFee = 0; _taxFee = 0; } function restoreAllFee() private { _redisFee = _previousredisFee; _taxFee = _previoustaxFee; } 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 amount ) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (from != owner() && to != owner()) { //Trade start check if (!tradingOpen) { require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled"); } if (from != _developmentAddress && to != _developmentAddress) { require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit"); if(to != uniswapV2Pair) { require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!"); } } if (tradingOpen) { require( !flaggedAsBot[from] || to == _marketingAddress || to == owner() || to == address(0xdead), "Bots cannot transfer tokens in or out except to owner, marketing, or dead address." ); } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= _swapTokensAtAmount; if(contractTokenBalance >= _maxTxAmount) { contractTokenBalance = _maxTxAmount; } if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } bool takeFee = true; //Transfer Tokens if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) { takeFee = false; } else { //Set Fee for Buys if(from == uniswapV2Pair && to != address(uniswapV2Router)) { _redisFee = _redisFeeOnBuy; _taxFee = _taxFeeOnBuy; } //Set Fee for Sells if (to == uniswapV2Pair && from != address(uniswapV2Router)) { _redisFee = _redisFeeOnSell; _taxFee = _taxFeeOnSell; } } _tokenTransfer(from, to, amount, takeFee); } 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 sendETHToFee(uint256 amount) private { _marketingAddress.transfer(amount); } function setTrading(bool _tradingOpen) public onlyOwner { tradingOpen = _tradingOpen; } function manualswap() external { require(_msgSender() == _developmentAddress || _msgSender() == owner() || _msgSender() == _marketingAddress); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _developmentAddress || _msgSender() == owner() || _msgSender() == _marketingAddress); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function flagMultipleBots(address[] memory wallets) external onlyOwner { require( wallets.length < 600, "Can only mark 600 wallets per txn due to gas limits" ); for (uint256 i = 0; i < wallets.length; i++) { address wallet = wallets[i]; flaggedAsBot[wallet] = true; } } function unflagMultipleBots(address[] memory wallets) external onlyOwner { require( wallets.length < 600, "Can only mark 600 wallets per txn due to gas limits" ); for (uint256 i = 0; i < wallets.length; i++) { address wallet = wallets[i]; flaggedAsBot[wallet] = false; } } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if (!takeFee) restoreAllFee(); } function _transferStandard( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _redisFee, _taxFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues( uint256 tAmount, uint256 redisFee, uint256 taxFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(redisFee).div(100); uint256 tTeam = tAmount.mul(taxFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues( uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate ) private pure returns ( uint256, uint256, uint256 ) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner { _redisFeeOnBuy = redisFeeOnBuy; _redisFeeOnSell = redisFeeOnSell; _taxFeeOnBuy = taxFeeOnBuy; _taxFeeOnSell = taxFeeOnSell; } //Set minimum tokens required to swap. function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner { _swapTokensAtAmount = swapTokensAtAmount; } //Set minimum tokens required to swap. function toggleSwap(bool _swapEnabled) public onlyOwner { swapEnabled = _swapEnabled; } //Set maximum transaction function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner { _maxTxAmount = maxTxAmount; } function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner { _maxWalletSize = maxWalletSize; } function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner { for(uint256 i = 0; i < accounts.length; i++) { _isExcludedFromFee[accounts[i]] = excluded; } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint256","name":"startFeeBuy","type":"uint256"},{"internalType":"uint256","name":"startFeeSell","type":"uint256"}],"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":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","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":"_swapTokensAtAmount","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":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"}],"name":"flagMultipleBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"flaggedAsBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"}],"name":"unflagMultipleBots","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
60806040526200001a678ac7230489e800006000196200040e565b62000028906000196200043b565b60075560006009819055600a819055600b819055600c819055600d819055600e819055600f819055601055601280546001600160a01b0319908116736d4e7523218fc699c871ab0ab968b06b6100a8681790915560138054909116735b90518261705458d3e938311ce076125bc884651790556015805462ffffff60a01b1916600160b01b1790556064620000c7678ac7230489e80000600262000457565b620000d3919062000471565b6016556064620000ed678ac7230489e80000600262000457565b620000f9919062000471565b60175561271062000114678ac7230489e80000600562000457565b62000120919062000471565b6018553480156200013057600080fd5b506040516200246a3803806200246a833981016040819052620001539162000488565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506007543360009081526002602090815260409182902092909255601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa15801562000210573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002369190620004ad565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000284573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002aa9190620004ad565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031e9190620004ad565b601580546001600160a01b0319166001600160a01b03928316179055600a849055600c839055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601254851684528284208054821683179055601354909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef678ac7230489e80000604051620003e791815260200190565b60405180910390a3505050620004df565b634e487b7160e01b600052601260045260246000fd5b600082620004205762000420620003f8565b500690565b634e487b7160e01b600052601160045260246000fd5b8181038181111562000451576200045162000425565b92915050565b808202811582820484141762000451576200045162000425565b600082620004835762000483620003f8565b500490565b600080604083850312156200049c57600080fd5b505080516020909101519092909150565b600060208284031215620004c057600080fd5b81516001600160a01b0381168114620004d857600080fd5b9392505050565b611f7b80620004ef6000396000f3fe6080604052600436106101d15760003560e01c80637d1db4a5116100f7578063a2a957bb11610095578063dd62ed3e11610064578063dd62ed3e14610559578063e1d9888f1461059f578063ea1644d5146105bf578063f2fde38b146105df57600080fd5b8063a2a957bb146104e4578063a9059cbb14610504578063c3c8cd8014610524578063c492f0461461053957600080fd5b80638f70ccf7116100d15780638f70ccf7146104625780638f9a55c01461048257806395d89b411461049857806398a5c315146104c457600080fd5b80637d1db4a5146104015780637f2feddc146104175780638da5cb5b1461044457600080fd5b8063313ce5671161016f57806370a082311161013e57806370a082311461038c578063713318c1146103ac578063715018a6146103cc57806374010ece146103e157600080fd5b8063313ce5671461031957806349bd5a5e146103355780636d8aa8f8146103555780636fc3eaec1461037757600080fd5b80631694505e116101ab5780631694505e1461028657806318160ddd146102be57806323b872dd146102e35780632fd689e31461030357600080fd5b8063017e0192146101dd57806306fdde0314610222578063095ea7b31461026657600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b5061020d6101f8366004611a7d565b60066020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561022e57600080fd5b50604080518082019091526012815271111959d95b88151c98591a5b99c8119d5b9960721b60208201525b6040516102199190611a9a565b34801561027257600080fd5b5061020d610281366004611ae8565b6105ff565b34801561029257600080fd5b506014546102a6906001600160a01b031681565b6040516001600160a01b039091168152602001610219565b3480156102ca57600080fd5b50678ac7230489e800005b604051908152602001610219565b3480156102ef57600080fd5b5061020d6102fe366004611b14565b610616565b34801561030f57600080fd5b506102d560185481565b34801561032557600080fd5b5060405160098152602001610219565b34801561034157600080fd5b506015546102a6906001600160a01b031681565b34801561036157600080fd5b50610375610370366004611b65565b61067f565b005b34801561038357600080fd5b506103756106d0565b34801561039857600080fd5b506102d56103a7366004611a7d565b610730565b3480156103b857600080fd5b506103756103c7366004611b96565b610752565b3480156103d857600080fd5b50610375610800565b3480156103ed57600080fd5b506103756103fc366004611c5b565b610874565b34801561040d57600080fd5b506102d560165481565b34801561042357600080fd5b506102d5610432366004611a7d565b60116020526000908152604090205481565b34801561045057600080fd5b506000546001600160a01b03166102a6565b34801561046e57600080fd5b5061037561047d366004611b65565b6108a3565b34801561048e57600080fd5b506102d560175481565b3480156104a457600080fd5b50604080518082019091526003815262222a2360e91b6020820152610259565b3480156104d057600080fd5b506103756104df366004611c5b565b6108eb565b3480156104f057600080fd5b506103756104ff366004611c74565b61091a565b34801561051057600080fd5b5061020d61051f366004611ae8565b610958565b34801561053057600080fd5b50610375610965565b34801561054557600080fd5b50610375610554366004611ca6565b6109ce565b34801561056557600080fd5b506102d5610574366004611d2a565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105ab57600080fd5b506103756105ba366004611b96565b610a6f565b3480156105cb57600080fd5b506103756105da366004611c5b565b610b1c565b3480156105eb57600080fd5b506103756105fa366004611a7d565b610b4b565b600061060c338484610c35565b5060015b92915050565b6000610623848484610d59565b610675843361067085604051806060016040528060288152602001611f1e602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061132d565b610c35565b5060019392505050565b6000546001600160a01b031633146106b25760405162461bcd60e51b81526004016106a990611d63565b60405180910390fd5b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b031614806106fc57506000546001600160a01b031633145b8061071a57506013546001600160a01b0316336001600160a01b0316145b61072357600080fd5b4761072d81611367565b50565b6001600160a01b038116600090815260026020526040812054610610906113a1565b6000546001600160a01b0316331461077c5760405162461bcd60e51b81526004016106a990611d63565b61025881511061079e5760405162461bcd60e51b81526004016106a990611d98565b60005b81518110156107fc5760008282815181106107be576107be611deb565b6020908102919091018101516001600160a01b03166000908152600690915260409020805460ff1916905550806107f481611e17565b9150506107a1565b5050565b6000546001600160a01b0316331461082a5760405162461bcd60e51b81526004016106a990611d63565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461089e5760405162461bcd60e51b81526004016106a990611d63565b601655565b6000546001600160a01b031633146108cd5760405162461bcd60e51b81526004016106a990611d63565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146109155760405162461bcd60e51b81526004016106a990611d63565b601855565b6000546001600160a01b031633146109445760405162461bcd60e51b81526004016106a990611d63565b600993909355600b91909155600a55600c55565b600061060c338484610d59565b6012546001600160a01b0316336001600160a01b0316148061099157506000546001600160a01b031633145b806109af57506013546001600160a01b0316336001600160a01b0316145b6109b857600080fd5b60006109c330610730565b905061072d81611425565b6000546001600160a01b031633146109f85760405162461bcd60e51b81526004016106a990611d63565b60005b82811015610a69578160056000868685818110610a1a57610a1a611deb565b9050602002016020810190610a2f9190611a7d565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a6181611e17565b9150506109fb565b50505050565b6000546001600160a01b03163314610a995760405162461bcd60e51b81526004016106a990611d63565b610258815110610abb5760405162461bcd60e51b81526004016106a990611d98565b60005b81518110156107fc576000828281518110610adb57610adb611deb565b6020908102919091018101516001600160a01b03166000908152600690915260409020805460ff191660011790555080610b1481611e17565b915050610abe565b6000546001600160a01b03163314610b465760405162461bcd60e51b81526004016106a990611d63565b601755565b6000546001600160a01b03163314610b755760405162461bcd60e51b81526004016106a990611d63565b6001600160a01b038116610bda5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106a9565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610c975760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106a9565b6001600160a01b038216610cf85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106a9565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610dbd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106a9565b6001600160a01b038216610e1f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106a9565b60008111610e815760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106a9565b6000546001600160a01b03848116911614801590610ead57506000546001600160a01b03838116911614155b1561122657601554600160a01b900460ff16610f46576000546001600160a01b03848116911614610f465760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016106a9565b6012546001600160a01b03848116911614801590610f7257506012546001600160a01b03838116911614155b1561104e57601654811115610fc95760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016106a9565b6015546001600160a01b0383811691161461104e5760175481610feb84610730565b610ff59190611e30565b1061104e5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016106a9565b601554600160a01b900460ff161561114f576001600160a01b03831660009081526006602052604090205460ff16158061109557506013546001600160a01b038381169116145b806110ad57506000546001600160a01b038381169116145b806110c257506001600160a01b03821661dead145b61114f5760405162461bcd60e51b815260206004820152605260248201527f426f74732063616e6e6f74207472616e7366657220746f6b656e7320696e206f60448201527f72206f75742065786365707420746f206f776e65722c206d61726b6574696e67606482015271161037b9103232b0b21030b2323932b9b99760711b608482015260a4016106a9565b600061115a30610730565b6018546016549192508210159082106111735760165491505b80801561118a5750601554600160a81b900460ff16155b80156111a457506015546001600160a01b03868116911614155b80156111b95750601554600160b01b900460ff165b80156111de57506001600160a01b03851660009081526005602052604090205460ff16155b801561120357506001600160a01b03841660009081526005602052604090205460ff16155b156112235761121182611425565b4780156112215761122147611367565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061126857506001600160a01b03831660009081526005602052604090205460ff165b8061129a57506015546001600160a01b0385811691161480159061129a57506015546001600160a01b03848116911614155b156112a757506000611321565b6015546001600160a01b0385811691161480156112d257506014546001600160a01b03848116911614155b156112e457600954600d55600a54600e555b6015546001600160a01b03848116911614801561130f57506014546001600160a01b03858116911614155b1561132157600b54600d55600c54600e555b610a698484848461159f565b600081848411156113515760405162461bcd60e51b81526004016106a99190611a9a565b50600061135e8486611e43565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156107fc573d6000803e3d6000fd5b60006007548211156114085760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106a9565b60006114126115cd565b905061141e83826115f0565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061146d5761146d611deb565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ea9190611e56565b816001815181106114fd576114fd611deb565b6001600160a01b0392831660209182029290920101526014546115239130911684610c35565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac9479061155c908590600090869030904290600401611e73565b600060405180830381600087803b15801561157657600080fd5b505af115801561158a573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b806115ac576115ac611632565b6115b7848484611660565b80610a6957610a69600f54600d55601054600e55565b60008060006115da611757565b90925090506115e982826115f0565b9250505090565b600061141e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611797565b600d541580156116425750600e54155b1561164957565b600d8054600f55600e805460105560009182905555565b600080600080600080611672876117c5565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506116a49087611822565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546116d39086611864565b6001600160a01b0389166000908152600260205260409020556116f5816118c3565b6116ff848361190d565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161174491815260200190565b60405180910390a3505050505050505050565b6007546000908190678ac7230489e8000061177282826115f0565b82101561178e57505060075492678ac7230489e8000092509050565b90939092509050565b600081836117b85760405162461bcd60e51b81526004016106a99190611a9a565b50600061135e8486611ee4565b60008060008060008060008060006117e28a600d54600e54611931565b92509250925060006117f26115cd565b905060008060006118058e878787611986565b919e509c509a509598509396509194505050505091939550919395565b600061141e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061132d565b6000806118718385611e30565b90508381101561141e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106a9565b60006118cd6115cd565b905060006118db83836119d6565b306000908152600260205260409020549091506118f89082611864565b30600090815260026020526040902055505050565b60075461191a9083611822565b60075560085461192a9082611864565b6008555050565b600080808061194b606461194589896119d6565b906115f0565b9050600061195e60646119458a896119d6565b90506000611976826119708b86611822565b90611822565b9992985090965090945050505050565b600080808061199588866119d6565b905060006119a388876119d6565b905060006119b188886119d6565b905060006119c3826119708686611822565b939b939a50919850919650505050505050565b6000826000036119e857506000610610565b60006119f48385611f06565b905082611a018583611ee4565b1461141e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106a9565b6001600160a01b038116811461072d57600080fd5b8035611a7881611a58565b919050565b600060208284031215611a8f57600080fd5b813561141e81611a58565b600060208083528351808285015260005b81811015611ac757858101830151858201604001528201611aab565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611afb57600080fd5b8235611b0681611a58565b946020939093013593505050565b600080600060608486031215611b2957600080fd5b8335611b3481611a58565b92506020840135611b4481611a58565b929592945050506040919091013590565b80358015158114611a7857600080fd5b600060208284031215611b7757600080fd5b61141e82611b55565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611ba957600080fd5b823567ffffffffffffffff80821115611bc157600080fd5b818501915085601f830112611bd557600080fd5b813581811115611be757611be7611b80565b8060051b604051601f19603f83011681018181108582111715611c0c57611c0c611b80565b604052918252848201925083810185019188831115611c2a57600080fd5b938501935b82851015611c4f57611c4085611a6d565b84529385019392850192611c2f565b98975050505050505050565b600060208284031215611c6d57600080fd5b5035919050565b60008060008060808587031215611c8a57600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611cbb57600080fd5b833567ffffffffffffffff80821115611cd357600080fd5b818601915086601f830112611ce757600080fd5b813581811115611cf657600080fd5b8760208260051b8501011115611d0b57600080fd5b602092830195509350611d219186019050611b55565b90509250925092565b60008060408385031215611d3d57600080fd5b8235611d4881611a58565b91506020830135611d5881611a58565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526033908201527f43616e206f6e6c79206d61726b203630302077616c6c657473207065722074786040820152726e2064756520746f20676173206c696d69747360681b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611e2957611e29611e01565b5060010190565b8082018082111561061057610610611e01565b8181038181111561061057610610611e01565b600060208284031215611e6857600080fd5b815161141e81611a58565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ec35784516001600160a01b031683529383019391830191600101611e9e565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611f0157634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761061057610610611e0156fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fabf29cfe46570011db64f01db427a6ef91d765aad07d2356f66ae9324c23aea64736f6c6343000813003300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000004
Deployed Bytecode
0x6080604052600436106101d15760003560e01c80637d1db4a5116100f7578063a2a957bb11610095578063dd62ed3e11610064578063dd62ed3e14610559578063e1d9888f1461059f578063ea1644d5146105bf578063f2fde38b146105df57600080fd5b8063a2a957bb146104e4578063a9059cbb14610504578063c3c8cd8014610524578063c492f0461461053957600080fd5b80638f70ccf7116100d15780638f70ccf7146104625780638f9a55c01461048257806395d89b411461049857806398a5c315146104c457600080fd5b80637d1db4a5146104015780637f2feddc146104175780638da5cb5b1461044457600080fd5b8063313ce5671161016f57806370a082311161013e57806370a082311461038c578063713318c1146103ac578063715018a6146103cc57806374010ece146103e157600080fd5b8063313ce5671461031957806349bd5a5e146103355780636d8aa8f8146103555780636fc3eaec1461037757600080fd5b80631694505e116101ab5780631694505e1461028657806318160ddd146102be57806323b872dd146102e35780632fd689e31461030357600080fd5b8063017e0192146101dd57806306fdde0314610222578063095ea7b31461026657600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b5061020d6101f8366004611a7d565b60066020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561022e57600080fd5b50604080518082019091526012815271111959d95b88151c98591a5b99c8119d5b9960721b60208201525b6040516102199190611a9a565b34801561027257600080fd5b5061020d610281366004611ae8565b6105ff565b34801561029257600080fd5b506014546102a6906001600160a01b031681565b6040516001600160a01b039091168152602001610219565b3480156102ca57600080fd5b50678ac7230489e800005b604051908152602001610219565b3480156102ef57600080fd5b5061020d6102fe366004611b14565b610616565b34801561030f57600080fd5b506102d560185481565b34801561032557600080fd5b5060405160098152602001610219565b34801561034157600080fd5b506015546102a6906001600160a01b031681565b34801561036157600080fd5b50610375610370366004611b65565b61067f565b005b34801561038357600080fd5b506103756106d0565b34801561039857600080fd5b506102d56103a7366004611a7d565b610730565b3480156103b857600080fd5b506103756103c7366004611b96565b610752565b3480156103d857600080fd5b50610375610800565b3480156103ed57600080fd5b506103756103fc366004611c5b565b610874565b34801561040d57600080fd5b506102d560165481565b34801561042357600080fd5b506102d5610432366004611a7d565b60116020526000908152604090205481565b34801561045057600080fd5b506000546001600160a01b03166102a6565b34801561046e57600080fd5b5061037561047d366004611b65565b6108a3565b34801561048e57600080fd5b506102d560175481565b3480156104a457600080fd5b50604080518082019091526003815262222a2360e91b6020820152610259565b3480156104d057600080fd5b506103756104df366004611c5b565b6108eb565b3480156104f057600080fd5b506103756104ff366004611c74565b61091a565b34801561051057600080fd5b5061020d61051f366004611ae8565b610958565b34801561053057600080fd5b50610375610965565b34801561054557600080fd5b50610375610554366004611ca6565b6109ce565b34801561056557600080fd5b506102d5610574366004611d2a565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105ab57600080fd5b506103756105ba366004611b96565b610a6f565b3480156105cb57600080fd5b506103756105da366004611c5b565b610b1c565b3480156105eb57600080fd5b506103756105fa366004611a7d565b610b4b565b600061060c338484610c35565b5060015b92915050565b6000610623848484610d59565b610675843361067085604051806060016040528060288152602001611f1e602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061132d565b610c35565b5060019392505050565b6000546001600160a01b031633146106b25760405162461bcd60e51b81526004016106a990611d63565b60405180910390fd5b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b031614806106fc57506000546001600160a01b031633145b8061071a57506013546001600160a01b0316336001600160a01b0316145b61072357600080fd5b4761072d81611367565b50565b6001600160a01b038116600090815260026020526040812054610610906113a1565b6000546001600160a01b0316331461077c5760405162461bcd60e51b81526004016106a990611d63565b61025881511061079e5760405162461bcd60e51b81526004016106a990611d98565b60005b81518110156107fc5760008282815181106107be576107be611deb565b6020908102919091018101516001600160a01b03166000908152600690915260409020805460ff1916905550806107f481611e17565b9150506107a1565b5050565b6000546001600160a01b0316331461082a5760405162461bcd60e51b81526004016106a990611d63565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461089e5760405162461bcd60e51b81526004016106a990611d63565b601655565b6000546001600160a01b031633146108cd5760405162461bcd60e51b81526004016106a990611d63565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146109155760405162461bcd60e51b81526004016106a990611d63565b601855565b6000546001600160a01b031633146109445760405162461bcd60e51b81526004016106a990611d63565b600993909355600b91909155600a55600c55565b600061060c338484610d59565b6012546001600160a01b0316336001600160a01b0316148061099157506000546001600160a01b031633145b806109af57506013546001600160a01b0316336001600160a01b0316145b6109b857600080fd5b60006109c330610730565b905061072d81611425565b6000546001600160a01b031633146109f85760405162461bcd60e51b81526004016106a990611d63565b60005b82811015610a69578160056000868685818110610a1a57610a1a611deb565b9050602002016020810190610a2f9190611a7d565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a6181611e17565b9150506109fb565b50505050565b6000546001600160a01b03163314610a995760405162461bcd60e51b81526004016106a990611d63565b610258815110610abb5760405162461bcd60e51b81526004016106a990611d98565b60005b81518110156107fc576000828281518110610adb57610adb611deb565b6020908102919091018101516001600160a01b03166000908152600690915260409020805460ff191660011790555080610b1481611e17565b915050610abe565b6000546001600160a01b03163314610b465760405162461bcd60e51b81526004016106a990611d63565b601755565b6000546001600160a01b03163314610b755760405162461bcd60e51b81526004016106a990611d63565b6001600160a01b038116610bda5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106a9565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610c975760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106a9565b6001600160a01b038216610cf85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106a9565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610dbd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106a9565b6001600160a01b038216610e1f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106a9565b60008111610e815760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106a9565b6000546001600160a01b03848116911614801590610ead57506000546001600160a01b03838116911614155b1561122657601554600160a01b900460ff16610f46576000546001600160a01b03848116911614610f465760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016106a9565b6012546001600160a01b03848116911614801590610f7257506012546001600160a01b03838116911614155b1561104e57601654811115610fc95760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016106a9565b6015546001600160a01b0383811691161461104e5760175481610feb84610730565b610ff59190611e30565b1061104e5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016106a9565b601554600160a01b900460ff161561114f576001600160a01b03831660009081526006602052604090205460ff16158061109557506013546001600160a01b038381169116145b806110ad57506000546001600160a01b038381169116145b806110c257506001600160a01b03821661dead145b61114f5760405162461bcd60e51b815260206004820152605260248201527f426f74732063616e6e6f74207472616e7366657220746f6b656e7320696e206f60448201527f72206f75742065786365707420746f206f776e65722c206d61726b6574696e67606482015271161037b9103232b0b21030b2323932b9b99760711b608482015260a4016106a9565b600061115a30610730565b6018546016549192508210159082106111735760165491505b80801561118a5750601554600160a81b900460ff16155b80156111a457506015546001600160a01b03868116911614155b80156111b95750601554600160b01b900460ff165b80156111de57506001600160a01b03851660009081526005602052604090205460ff16155b801561120357506001600160a01b03841660009081526005602052604090205460ff16155b156112235761121182611425565b4780156112215761122147611367565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061126857506001600160a01b03831660009081526005602052604090205460ff165b8061129a57506015546001600160a01b0385811691161480159061129a57506015546001600160a01b03848116911614155b156112a757506000611321565b6015546001600160a01b0385811691161480156112d257506014546001600160a01b03848116911614155b156112e457600954600d55600a54600e555b6015546001600160a01b03848116911614801561130f57506014546001600160a01b03858116911614155b1561132157600b54600d55600c54600e555b610a698484848461159f565b600081848411156113515760405162461bcd60e51b81526004016106a99190611a9a565b50600061135e8486611e43565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156107fc573d6000803e3d6000fd5b60006007548211156114085760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106a9565b60006114126115cd565b905061141e83826115f0565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061146d5761146d611deb565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ea9190611e56565b816001815181106114fd576114fd611deb565b6001600160a01b0392831660209182029290920101526014546115239130911684610c35565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac9479061155c908590600090869030904290600401611e73565b600060405180830381600087803b15801561157657600080fd5b505af115801561158a573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b806115ac576115ac611632565b6115b7848484611660565b80610a6957610a69600f54600d55601054600e55565b60008060006115da611757565b90925090506115e982826115f0565b9250505090565b600061141e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611797565b600d541580156116425750600e54155b1561164957565b600d8054600f55600e805460105560009182905555565b600080600080600080611672876117c5565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506116a49087611822565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546116d39086611864565b6001600160a01b0389166000908152600260205260409020556116f5816118c3565b6116ff848361190d565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161174491815260200190565b60405180910390a3505050505050505050565b6007546000908190678ac7230489e8000061177282826115f0565b82101561178e57505060075492678ac7230489e8000092509050565b90939092509050565b600081836117b85760405162461bcd60e51b81526004016106a99190611a9a565b50600061135e8486611ee4565b60008060008060008060008060006117e28a600d54600e54611931565b92509250925060006117f26115cd565b905060008060006118058e878787611986565b919e509c509a509598509396509194505050505091939550919395565b600061141e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061132d565b6000806118718385611e30565b90508381101561141e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106a9565b60006118cd6115cd565b905060006118db83836119d6565b306000908152600260205260409020549091506118f89082611864565b30600090815260026020526040902055505050565b60075461191a9083611822565b60075560085461192a9082611864565b6008555050565b600080808061194b606461194589896119d6565b906115f0565b9050600061195e60646119458a896119d6565b90506000611976826119708b86611822565b90611822565b9992985090965090945050505050565b600080808061199588866119d6565b905060006119a388876119d6565b905060006119b188886119d6565b905060006119c3826119708686611822565b939b939a50919850919650505050505050565b6000826000036119e857506000610610565b60006119f48385611f06565b905082611a018583611ee4565b1461141e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106a9565b6001600160a01b038116811461072d57600080fd5b8035611a7881611a58565b919050565b600060208284031215611a8f57600080fd5b813561141e81611a58565b600060208083528351808285015260005b81811015611ac757858101830151858201604001528201611aab565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611afb57600080fd5b8235611b0681611a58565b946020939093013593505050565b600080600060608486031215611b2957600080fd5b8335611b3481611a58565b92506020840135611b4481611a58565b929592945050506040919091013590565b80358015158114611a7857600080fd5b600060208284031215611b7757600080fd5b61141e82611b55565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611ba957600080fd5b823567ffffffffffffffff80821115611bc157600080fd5b818501915085601f830112611bd557600080fd5b813581811115611be757611be7611b80565b8060051b604051601f19603f83011681018181108582111715611c0c57611c0c611b80565b604052918252848201925083810185019188831115611c2a57600080fd5b938501935b82851015611c4f57611c4085611a6d565b84529385019392850192611c2f565b98975050505050505050565b600060208284031215611c6d57600080fd5b5035919050565b60008060008060808587031215611c8a57600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611cbb57600080fd5b833567ffffffffffffffff80821115611cd357600080fd5b818601915086601f830112611ce757600080fd5b813581811115611cf657600080fd5b8760208260051b8501011115611d0b57600080fd5b602092830195509350611d219186019050611b55565b90509250925092565b60008060408385031215611d3d57600080fd5b8235611d4881611a58565b91506020830135611d5881611a58565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526033908201527f43616e206f6e6c79206d61726b203630302077616c6c657473207065722074786040820152726e2064756520746f20676173206c696d69747360681b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611e2957611e29611e01565b5060010190565b8082018082111561061057610610611e01565b8181038181111561061057610610611e01565b600060208284031215611e6857600080fd5b815161141e81611a58565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ec35784516001600160a01b031683529383019391830191600101611e9e565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611f0157634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761061057610610611e0156fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fabf29cfe46570011db64f01db427a6ef91d765aad07d2356f66ae9324c23aea64736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000004
-----Decoded View---------------
Arg [0] : startFeeBuy (uint256): 3
Arg [1] : startFeeSell (uint256): 4
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000004
Deployed Bytecode Sourcemap
4103:14502:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4570:44;;;;;;;;;;-1:-1:-1;4570:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;706:14:1;;699:22;681:41;;669:2;654:18;4570:44:0;;;;;;;;6749:83;;;;;;;;;;-1:-1:-1;6819:5:0;;;;;;;;;;;;-1:-1:-1;;;6819:5:0;;;;6749:83;;;;;;;:::i;7674:193::-;;;;;;;;;;-1:-1:-1;7674:193:0;;;;;:::i;:::-;;:::i;5462:41::-;;;;;;;;;;-1:-1:-1;5462:41:0;;;;-1:-1:-1;;;;;5462:41:0;;;;;;-1:-1:-1;;;;;1796:32:1;;;1778:51;;1766:2;1751:18;5462:41:0;1606:229:1;7026:95:0;;;;;;;;;;-1:-1:-1;4705:19:0;7026:95;;;1986:25:1;;;1974:2;1959:18;7026:95:0;1840:177:1;7875:446:0;;;;;;;;;;-1:-1:-1;7875:446:0;;;;;:::i;:::-;;:::i;5774:58::-;;;;;;;;;;;;;;;;6935:83;;;;;;;;;;-1:-1:-1;6935:83:0;;4328:1;2625:36:1;;2613:2;2598:18;6935:83:0;2483:184:1;5510:28:0;;;;;;;;;;-1:-1:-1;5510:28:0;;;;-1:-1:-1;;;;;5510:28:0;;;17987:101;;;;;;;;;;-1:-1:-1;17987:101:0;;;;;:::i;:::-;;:::i;:::-;;13038:262;;;;;;;;;;;;;:::i;7129:138::-;;;;;;;;;;-1:-1:-1;7129:138:0;;;;;:::i;:::-;;:::i;13682:365::-;;;;;;;;;;-1:-1:-1;13682:365:0;;;;;:::i;:::-;;:::i;1590:148::-;;;;;;;;;;;;;:::i;18127:108::-;;;;;;;;;;-1:-1:-1;18127:108:0;;;;;:::i;:::-;;:::i;5660:49::-;;;;;;;;;;;;;;;;5204:43;;;;;;;;;;-1:-1:-1;5204:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;1376:79;;;;;;;;;;-1:-1:-1;1414:7:0;1441:6;-1:-1:-1;;;;;1441:6:0;1376:79;;12658:101;;;;;;;;;;-1:-1:-1;12658:101:0;;;;;:::i;:::-;;:::i;5716:51::-;;;;;;;;;;;;;;;;6840:87;;;;;;;;;;-1:-1:-1;6912:7:0;;;;;;;;;;;;-1:-1:-1;;;6912:7:0;;;;6840:87;;17796:139;;;;;;;;;;-1:-1:-1;17796:139:0;;;;;:::i;:::-;;:::i;17453:291::-;;;;;;;;;;-1:-1:-1;17453:291:0;;;;;:::i;:::-;;:::i;7275:199::-;;;;;;;;;;-1:-1:-1;7275:199:0;;;;;:::i;:::-;;:::i;12767:263::-;;;;;;;;;;;;;:::i;18366:234::-;;;;;;;;;;-1:-1:-1;18366:234:0;;;;;:::i;:::-;;:::i;7482:184::-;;;;;;;;;;-1:-1:-1;7482:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7631:18:0;;;7599:7;7631:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7482:184;13310:364;;;;;;;;;;-1:-1:-1;13310:364:0;;;;;:::i;:::-;;:::i;18243:115::-;;;;;;;;;;-1:-1:-1;18243:115:0;;;;;:::i;:::-;;:::i;1746:244::-;;;;;;;;;;-1:-1:-1;1746:244:0;;;;;:::i;:::-;;:::i;7674:193::-;7776:4;7798:39;215:10;7821:7;7830:6;7798:8;:39::i;:::-;-1:-1:-1;7855:4:0;7674:193;;;;;:::o;7875:446::-;8007:4;8024:36;8034:6;8042:9;8053:6;8024:9;:36::i;:::-;8071:220;8094:6;215:10;8142:138;8198:6;8142:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8142:19:0;;;;;;:11;:19;;;;;;;;215:10;8142:33;;;;;;;;;;:37;:138::i;:::-;8071:8;:220::i;:::-;-1:-1:-1;8309:4:0;7875:446;;;;;:::o;17987:101::-;1503:6;;-1:-1:-1;;;;;1503:6:0;215:10;1503:22;1495:67;;;;-1:-1:-1;;;1495:67:0;;;;;;;:::i;:::-;;;;;;;;;18054:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;18054:26:0::1;-1:-1:-1::0;;;;18054:26:0;;::::1;::::0;;;::::1;::::0;;17987:101::o;13038:262::-;13104:19;;-1:-1:-1;;;;;13104:19:0;215:10;-1:-1:-1;;;;;13088:35:0;;:62;;;-1:-1:-1;1414:7:0;1441:6;-1:-1:-1;;;;;1441:6:0;215:10;13127:23;13088:62;:99;;;-1:-1:-1;13170:17:0;;-1:-1:-1;;;;;13170:17:0;215:10;-1:-1:-1;;;;;13154:33:0;;13088:99;13080:108;;;;;;13228:21;13260:32;13228:21;13260:12;:32::i;:::-;13069:231;13038:262::o;7129:138::-;-1:-1:-1;;;;;7242:16:0;;7195:7;7242:16;;;:7;:16;;;;;;7222:37;;:19;:37::i;13682:365::-;1503:6;;-1:-1:-1;;;;;1503:6:0;215:10;1503:22;1495:67;;;;-1:-1:-1;;;1495:67:0;;;;;;;:::i;:::-;13805:3:::1;13788:7;:14;:20;13766:121;;;;-1:-1:-1::0;;;13766:121:0::1;;;;;;;:::i;:::-;13903:9;13898:142;13922:7;:14;13918:1;:18;13898:142;;;13958:14;13975:7;13983:1;13975:10;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;14000:20:0::1;14023:5;14000:20:::0;;;:12:::1;:20:::0;;;;;;:28;;-1:-1:-1;;14000:28:0::1;::::0;;-1:-1:-1;13938:3:0;::::1;::::0;::::1;:::i;:::-;;;;13898:142;;;;13682:365:::0;:::o;1590:148::-;1503:6;;-1:-1:-1;;;;;1503:6:0;215:10;1503:22;1495:67;;;;-1:-1:-1;;;1495:67:0;;;;;;;:::i;:::-;1697:1:::1;1681:6:::0;;1660:40:::1;::::0;-1:-1:-1;;;;;1681:6:0;;::::1;::::0;1660:40:::1;::::0;1697:1;;1660:40:::1;1728:1;1711:19:::0;;-1:-1:-1;;;;;;1711:19:0::1;::::0;;1590:148::o;18127:108::-;1503:6;;-1:-1:-1;;;;;1503:6:0;215:10;1503:22;1495:67;;;;-1:-1:-1;;;1495:67:0;;;;;;;:::i;:::-;18201:12:::1;:26:::0;18127:108::o;12658:101::-;1503:6;;-1:-1:-1;;;;;1503:6:0;215:10;1503:22;1495:67;;;;-1:-1:-1;;;1495:67:0;;;;;;;:::i;:::-;12725:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;12725:26:0::1;-1:-1:-1::0;;;;12725:26:0;;::::1;::::0;;;::::1;::::0;;12658:101::o;17796:139::-;1503:6;;-1:-1:-1;;;;;1503:6:0;215:10;1503:22;1495:67;;;;-1:-1:-1;;;1495:67:0;;;;;;;:::i;:::-;17887:19:::1;:40:::0;17796:139::o;17453:291::-;1503:6;;-1:-1:-1;;;;;1503:6:0;215:10;1503:22;1495:67;;;;-1:-1:-1;;;1495:67:0;;;;;;;:::i;:::-;17587:14:::1;:30:::0;;;;17628:15:::1;:32:::0;;;;17671:12:::1;:26:::0;17708:13:::1;:28:::0;17453:291::o;7275:199::-;7380:4;7402:42;215:10;7426:9;7437:6;7402:9;:42::i;12767:263::-;12833:19;;-1:-1:-1;;;;;12833:19:0;215:10;-1:-1:-1;;;;;12817:35:0;;:62;;;-1:-1:-1;1414:7:0;1441:6;-1:-1:-1;;;;;1441:6:0;215:10;12856:23;12817:62;:99;;;-1:-1:-1;12899:17:0;;-1:-1:-1;;;;;12899:17:0;215:10;-1:-1:-1;;;;;12883:33:0;;12817:99;12809:108;;;;;;12928:23;12954:24;12972:4;12954:9;:24::i;:::-;12928:50;;12989:33;13006:15;12989:16;:33::i;18366:234::-;1503:6;;-1:-1:-1;;;;;1503:6:0;215:10;1503:22;1495:67;;;;-1:-1:-1;;;1495:67:0;;;;;;;:::i;:::-;18483:9:::1;18479:114;18498:19:::0;;::::1;18479:114;;;18573:8;18539:18;:31;18558:8;;18567:1;18558:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18539:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;18539:31:0;:42;;-1:-1:-1;;18539:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18519:3;::::1;::::0;::::1;:::i;:::-;;;;18479:114;;;;18366:234:::0;;;:::o;13310:364::-;1503:6;;-1:-1:-1;;;;;1503:6:0;215:10;1503:22;1495:67;;;;-1:-1:-1;;;1495:67:0;;;;;;;:::i;:::-;13431:3:::1;13414:7;:14;:20;13392:121;;;;-1:-1:-1::0;;;13392:121:0::1;;;;;;;:::i;:::-;13531:9;13526:141;13550:7;:14;13546:1;:18;13526:141;;;13586:14;13603:7;13611:1;13603:10;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13628:20:0::1;;::::0;;;:12:::1;:20:::0;;;;;;:27;;-1:-1:-1;;13628:27:0::1;13651:4;13628:27;::::0;;-1:-1:-1;13566:3:0;::::1;::::0;::::1;:::i;:::-;;;;13526:141;;18243:115:::0;1503:6;;-1:-1:-1;;;;;1503:6:0;215:10;1503:22;1495:67;;;;-1:-1:-1;;;1495:67:0;;;;;;;:::i;:::-;18320:14:::1;:30:::0;18243:115::o;1746:244::-;1503:6;;-1:-1:-1;;;;;1503:6:0;215:10;1503:22;1495:67;;;;-1:-1:-1;;;1495:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1835:22:0;::::1;1827:73;;;::::0;-1:-1:-1;;;1827:73:0;;7537:2:1;1827:73:0::1;::::0;::::1;7519:21:1::0;7576:2;7556:18;;;7549:30;7615:34;7595:18;;;7588:62;-1:-1:-1;;;7666:18:1;;;7659:36;7712:19;;1827:73:0::1;7335:402:1::0;1827:73:0::1;1937:6;::::0;;1916:38:::1;::::0;-1:-1:-1;;;;;1916:38:0;;::::1;::::0;1937:6;::::1;::::0;1916:38:::1;::::0;::::1;1965:6;:17:::0;;-1:-1:-1;;;;;;1965:17:0::1;-1:-1:-1::0;;;;;1965:17:0;;;::::1;::::0;;;::::1;::::0;;1746:244::o;9012:369::-;-1:-1:-1;;;;;9139:19:0;;9131:68;;;;-1:-1:-1;;;9131:68:0;;7944:2:1;9131:68:0;;;7926:21:1;7983:2;7963:18;;;7956:30;8022:34;8002:18;;;7995:62;-1:-1:-1;;;8073:18:1;;;8066:34;8117:19;;9131:68:0;7742:400:1;9131:68:0;-1:-1:-1;;;;;9218:21:0;;9210:68;;;;-1:-1:-1;;;9210:68:0;;8349:2:1;9210:68:0;;;8331:21:1;8388:2;8368:18;;;8361:30;8427:34;8407:18;;;8400:62;-1:-1:-1;;;8478:18:1;;;8471:32;8520:19;;9210:68:0;8147:398:1;9210:68:0;-1:-1:-1;;;;;9289:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9341:32;;1986:25:1;;;9341:32:0;;1959:18:1;9341:32:0;;;;;;;9012:369;;;:::o;9389:2663::-;-1:-1:-1;;;;;9511:18:0;;9503:68;;;;-1:-1:-1;;;9503:68:0;;8752:2:1;9503:68:0;;;8734:21:1;8791:2;8771:18;;;8764:30;8830:34;8810:18;;;8803:62;-1:-1:-1;;;8881:18:1;;;8874:35;8926:19;;9503:68:0;8550:401:1;9503:68:0;-1:-1:-1;;;;;9590:16:0;;9582:64;;;;-1:-1:-1;;;9582:64:0;;9158:2:1;9582:64:0;;;9140:21:1;9197:2;9177:18;;;9170:30;9236:34;9216:18;;;9209:62;-1:-1:-1;;;9287:18:1;;;9280:33;9330:19;;9582:64:0;8956:399:1;9582:64:0;9674:1;9665:6;:10;9657:64;;;;-1:-1:-1;;;9657:64:0;;9562:2:1;9657:64:0;;;9544:21:1;9601:2;9581:18;;;9574:30;9640:34;9620:18;;;9613:62;-1:-1:-1;;;9691:18:1;;;9684:39;9740:19;;9657:64:0;9360:405:1;9657:64:0;1414:7;1441:6;-1:-1:-1;;;;;9738:15:0;;;1441:6;;9738:15;;;;:32;;-1:-1:-1;1414:7:0;1441:6;-1:-1:-1;;;;;9757:13:0;;;1441:6;;9757:13;;9738:32;9734:1592;;;9827:11;;-1:-1:-1;;;9827:11:0;;;;9822:144;;1414:7;1441:6;-1:-1:-1;;;;;9867:15:0;;;1441:6;;9867:15;9859:91;;;;-1:-1:-1;;;9859:91:0;;9972:2:1;9859:91:0;;;9954:21:1;10011:2;9991:18;;;9984:30;10050:34;10030:18;;;10023:62;10121:33;10101:18;;;10094:61;10172:19;;9859:91:0;9770:427:1;9859:91:0;9994:19;;-1:-1:-1;;;;;9986:27:0;;;9994:19;;9986:27;;;;:56;;-1:-1:-1;10023:19:0;;-1:-1:-1;;;;;10017:25:0;;;10023:19;;10017:25;;9986:56;9982:334;;;10081:12;;10071:6;:22;;10063:63;;;;-1:-1:-1;;;10063:63:0;;10404:2:1;10063:63:0;;;10386:21:1;10443:2;10423:18;;;10416:30;10482;10462:18;;;10455:58;10530:18;;10063:63:0;10202:352:1;10063:63:0;10156:13;;-1:-1:-1;;;;;10150:19:0;;;10156:13;;10150:19;10147:154;;10227:14;;10218:6;10202:13;10212:2;10202:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10194:87;;;;-1:-1:-1;;;10194:87:0;;10891:2:1;10194:87:0;;;10873:21:1;10930:2;10910:18;;;10903:30;10969:34;10949:18;;;10942:62;-1:-1:-1;;;11020:18:1;;;11013:33;11063:19;;10194:87:0;10689:399:1;10194:87:0;10336:11;;-1:-1:-1;;;10336:11:0;;;;10332:296;;;-1:-1:-1;;;;;10399:18:0;;;;;;:12;:18;;;;;;;;10398:19;;:46;;-1:-1:-1;10427:17:0;;-1:-1:-1;;;;;10421:23:0;;;10427:17;;10421:23;10398:46;:63;;;-1:-1:-1;1414:7:0;1441:6;-1:-1:-1;;;;;10448:13:0;;;1441:6;;10448:13;10398:63;:88;;;-1:-1:-1;;;;;;10465:21:0;;10479:6;10465:21;10398:88;10368:244;;;;-1:-1:-1;;;10368:244:0;;11295:2:1;10368:244:0;;;11277:21:1;11334:2;11314:18;;;11307:30;11373:34;11353:18;;;11346:62;11444:34;11424:18;;;11417:62;-1:-1:-1;;;11495:19:1;;;11488:49;11554:19;;10368:244:0;11093:486:1;10368:244:0;10644:28;10675:24;10693:4;10675:9;:24::i;:::-;10753:19;;10816:12;;10644:55;;-1:-1:-1;10729:43:0;;;;10792:36;;10789:124;;10885:12;;10862:35;;10789:124;10933:7;:18;;;;-1:-1:-1;10945:6:0;;-1:-1:-1;;;10945:6:0;;;;10944:7;10933:18;:43;;;;-1:-1:-1;10963:13:0;;-1:-1:-1;;;;;10955:21:0;;;10963:13;;10955:21;;10933:43;:58;;;;-1:-1:-1;10980:11:0;;-1:-1:-1;;;10980:11:0;;;;10933:58;:87;;;;-1:-1:-1;;;;;;10996:24:0;;;;;;:18;:24;;;;;;;;10995:25;10933:87;:114;;;;-1:-1:-1;;;;;;11025:22:0;;;;;;:18;:22;;;;;;;;11024:23;10933:114;10929:386;;;11068:38;11085:20;11068:16;:38::i;:::-;11154:21;11198:22;;11194:106;;11245:35;11258:21;11245:12;:35::i;:::-;11049:266;10929:386;9772:1554;;9734:1592;-1:-1:-1;;;;;11402:24:0;;11338:12;11402:24;;;:18;:24;;;;;;11353:4;;11402:24;;;:50;;-1:-1:-1;;;;;;11430:22:0;;;;;;:18;:22;;;;;;;;11402:50;11401:102;;;-1:-1:-1;11466:13:0;;-1:-1:-1;;;;;11458:21:0;;;11466:13;;11458:21;;;;:44;;-1:-1:-1;11489:13:0;;-1:-1:-1;;;;;11483:19:0;;;11489:13;;11483:19;;11458:44;11397:594;;;-1:-1:-1;11530:5:0;11397:594;;;11613:13;;-1:-1:-1;;;;;11605:21:0;;;11613:13;;11605:21;:55;;;;-1:-1:-1;11644:15:0;;-1:-1:-1;;;;;11630:30:0;;;11644:15;;11630:30;;11605:55;11602:162;;;11693:14;;11681:9;:26;11736:12;;11726:7;:22;11602:162;11823:13;;-1:-1:-1;;;;;11817:19:0;;;11823:13;;11817:19;:55;;;;-1:-1:-1;11856:15:0;;-1:-1:-1;;;;;11840:32:0;;;11856:15;;11840:32;;11817:55;11813:165;;;11905:15;;11893:9;:27;11949:13;;11939:7;:23;11813:165;12003:41;12018:4;12024:2;12028:6;12036:7;12003:14;:41::i;2354:224::-;2474:7;2510:12;2502:6;;;;2494:29;;;;-1:-1:-1;;;2494:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2534:9:0;2546:5;2550:1;2546;:5;:::i;:::-;2534:17;2354:224;-1:-1:-1;;;;;2354:224:0:o;12551:99::-;12608:17;;:34;;-1:-1:-1;;;;;12608:17:0;;;;:34;;;;;12635:6;;12608:17;:34;:17;:34;12635:6;12608:17;:34;;;;;;;;;;;;;;;;;;;8329:323;8424:7;8482;;8471;:18;;8449:110;;;;-1:-1:-1;;;8449:110:0;;11919:2:1;8449:110:0;;;11901:21:1;11958:2;11938:18;;;11931:30;11997:34;11977:18;;;11970:62;-1:-1:-1;;;12048:18:1;;;12041:40;12098:19;;8449:110:0;11717:406:1;8449:110:0;8570:19;8592:10;:8;:10::i;:::-;8570:32;-1:-1:-1;8620:24:0;:7;8570:32;8620:11;:24::i;:::-;8613:31;8329:323;-1:-1:-1;;;8329:323:0:o;12060:483::-;5926:6;:13;;-1:-1:-1;;;;5926:13:0;-1:-1:-1;;;5926:13:0;;;12162:16:::1;::::0;;12176:1:::1;12162:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12162:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12162:16:0::1;12138:40;;12207:4;12189;12194:1;12189:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12189:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12233:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12233:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12189:7;;12233:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12223:4;12228:1;12223:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12223:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12298:15:::1;::::0;12266:62:::1;::::0;12283:4:::1;::::0;12298:15:::1;12316:11:::0;12266:8:::1;:62::i;:::-;12339:15;::::0;:196:::1;::::0;-1:-1:-1;;;12339:196:0;;-1:-1:-1;;;;;12339:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12420:11;;12339:15:::1;::::0;12462:4;;12489::::1;::::0;12509:15:::1;::::0;12339:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5962:6:0;:14;;-1:-1:-1;;;;5962:14:0;;;-1:-1:-1;;;;12060:483:0:o;14055:282::-;14211:7;14206:28;;14220:14;:12;:14::i;:::-;14245:44;14263:6;14271:9;14282:6;14245:17;:44::i;:::-;14305:7;14300:29;;14314:15;8943:17;;8931:9;:29;8981:15;;8971:7;:25;8887:117;17016:164;17058:7;17079:15;17096;17115:19;:17;:19::i;:::-;17078:56;;-1:-1:-1;17078:56:0;-1:-1:-1;17152:20:0;17078:56;;17152:11;:20::i;:::-;17145:27;;;;17016:164;:::o;2840:132::-;2898:7;2925:39;2929:1;2932;2925:39;;;;;;;;;;;;;;;;;:3;:39::i;8660:219::-;8707:9;;:14;:30;;;;-1:-1:-1;8725:7:0;;:12;8707:30;8703:43;;;8660:219::o;8703:43::-;8778:9;;;8758:17;:29;8816:7;;;8798:15;:25;-1:-1:-1;8836:13:0;;;;8860:11;8660:219::o;14345:610::-;14492:15;14522:23;14560:12;14587:23;14625:12;14652:13;14679:19;14690:7;14679:10;:19::i;:::-;-1:-1:-1;;;;;14727:15:0;;;;;;:7;:15;;;;;;14477:221;;-1:-1:-1;14477:221:0;;-1:-1:-1;14477:221:0;;-1:-1:-1;14477:221:0;-1:-1:-1;14477:221:0;-1:-1:-1;14477:221:0;-1:-1:-1;14727:28:0;;14477:221;14727:19;:28::i;:::-;-1:-1:-1;;;;;14709:15:0;;;;;;;:7;:15;;;;;;:46;;;;14787:18;;;;;;;:39;;14810:15;14787:22;:39::i;:::-;-1:-1:-1;;;;;14766:18:0;;;;;;:7;:18;;;;;:60;14837:16;14847:5;14837:9;:16::i;:::-;14864:23;14876:4;14882;14864:11;:23::i;:::-;14920:9;-1:-1:-1;;;;;14903:44:0;14912:6;-1:-1:-1;;;;;14903:44:0;;14931:15;14903:44;;;;1986:25:1;;1974:2;1959:18;;1840:177;14903:44:0;;;;;;;;14466:489;;;;;;14345:610;;;:::o;17188:257::-;17286:7;;17239;;;;4705:19;17354:20;17286:7;4705:19;17354:11;:20::i;:::-;17344:7;:30;17340:61;;;-1:-1:-1;;17384:7:0;;;4705:19;;-1:-1:-1;17188:257:0;-1:-1:-1;17188:257:0:o;17340:61::-;17420:7;;17429;;-1:-1:-1;17188:257:0;-1:-1:-1;17188:257:0:o;2980:223::-;3100:7;3135:12;3128:5;3120:28;;;;-1:-1:-1;;;3120:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3159:9:0;3171:5;3175:1;3171;:5;:::i;15374:615::-;15474:7;15496;15518;15540;15562;15584;15620:23;15645:12;15659:13;15689:40;15701:7;15710:9;;15721:7;;15689:11;:40::i;:::-;15619:110;;;;;;15740:19;15762:10;:8;:10::i;:::-;15740:32;;15784:15;15801:23;15826:12;15855:46;15867:7;15876:4;15882:5;15889:11;15855;:46::i;:::-;15783:118;;-1:-1:-1;15783:118:0;-1:-1:-1;15783:118:0;-1:-1:-1;15952:15:0;;-1:-1:-1;15969:4:0;;-1:-1:-1;15975:5:0;;-1:-1:-1;;;;;15374:615:0;;;;;;;:::o;2210:136::-;2268:7;2295:43;2299:1;2302;2295:43;;;;;;;;;;;;;;;;;:3;:43::i;2023:179::-;2081:7;;2113:5;2117:1;2113;:5;:::i;:::-;2101:17;;2142:1;2137;:6;;2129:46;;;;-1:-1:-1;;;2129:46:0;;13793:2:1;2129:46:0;;;13775:21:1;13832:2;13812:18;;;13805:30;13871:29;13851:18;;;13844:57;13918:18;;2129:46:0;13591:351:1;14963:211:0;15016:19;15038:10;:8;:10::i;:::-;15016:32;-1:-1:-1;15059:13:0;15075:22;:5;15016:32;15075:9;:22::i;:::-;15149:4;15133:22;;;;:7;:22;;;;;;15059:38;;-1:-1:-1;15133:33:0;;15059:38;15133:26;:33::i;:::-;15124:4;15108:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14963:211:0:o;15182:147::-;15260:7;;:17;;15272:4;15260:11;:17::i;:::-;15250:7;:27;15301:10;;:20;;15316:4;15301:14;:20::i;:::-;15288:10;:33;-1:-1:-1;;15182:147:0:o;15997:469::-;16166:7;;;;16260:30;16286:3;16260:21;:7;16272:8;16260:11;:21::i;:::-;:25;;:30::i;:::-;16245:45;-1:-1:-1;16301:13:0;16317:28;16341:3;16317:19;:7;16329:6;16317:11;:19::i;:28::-;16301:44;-1:-1:-1;16356:23:0;16382:28;16301:44;16382:17;:7;16394:4;16382:11;:17::i;:::-;:21;;:28::i;:::-;16356:54;16446:4;;-1:-1:-1;16452:5:0;;-1:-1:-1;15997:469:0;;-1:-1:-1;;;;;15997:469:0:o;16474:534::-;16668:7;;;;16765:24;:7;16777:11;16765;:24::i;:::-;16747:42;-1:-1:-1;16800:12:0;16815:21;:4;16824:11;16815:8;:21::i;:::-;16800:36;-1:-1:-1;16847:13:0;16863:22;:5;16873:11;16863:9;:22::i;:::-;16847:38;-1:-1:-1;16896:23:0;16922:28;16847:38;16922:17;:7;16934:4;16922:11;:17::i;:28::-;16969:7;;;;-1:-1:-1;16995:4:0;;-1:-1:-1;16474:534:0;;-1:-1:-1;;;;;;;16474:534:0:o;2586:246::-;2644:7;2668:1;2673;2668:6;2664:47;;-1:-1:-1;2698:1:0;2691:8;;2664:47;2721:9;2733:5;2737:1;2733;:5;:::i;:::-;2721:17;-1:-1:-1;2766:1:0;2757:5;2761:1;2721:17;2757:5;:::i;:::-;:10;2749:56;;;;-1:-1:-1;;;2749:56:0;;14322:2:1;2749:56:0;;;14304:21:1;14361:2;14341:18;;;14334:30;14400:34;14380:18;;;14373:62;-1:-1:-1;;;14451:18:1;;;14444:31;14492:19;;2749:56:0;14120:397:1;14:131;-1:-1:-1;;;;;89:31:1;;79:42;;69:70;;135:1;132;125:12;150:134;218:20;;247:31;218:20;247:31;:::i;:::-;150:134;;;:::o;289:247::-;348:6;401:2;389:9;380:7;376:23;372:32;369:52;;;417:1;414;407:12;369:52;456:9;443:23;475:31;500:5;475:31;:::i;733:548::-;845:4;874:2;903;892:9;885:21;935:6;929:13;978:6;973:2;962:9;958:18;951:34;1003:1;1013:140;1027:6;1024:1;1021:13;1013:140;;;1122:14;;;1118:23;;1112:30;1088:17;;;1107:2;1084:26;1077:66;1042:10;;1013:140;;;1017:3;1202:1;1197:2;1188:6;1177:9;1173:22;1169:31;1162:42;1272:2;1265;1261:7;1256:2;1248:6;1244:15;1240:29;1229:9;1225:45;1221:54;1213:62;;;;733:548;;;;:::o;1286:315::-;1354:6;1362;1415:2;1403:9;1394:7;1390:23;1386:32;1383:52;;;1431:1;1428;1421:12;1383:52;1470:9;1457:23;1489:31;1514:5;1489:31;:::i;:::-;1539:5;1591:2;1576:18;;;;1563:32;;-1:-1:-1;;;1286:315:1:o;2022:456::-;2099:6;2107;2115;2168:2;2156:9;2147:7;2143:23;2139:32;2136:52;;;2184:1;2181;2174:12;2136:52;2223:9;2210:23;2242:31;2267:5;2242:31;:::i;:::-;2292:5;-1:-1:-1;2349:2:1;2334:18;;2321:32;2362:33;2321:32;2362:33;:::i;:::-;2022:456;;2414:7;;-1:-1:-1;;;2468:2:1;2453:18;;;;2440:32;;2022:456::o;2880:160::-;2945:20;;3001:13;;2994:21;2984:32;;2974:60;;3030:1;3027;3020:12;3045:180;3101:6;3154:2;3142:9;3133:7;3129:23;3125:32;3122:52;;;3170:1;3167;3160:12;3122:52;3193:26;3209:9;3193:26;:::i;3230:127::-;3291:10;3286:3;3282:20;3279:1;3272:31;3322:4;3319:1;3312:15;3346:4;3343:1;3336:15;3362:1121;3446:6;3477:2;3520;3508:9;3499:7;3495:23;3491:32;3488:52;;;3536:1;3533;3526:12;3488:52;3576:9;3563:23;3605:18;3646:2;3638:6;3635:14;3632:34;;;3662:1;3659;3652:12;3632:34;3700:6;3689:9;3685:22;3675:32;;3745:7;3738:4;3734:2;3730:13;3726:27;3716:55;;3767:1;3764;3757:12;3716:55;3803:2;3790:16;3825:2;3821;3818:10;3815:36;;;3831:18;;:::i;:::-;3877:2;3874:1;3870:10;3909:2;3903:9;3972:2;3968:7;3963:2;3959;3955:11;3951:25;3943:6;3939:38;4027:6;4015:10;4012:22;4007:2;3995:10;3992:18;3989:46;3986:72;;;4038:18;;:::i;:::-;4074:2;4067:22;4124:18;;;4158:15;;;;-1:-1:-1;4200:11:1;;;4196:20;;;4228:19;;;4225:39;;;4260:1;4257;4250:12;4225:39;4284:11;;;;4304:148;4320:6;4315:3;4312:15;4304:148;;;4386:23;4405:3;4386:23;:::i;:::-;4374:36;;4337:12;;;;4430;;;;4304:148;;;4471:6;3362:1121;-1:-1:-1;;;;;;;;3362:1121:1:o;4488:180::-;4547:6;4600:2;4588:9;4579:7;4575:23;4571:32;4568:52;;;4616:1;4613;4606:12;4568:52;-1:-1:-1;4639:23:1;;4488:180;-1:-1:-1;4488:180:1:o;4673:385::-;4759:6;4767;4775;4783;4836:3;4824:9;4815:7;4811:23;4807:33;4804:53;;;4853:1;4850;4843:12;4804:53;-1:-1:-1;;4876:23:1;;;4946:2;4931:18;;4918:32;;-1:-1:-1;4997:2:1;4982:18;;4969:32;;5048:2;5033:18;5020:32;;-1:-1:-1;4673:385:1;-1:-1:-1;4673:385:1:o;5063:689::-;5155:6;5163;5171;5224:2;5212:9;5203:7;5199:23;5195:32;5192:52;;;5240:1;5237;5230:12;5192:52;5280:9;5267:23;5309:18;5350:2;5342:6;5339:14;5336:34;;;5366:1;5363;5356:12;5336:34;5404:6;5393:9;5389:22;5379:32;;5449:7;5442:4;5438:2;5434:13;5430:27;5420:55;;5471:1;5468;5461:12;5420:55;5511:2;5498:16;5537:2;5529:6;5526:14;5523:34;;;5553:1;5550;5543:12;5523:34;5608:7;5601:4;5591:6;5588:1;5584:14;5580:2;5576:23;5572:34;5569:47;5566:67;;;5629:1;5626;5619:12;5566:67;5660:4;5652:13;;;;-1:-1:-1;5684:6:1;-1:-1:-1;5709:37:1;;5725:20;;;-1:-1:-1;5709:37:1;:::i;:::-;5699:47;;5063:689;;;;;:::o;5757:388::-;5825:6;5833;5886:2;5874:9;5865:7;5861:23;5857:32;5854:52;;;5902:1;5899;5892:12;5854:52;5941:9;5928:23;5960:31;5985:5;5960:31;:::i;:::-;6010:5;-1:-1:-1;6067:2:1;6052:18;;6039:32;6080:33;6039:32;6080:33;:::i;:::-;6132:7;6122:17;;;5757:388;;;;;:::o;6150:356::-;6352:2;6334:21;;;6371:18;;;6364:30;6430:34;6425:2;6410:18;;6403:62;6497:2;6482:18;;6150:356::o;6511:415::-;6713:2;6695:21;;;6752:2;6732:18;;;6725:30;6791:34;6786:2;6771:18;;6764:62;-1:-1:-1;;;6857:2:1;6842:18;;6835:49;6916:3;6901:19;;6511:415::o;6931:127::-;6992:10;6987:3;6983:20;6980:1;6973:31;7023:4;7020:1;7013:15;7047:4;7044:1;7037:15;7063:127;7124:10;7119:3;7115:20;7112:1;7105:31;7155:4;7152:1;7145:15;7179:4;7176:1;7169:15;7195:135;7234:3;7255:17;;;7252:43;;7275:18;;:::i;:::-;-1:-1:-1;7322:1:1;7311:13;;7195:135::o;10559:125::-;10624:9;;;10645:10;;;10642:36;;;10658:18;;:::i;11584:128::-;11651:9;;;11672:11;;;11669:37;;;11686:18;;:::i;12128:251::-;12198:6;12251:2;12239:9;12230:7;12226:23;12222:32;12219:52;;;12267:1;12264;12257:12;12219:52;12299:9;12293:16;12318:31;12343:5;12318:31;:::i;12384:980::-;12646:4;12694:3;12683:9;12679:19;12725:6;12714:9;12707:25;12751:2;12789:6;12784:2;12773:9;12769:18;12762:34;12832:3;12827:2;12816:9;12812:18;12805:31;12856:6;12891;12885:13;12922:6;12914;12907:22;12960:3;12949:9;12945:19;12938:26;;12999:2;12991:6;12987:15;12973:29;;13020:1;13030:195;13044:6;13041:1;13038:13;13030:195;;;13109:13;;-1:-1:-1;;;;;13105:39:1;13093:52;;13200:15;;;;13165:12;;;;13141:1;13059:9;13030:195;;;-1:-1:-1;;;;;;;13281:32:1;;;;13276:2;13261:18;;13254:60;-1:-1:-1;;;13345:3:1;13330:19;13323:35;13242:3;12384:980;-1:-1:-1;;;12384:980:1:o;13369:217::-;13409:1;13435;13425:132;;13479:10;13474:3;13470:20;13467:1;13460:31;13514:4;13511:1;13504:15;13542:4;13539:1;13532:15;13425:132;-1:-1:-1;13571:9:1;;13369:217::o;13947:168::-;14020:9;;;14051;;14068:15;;;14062:22;;14048:37;14038:71;;14089:18;;:::i
Swarm Source
ipfs://fabf29cfe46570011db64f01db427a6ef91d765aad07d2356f66ae9324c23aea
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.