Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
DeFi
Overview
Max Total Supply
96,198,038,941,930,981.596193441 PROGE
Holders
1,301 (0.00%)
Market
Price
$0.00 @ 0.000000 ETH
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.97738673 PROGEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
PROGEV2
Compiler Version
v0.7.6+commit.7338295f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-06-16 */ // SPDX-License-Identifier: MIT pragma solidity >=0.7.0 <0.8.0; 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); } 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; } } 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); } } 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 swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; 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 PROGEV2 is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "Protector Roge"; string private constant _symbol = "PROGE"; uint8 private constant _decimals = 9; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; uint256 private constant MAX = ~uint256(0); uint256 private _tTotal = 100000000000000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 public _progeBurned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; address payable private _presa; address payable private _rogeTreasury; address public ROGE = 0x45734927Fa2f616FbE19E65f42A0ef3d37d1c80A; address public animalSanctuary = 0x4A462404ca4b7caE9F639732EB4DaB75d6E88d19; IUniswapV2Router02 private uniswapV2Router; address public uniswapV2Pair; bool public tradeAllowed = false; bool private liquidityAdded = false; bool private inSwap = false; bool public swapEnabled = false; bool private feeEnabled = false; bool private limitTX = false; uint256 private _maxTxAmount = _tTotal; uint256 private _reflection = 2; uint256 private _contractFee = 9; uint256 private _progeBurn = 1; event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor(address payable addr1, address payable addr2, address addr3) { _presa = addr1; _rogeTreasury = addr2; _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_presa] = true; _isExcludedFromFee[_rogeTreasury] = true; _isExcludedFromFee[addr3] = 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 view override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function setExcludedFromFee(address account) public onlyOwner { address addr3 = account; _isExcludedFromFee[addr3] = true; } 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 setFeeEnabled( bool enable) public onlyOwner { feeEnabled = enable; } function setLimitTx( bool enable) public onlyOwner { limitTX = enable; } function enableTrading( bool enable) public onlyOwner { require(liquidityAdded); tradeAllowed = enable; } function addLiquidity() external onlyOwner() { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); swapEnabled = true; liquidityAdded = true; feeEnabled = true; limitTX = true; _maxTxAmount = 1000000000000000 * 10**9; IERC20(uniswapV2Pair).approve(address(uniswapV2Router),type(uint256).max); } function manualSwapTokensForEth() external onlyOwner() { uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualDistributeETH() external onlyOwner() { uint256 contractETHBalance = address(this).balance; distributeETH(contractETHBalance); } function manualRoge(uint amount) external onlyOwner() { swapETHforRoge(amount); } function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() { require(maxTxPercent > 0, "Amount must be greater than 0"); _maxTxAmount = _tTotal.mul(maxTxPercent).div(10**2); emit MaxTxAmountUpdated(_maxTxAmount); } 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 _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() && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) { require(tradeAllowed); if (limitTX) { require(amount <= _maxTxAmount); } _contractFee = 9; _reflection = 2; _progeBurn = 1; uint contractETHBalance = address(this).balance; if (contractETHBalance > 0) { swapETHforRoge(address(this).balance); } } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled) { require(tradeAllowed); if (limitTX) { require(amount <= balanceOf(uniswapV2Pair).mul(3).div(100) && amount <= _maxTxAmount); } uint initialETHBalance = address(this).balance; swapTokensForEth(contractTokenBalance); uint newETHBalance = address(this).balance; uint ethToDistribute = newETHBalance.sub(initialETHBalance); if (ethToDistribute > 0) { distributeETH(ethToDistribute); } } } bool takeFee = true; if (_isExcludedFromFee[from] || _isExcludedFromFee[to] || !feeEnabled) { takeFee = false; } _tokenTransfer(from, to, amount, takeFee); restoreAllFee; } function removeAllFee() private { if (_reflection == 0 && _contractFee == 0 && _progeBurn == 0) return; _reflection = 0; _contractFee = 0; _progeBurn = 0; } function restoreAllFee() private { _reflection = 2; _contractFee = 9; _progeBurn = 1; } 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 amount) private { (uint256 tAmount, uint256 tBurn) = _progeEthBurn(amount); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount, tBurn); _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 _progeEthBurn(uint amount) private returns (uint, uint) { uint orgAmount = amount; uint256 currentRate = _getRate(); uint256 tBurn = amount.mul(_progeBurn).div(100); uint256 rBurn = tBurn.mul(currentRate); _tTotal = _tTotal.sub(tBurn); _rTotal = _rTotal.sub(rBurn); _progeBurned = _progeBurned.add(tBurn); return (orgAmount, tBurn); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } function _getValues(uint256 tAmount, uint256 tBurn) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _reflection, _contractFee, tBurn); 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 taxFee, uint256 teamFee, uint256 tBurn) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(teamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam).sub(tBurn); 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 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 swapETHforRoge(uint ethAmount) private { address[] memory path = new address[](2); path[0] = uniswapV2Router.WETH(); path[1] = address(ROGE); _approve(address(this), address(uniswapV2Router), ethAmount); uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: ethAmount}(ethAmount,path,address(animalSanctuary),block.timestamp); } function distributeETH(uint256 amount) private { _presa.transfer(amount.div(9)); _rogeTreasury.transfer(amount.div(3)); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address payable","name":"addr1","type":"address"},{"internalType":"address payable","name":"addr2","type":"address"},{"internalType":"address","name":"addr3","type":"address"}],"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":"ROGE","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_progeBurned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"animalSanctuary","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"bool","name":"enable","type":"bool"}],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualDistributeETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualRoge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwapTokensForEth","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":"address","name":"account","type":"address"}],"name":"setExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enable","type":"bool"}],"name":"setFeeEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enable","type":"bool"}],"name":"setLimitTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradeAllowed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526a52b7d2dcc80cd2e400000060048190556a34f8e1f3adab5d4bffffff19600555600c80546001600160a01b03199081167345734927fa2f616fbe19e65f42a0ef3d37d1c80a17909155600d8054909116734a462404ca4b7cae9f639732eb4dab75d6e88d19179055600f805465ffffffffffff60a01b191690556010556002601155600960125560016013553480156200009e57600080fd5b50604051620022d2380380620022d283398181016040526060811015620000c457600080fd5b50805160208201516040909201519091906000620000e16200027e565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600a80546001600160a01b038086166001600160a01b031992831617909255600b805492851692909116919091179055600554600260006200016c6200027e565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600160096000620001a66200028260201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526009909352818320805485166001908117909155600a54821684528284208054861682179055600b54821684528284208054861682179055908516835291208054909216179055620002286200027e565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040518082815260200191505060405180910390a350505062000291565b3390565b6000546001600160a01b031690565b61203180620002a16000396000f3fe6080604052600436106101855760003560e01c8063715018a6116100d1578063a9059cbb1161008a578063e8078d9411610064578063e8078d941461052b578063efa3ef4414610540578063f275f64b14610573578063f89ff9021461059f5761018c565b8063a9059cbb1461048d578063d543dbeb146104c6578063dd62ed3e146104f05761018c565b8063715018a6146103f85780637a32bae41461040d5780637b934dcd146104225780638da5cb5b1461044e57806395d89b4114610463578063a2b17412146104785761018c565b8063313ce5671161013e57806349bd5a5e1161011857806349bd5a5e146103865780636a66e9e31461039b5780636ddd1713146103b057806370a08231146103c55761018c565b8063313ce5671461033157806332976a251461035c57806349abb68e146103715761018c565b806306fdde0314610191578063095ea7b31461021b5780630db474fa1461026857806310336de01461029657806318160ddd146102c757806323b872dd146102ee5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a66105c9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101e05781810151838201526020016101c8565b50505050905090810190601f16801561020d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022757600080fd5b506102546004803603604081101561023e57600080fd5b506001600160a01b0381351690602001356105f1565b604080519115158252519081900360200190f35b34801561027457600080fd5b506102946004803603602081101561028b57600080fd5b5035151561060f565b005b3480156102a257600080fd5b506102ab610685565b604080516001600160a01b039092168252519081900360200190f35b3480156102d357600080fd5b506102dc610694565b60408051918252519081900360200190f35b3480156102fa57600080fd5b506102546004803603606081101561031157600080fd5b506001600160a01b0381358116916020810135909116906040013561069a565b34801561033d57600080fd5b50610346610721565b6040805160ff9092168252519081900360200190f35b34801561036857600080fd5b506102dc610726565b34801561037d57600080fd5b506102ab61072c565b34801561039257600080fd5b506102ab61073b565b3480156103a757600080fd5b5061029461074a565b3480156103bc57600080fd5b506102546107af565b3480156103d157600080fd5b506102dc600480360360208110156103e857600080fd5b50356001600160a01b03166107bf565b34801561040457600080fd5b506102946107e1565b34801561041957600080fd5b50610254610883565b34801561042e57600080fd5b506102946004803603602081101561044557600080fd5b50351515610893565b34801561045a57600080fd5b506102ab610909565b34801561046f57600080fd5b506101a6610918565b34801561048457600080fd5b50610294610937565b34801561049957600080fd5b50610254600480360360408110156104b057600080fd5b506001600160a01b0381351690602001356109a5565b3480156104d257600080fd5b50610294600480360360208110156104e957600080fd5b50356109b9565b3480156104fc57600080fd5b506102dc6004803603604081101561051357600080fd5b506001600160a01b0381358116916020013516610ac0565b34801561053757600080fd5b50610294610aeb565b34801561054c57600080fd5b506102946004803603602081101561056357600080fd5b50356001600160a01b0316610e8d565b34801561057f57600080fd5b506102946004803603602081101561059657600080fd5b50351515610f09565b3480156105ab57600080fd5b50610294600480360360208110156105c257600080fd5b5035610f95565b60408051808201909152600e81526d50726f746563746f7220526f676560901b602082015290565b60006106056105fe610ff6565b8484610ffa565b5060015b92915050565b610617610ff6565b6000546001600160a01b03908116911614610667576040805162461bcd60e51b81526020600482018190526024820152600080516020611f6a833981519152604482015290519081900360640190fd5b600f8054911515600160c01b0260ff60c01b19909216919091179055565b600c546001600160a01b031681565b60045490565b60006106a78484846110e6565b610717846106b3610ff6565b61071285604051806060016040528060288152602001611f42602891396001600160a01b038a166000908152600860205260408120906106f1610ff6565b6001600160a01b031681526020810191909152604001600020549190611448565b610ffa565b5060019392505050565b600990565b60075481565b600d546001600160a01b031681565b600f546001600160a01b031681565b610752610ff6565b6000546001600160a01b039081169116146107a2576040805162461bcd60e51b81526020600482018190526024820152600080516020611f6a833981519152604482015290519081900360640190fd5b476107ac816114df565b50565b600f54600160b81b900460ff1681565b6001600160a01b03811660009081526002602052604081205461060990611568565b6107e9610ff6565b6000546001600160a01b03908116911614610839576040805162461bcd60e51b81526020600482018190526024820152600080516020611f6a833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600f54600160a01b900460ff1681565b61089b610ff6565b6000546001600160a01b039081169116146108eb576040805162461bcd60e51b81526020600482018190526024820152600080516020611f6a833981519152604482015290519081900360640190fd5b600f8054911515600160c81b0260ff60c81b19909216919091179055565b6000546001600160a01b031690565b60408051808201909152600581526450524f474560d81b602082015290565b61093f610ff6565b6000546001600160a01b0390811691161461098f576040805162461bcd60e51b81526020600482018190526024820152600080516020611f6a833981519152604482015290519081900360640190fd5b600061099a306107bf565b90506107ac816115c8565b60006106056109b2610ff6565b84846110e6565b6109c1610ff6565b6000546001600160a01b03908116911614610a11576040805162461bcd60e51b81526020600482018190526024820152600080516020611f6a833981519152604482015290519081900360640190fd5b60008111610a66576040805162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e2030000000604482015290519081900360640190fd5b610a866064610a808360045461179790919063ffffffff16565b906117f0565b601081905560408051918252517f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9181900360200190a150565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b610af3610ff6565b6000546001600160a01b03908116911614610b43576040805162461bcd60e51b81526020600482018190526024820152600080516020611f6a833981519152604482015290519081900360640190fd5b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117918290556004549091610b879130916001600160a01b031690610ffa565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610bc057600080fd5b505afa158015610bd4573d6000803e3d6000fd5b505050506040513d6020811015610bea57600080fd5b5051604080516315ab88c960e31b815290516001600160a01b039283169263c9c653969230929186169163ad5c464891600480820192602092909190829003018186803b158015610c3a57600080fd5b505afa158015610c4e573d6000803e3d6000fd5b505050506040513d6020811015610c6457600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b158015610cb657600080fd5b505af1158015610cca573d6000803e3d6000fd5b505050506040513d6020811015610ce057600080fd5b5051600f80546001600160a01b0319166001600160a01b03928316179055600e541663f305d7194730610d12816107bf565b600080610d1d610909565b426040518863ffffffff1660e01b815260040180876001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b0316815260200182815260200196505050505050506060604051808303818588803b158015610d8857600080fd5b505af1158015610d9c573d6000803e3d6000fd5b50505050506040513d6060811015610db357600080fd5b5050600f805460ff60c81b1960ff60c01b1960ff60a81b1960ff60b81b19909316600160b81b1792909216600160a81b1791909116600160c01b1716600160c81b179081905569d3c21bcecceda1000000601055600e546040805163095ea7b360e01b81526001600160a01b03928316600482015260001960248201529051919092169163095ea7b39160448083019260209291908290030181600087803b158015610e5e57600080fd5b505af1158015610e72573d6000803e3d6000fd5b505050506040513d6020811015610e8857600080fd5b505050565b610e95610ff6565b6000546001600160a01b03908116911614610ee5576040805162461bcd60e51b81526020600482018190526024820152600080516020611f6a833981519152604482015290519081900360640190fd5b6001600160a01b03166000908152600960205260409020805460ff19166001179055565b610f11610ff6565b6000546001600160a01b03908116911614610f61576040805162461bcd60e51b81526020600482018190526024820152600080516020611f6a833981519152604482015290519081900360640190fd5b600f54600160a81b900460ff16610f7757600080fd5b600f8054911515600160a01b0260ff60a01b19909216919091179055565b610f9d610ff6565b6000546001600160a01b03908116911614610fed576040805162461bcd60e51b81526020600482018190526024820152600080516020611f6a833981519152604482015290519081900360640190fd5b6107ac81611832565b3390565b6001600160a01b03831661103f5760405162461bcd60e51b8152600401808060200182810382526024815260200180611fd86024913960400191505060405180910390fd5b6001600160a01b0382166110845760405162461bcd60e51b8152600401808060200182810382526022815260200180611eff6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260086020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661112b5760405162461bcd60e51b8152600401808060200182810382526025815260200180611fb36025913960400191505060405180910390fd5b6001600160a01b0382166111705760405162461bcd60e51b8152600401808060200182810382526023815260200180611eb26023913960400191505060405180910390fd5b600081116111af5760405162461bcd60e51b8152600401808060200182810382526029815260200180611f8a6029913960400191505060405180910390fd5b6111b7610909565b6001600160a01b0316836001600160a01b0316141580156111f157506111db610909565b6001600160a01b0316826001600160a01b031614155b801561121657506001600160a01b03831660009081526009602052604090205460ff16155b801561123b57506001600160a01b03821660009081526009602052604090205460ff16155b156113d657600f546001600160a01b03848116911614801561126b5750600e546001600160a01b03838116911614155b801561129057506001600160a01b03821660009081526009602052604090205460ff16155b156112ed57600f54600160a01b900460ff166112ab57600080fd5b600f54600160c81b900460ff16156112cc576010548111156112cc57600080fd5b6009601255600260115560016013554780156112eb576112eb47611832565b505b60006112f8306107bf565b600f54909150600160b01b900460ff161580156113235750600f546001600160a01b03858116911614155b80156113385750600f54600160b81b900460ff165b156113d457600f54600160a01b900460ff1661135357600080fd5b600f54600160c81b900460ff16156113a857600f5461138e90606490610a8090600390611388906001600160a01b03166107bf565b90611797565b821115801561139f57506010548211155b6113a857600080fd5b476113b2826115c8565b4760006113bf82846119eb565b905080156113d0576113d0816114df565b5050505b505b6001600160a01b03831660009081526009602052604090205460019060ff168061141857506001600160a01b03831660009081526009602052604090205460ff165b8061142d5750600f54600160c01b900460ff16155b15611436575060005b61144284848484611a2d565b50505050565b600081848411156114d75760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561149c578181015183820152602001611484565b50505050905090810190601f1680156114c95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600a546001600160a01b03166108fc6114f98360096117f0565b6040518115909202916000818181858888f19350505050158015611521573d6000803e3d6000fd5b50600b546001600160a01b03166108fc61153c8360036117f0565b6040518115909202916000818181858888f19350505050158015611564573d6000803e3d6000fd5b5050565b60006005548211156115ab5760405162461bcd60e51b815260040180806020018281038252602a815260200180611ed5602a913960400191505060405180910390fd5b60006115b5611a5e565b90506115c183826117f0565b9392505050565b600f805460ff60b01b1916600160b01b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061160a57fe5b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561165e57600080fd5b505afa158015611672573d6000803e3d6000fd5b505050506040513d602081101561168857600080fd5b505181518290600190811061169957fe5b6001600160a01b039283166020918202929092010152600e546116bf9130911684610ffa565b600e5460405163791ac94760e01b8152600481018481526000602483018190523060648401819052426084850181905260a060448601908152875160a487015287516001600160a01b039097169663791ac947968a968a9594939092909160c40190602080880191028083838b5b8381101561174557818101518382015260200161172d565b505050509050019650505050505050600060405180830381600087803b15801561176e57600080fd5b505af1158015611782573d6000803e3d6000fd5b5050600f805460ff60b01b1916905550505050565b6000826117a657506000610609565b828202828482816117b357fe5b04146115c15760405162461bcd60e51b8152600401808060200182810382526021815260200180611f216021913960400191505060405180910390fd5b60006115c183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a81565b6040805160028082526060820183526000926020830190803683375050600e54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c464892506004808301926020929190829003018186803b15801561189757600080fd5b505afa1580156118ab573d6000803e3d6000fd5b505050506040513d60208110156118c157600080fd5b5051815182906000906118d057fe5b6001600160a01b039283166020918202929092010152600c548251911690829060019081106118fb57fe5b6001600160a01b039283166020918202929092010152600e546119219130911684610ffa565b600e54600d5460405163b6f9de9560e01b8152600481018581526001600160a01b03928316604483018190524260648401819052608060248501908152875160848601528751959096169563b6f9de9595899586958a9594939092909160a401906020808801910280838360005b838110156119a757818101518382015260200161198f565b50505050905001955050505050506000604051808303818588803b1580156119ce57600080fd5b505af11580156119e2573d6000803e3d6000fd5b50505050505050565b60006115c183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611448565b80611a3a57611a3a611ae6565b611a45848484611b1e565b8061144257611442600260115560096012556001601355565b6000806000611a6b611c38565b9092509050611a7a82826117f0565b9250505090565b60008183611ad05760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561149c578181015183820152602001611484565b506000838581611adc57fe5b0495945050505050565b601154158015611af65750601254155b8015611b025750601354155b15611b0c57611b1c565b6000601181905560128190556013555b565b600080611b2a83611c6f565b91509150600080600080600080611b418888611ce8565b955095509550955095509550611b8586600260008e6001600160a01b03166001600160a01b03168152602001908152602001600020546119eb90919063ffffffff16565b6001600160a01b03808d1660009081526002602052604080822093909355908c1681522054611bb49086611d47565b6001600160a01b038b16600090815260026020526040902055611bd681611da1565b611be08483611deb565b896001600160a01b03168b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35050505050505050505050565b6005546004546000918291611c4d82826117f0565b821015611c6557600554600454935093505050611c6b565b90925090505b9091565b6000808281611c7c611a5e565b90506000611c9a6064610a806013548961179790919063ffffffff16565b90506000611ca88284611797565b600454909150611cb890836119eb565b600455600554611cc890826119eb565b600555600754611cd89083611d47565b6007555091935090915050915091565b6000806000806000806000806000611d068b6011546012548d611e0f565b9250925092506000611d16611a5e565b90506000806000611d298f878787611e61565b919e509c509a50959850939650919450505050509295509295509295565b6000828201838110156115c1576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000611dab611a5e565b90506000611db98383611797565b30600090815260026020526040902054909150611dd69082611d47565b30600090815260026020526040902055505050565b600554611df890836119eb565b600555600654611e089082611d47565b6006555050565b6000808080611e236064610a808a8a611797565b90506000611e366064610a808b8a611797565b90506000611e5087611e4a84818e886119eb565b906119eb565b9a9299509097509095505050505050565b6000808080611e708886611797565b90506000611e7e8887611797565b90506000611e8c8888611797565b90506000611e9e82611e4a86866119eb565b939b939a5091985091965050505050505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e7345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220cf2f72bbb45626f465930daa9d507a6447f817f57997a8f8a24e2179d45e924d64736f6c6343000706003300000000000000000000000053f997da7206d6bf90ffc4236b3ca8efb7bb1a890000000000000000000000008f5dede1126e029a1bc0de694a32bc80b4353f970000000000000000000000002adf3ddd9a238e8c0afea647137ae4f534405388
Deployed Bytecode
0x6080604052600436106101855760003560e01c8063715018a6116100d1578063a9059cbb1161008a578063e8078d9411610064578063e8078d941461052b578063efa3ef4414610540578063f275f64b14610573578063f89ff9021461059f5761018c565b8063a9059cbb1461048d578063d543dbeb146104c6578063dd62ed3e146104f05761018c565b8063715018a6146103f85780637a32bae41461040d5780637b934dcd146104225780638da5cb5b1461044e57806395d89b4114610463578063a2b17412146104785761018c565b8063313ce5671161013e57806349bd5a5e1161011857806349bd5a5e146103865780636a66e9e31461039b5780636ddd1713146103b057806370a08231146103c55761018c565b8063313ce5671461033157806332976a251461035c57806349abb68e146103715761018c565b806306fdde0314610191578063095ea7b31461021b5780630db474fa1461026857806310336de01461029657806318160ddd146102c757806323b872dd146102ee5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a66105c9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101e05781810151838201526020016101c8565b50505050905090810190601f16801561020d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022757600080fd5b506102546004803603604081101561023e57600080fd5b506001600160a01b0381351690602001356105f1565b604080519115158252519081900360200190f35b34801561027457600080fd5b506102946004803603602081101561028b57600080fd5b5035151561060f565b005b3480156102a257600080fd5b506102ab610685565b604080516001600160a01b039092168252519081900360200190f35b3480156102d357600080fd5b506102dc610694565b60408051918252519081900360200190f35b3480156102fa57600080fd5b506102546004803603606081101561031157600080fd5b506001600160a01b0381358116916020810135909116906040013561069a565b34801561033d57600080fd5b50610346610721565b6040805160ff9092168252519081900360200190f35b34801561036857600080fd5b506102dc610726565b34801561037d57600080fd5b506102ab61072c565b34801561039257600080fd5b506102ab61073b565b3480156103a757600080fd5b5061029461074a565b3480156103bc57600080fd5b506102546107af565b3480156103d157600080fd5b506102dc600480360360208110156103e857600080fd5b50356001600160a01b03166107bf565b34801561040457600080fd5b506102946107e1565b34801561041957600080fd5b50610254610883565b34801561042e57600080fd5b506102946004803603602081101561044557600080fd5b50351515610893565b34801561045a57600080fd5b506102ab610909565b34801561046f57600080fd5b506101a6610918565b34801561048457600080fd5b50610294610937565b34801561049957600080fd5b50610254600480360360408110156104b057600080fd5b506001600160a01b0381351690602001356109a5565b3480156104d257600080fd5b50610294600480360360208110156104e957600080fd5b50356109b9565b3480156104fc57600080fd5b506102dc6004803603604081101561051357600080fd5b506001600160a01b0381358116916020013516610ac0565b34801561053757600080fd5b50610294610aeb565b34801561054c57600080fd5b506102946004803603602081101561056357600080fd5b50356001600160a01b0316610e8d565b34801561057f57600080fd5b506102946004803603602081101561059657600080fd5b50351515610f09565b3480156105ab57600080fd5b50610294600480360360208110156105c257600080fd5b5035610f95565b60408051808201909152600e81526d50726f746563746f7220526f676560901b602082015290565b60006106056105fe610ff6565b8484610ffa565b5060015b92915050565b610617610ff6565b6000546001600160a01b03908116911614610667576040805162461bcd60e51b81526020600482018190526024820152600080516020611f6a833981519152604482015290519081900360640190fd5b600f8054911515600160c01b0260ff60c01b19909216919091179055565b600c546001600160a01b031681565b60045490565b60006106a78484846110e6565b610717846106b3610ff6565b61071285604051806060016040528060288152602001611f42602891396001600160a01b038a166000908152600860205260408120906106f1610ff6565b6001600160a01b031681526020810191909152604001600020549190611448565b610ffa565b5060019392505050565b600990565b60075481565b600d546001600160a01b031681565b600f546001600160a01b031681565b610752610ff6565b6000546001600160a01b039081169116146107a2576040805162461bcd60e51b81526020600482018190526024820152600080516020611f6a833981519152604482015290519081900360640190fd5b476107ac816114df565b50565b600f54600160b81b900460ff1681565b6001600160a01b03811660009081526002602052604081205461060990611568565b6107e9610ff6565b6000546001600160a01b03908116911614610839576040805162461bcd60e51b81526020600482018190526024820152600080516020611f6a833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600f54600160a01b900460ff1681565b61089b610ff6565b6000546001600160a01b039081169116146108eb576040805162461bcd60e51b81526020600482018190526024820152600080516020611f6a833981519152604482015290519081900360640190fd5b600f8054911515600160c81b0260ff60c81b19909216919091179055565b6000546001600160a01b031690565b60408051808201909152600581526450524f474560d81b602082015290565b61093f610ff6565b6000546001600160a01b0390811691161461098f576040805162461bcd60e51b81526020600482018190526024820152600080516020611f6a833981519152604482015290519081900360640190fd5b600061099a306107bf565b90506107ac816115c8565b60006106056109b2610ff6565b84846110e6565b6109c1610ff6565b6000546001600160a01b03908116911614610a11576040805162461bcd60e51b81526020600482018190526024820152600080516020611f6a833981519152604482015290519081900360640190fd5b60008111610a66576040805162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e2030000000604482015290519081900360640190fd5b610a866064610a808360045461179790919063ffffffff16565b906117f0565b601081905560408051918252517f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9181900360200190a150565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b610af3610ff6565b6000546001600160a01b03908116911614610b43576040805162461bcd60e51b81526020600482018190526024820152600080516020611f6a833981519152604482015290519081900360640190fd5b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117918290556004549091610b879130916001600160a01b031690610ffa565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610bc057600080fd5b505afa158015610bd4573d6000803e3d6000fd5b505050506040513d6020811015610bea57600080fd5b5051604080516315ab88c960e31b815290516001600160a01b039283169263c9c653969230929186169163ad5c464891600480820192602092909190829003018186803b158015610c3a57600080fd5b505afa158015610c4e573d6000803e3d6000fd5b505050506040513d6020811015610c6457600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b158015610cb657600080fd5b505af1158015610cca573d6000803e3d6000fd5b505050506040513d6020811015610ce057600080fd5b5051600f80546001600160a01b0319166001600160a01b03928316179055600e541663f305d7194730610d12816107bf565b600080610d1d610909565b426040518863ffffffff1660e01b815260040180876001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b0316815260200182815260200196505050505050506060604051808303818588803b158015610d8857600080fd5b505af1158015610d9c573d6000803e3d6000fd5b50505050506040513d6060811015610db357600080fd5b5050600f805460ff60c81b1960ff60c01b1960ff60a81b1960ff60b81b19909316600160b81b1792909216600160a81b1791909116600160c01b1716600160c81b179081905569d3c21bcecceda1000000601055600e546040805163095ea7b360e01b81526001600160a01b03928316600482015260001960248201529051919092169163095ea7b39160448083019260209291908290030181600087803b158015610e5e57600080fd5b505af1158015610e72573d6000803e3d6000fd5b505050506040513d6020811015610e8857600080fd5b505050565b610e95610ff6565b6000546001600160a01b03908116911614610ee5576040805162461bcd60e51b81526020600482018190526024820152600080516020611f6a833981519152604482015290519081900360640190fd5b6001600160a01b03166000908152600960205260409020805460ff19166001179055565b610f11610ff6565b6000546001600160a01b03908116911614610f61576040805162461bcd60e51b81526020600482018190526024820152600080516020611f6a833981519152604482015290519081900360640190fd5b600f54600160a81b900460ff16610f7757600080fd5b600f8054911515600160a01b0260ff60a01b19909216919091179055565b610f9d610ff6565b6000546001600160a01b03908116911614610fed576040805162461bcd60e51b81526020600482018190526024820152600080516020611f6a833981519152604482015290519081900360640190fd5b6107ac81611832565b3390565b6001600160a01b03831661103f5760405162461bcd60e51b8152600401808060200182810382526024815260200180611fd86024913960400191505060405180910390fd5b6001600160a01b0382166110845760405162461bcd60e51b8152600401808060200182810382526022815260200180611eff6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260086020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661112b5760405162461bcd60e51b8152600401808060200182810382526025815260200180611fb36025913960400191505060405180910390fd5b6001600160a01b0382166111705760405162461bcd60e51b8152600401808060200182810382526023815260200180611eb26023913960400191505060405180910390fd5b600081116111af5760405162461bcd60e51b8152600401808060200182810382526029815260200180611f8a6029913960400191505060405180910390fd5b6111b7610909565b6001600160a01b0316836001600160a01b0316141580156111f157506111db610909565b6001600160a01b0316826001600160a01b031614155b801561121657506001600160a01b03831660009081526009602052604090205460ff16155b801561123b57506001600160a01b03821660009081526009602052604090205460ff16155b156113d657600f546001600160a01b03848116911614801561126b5750600e546001600160a01b03838116911614155b801561129057506001600160a01b03821660009081526009602052604090205460ff16155b156112ed57600f54600160a01b900460ff166112ab57600080fd5b600f54600160c81b900460ff16156112cc576010548111156112cc57600080fd5b6009601255600260115560016013554780156112eb576112eb47611832565b505b60006112f8306107bf565b600f54909150600160b01b900460ff161580156113235750600f546001600160a01b03858116911614155b80156113385750600f54600160b81b900460ff165b156113d457600f54600160a01b900460ff1661135357600080fd5b600f54600160c81b900460ff16156113a857600f5461138e90606490610a8090600390611388906001600160a01b03166107bf565b90611797565b821115801561139f57506010548211155b6113a857600080fd5b476113b2826115c8565b4760006113bf82846119eb565b905080156113d0576113d0816114df565b5050505b505b6001600160a01b03831660009081526009602052604090205460019060ff168061141857506001600160a01b03831660009081526009602052604090205460ff165b8061142d5750600f54600160c01b900460ff16155b15611436575060005b61144284848484611a2d565b50505050565b600081848411156114d75760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561149c578181015183820152602001611484565b50505050905090810190601f1680156114c95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600a546001600160a01b03166108fc6114f98360096117f0565b6040518115909202916000818181858888f19350505050158015611521573d6000803e3d6000fd5b50600b546001600160a01b03166108fc61153c8360036117f0565b6040518115909202916000818181858888f19350505050158015611564573d6000803e3d6000fd5b5050565b60006005548211156115ab5760405162461bcd60e51b815260040180806020018281038252602a815260200180611ed5602a913960400191505060405180910390fd5b60006115b5611a5e565b90506115c183826117f0565b9392505050565b600f805460ff60b01b1916600160b01b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061160a57fe5b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561165e57600080fd5b505afa158015611672573d6000803e3d6000fd5b505050506040513d602081101561168857600080fd5b505181518290600190811061169957fe5b6001600160a01b039283166020918202929092010152600e546116bf9130911684610ffa565b600e5460405163791ac94760e01b8152600481018481526000602483018190523060648401819052426084850181905260a060448601908152875160a487015287516001600160a01b039097169663791ac947968a968a9594939092909160c40190602080880191028083838b5b8381101561174557818101518382015260200161172d565b505050509050019650505050505050600060405180830381600087803b15801561176e57600080fd5b505af1158015611782573d6000803e3d6000fd5b5050600f805460ff60b01b1916905550505050565b6000826117a657506000610609565b828202828482816117b357fe5b04146115c15760405162461bcd60e51b8152600401808060200182810382526021815260200180611f216021913960400191505060405180910390fd5b60006115c183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a81565b6040805160028082526060820183526000926020830190803683375050600e54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c464892506004808301926020929190829003018186803b15801561189757600080fd5b505afa1580156118ab573d6000803e3d6000fd5b505050506040513d60208110156118c157600080fd5b5051815182906000906118d057fe5b6001600160a01b039283166020918202929092010152600c548251911690829060019081106118fb57fe5b6001600160a01b039283166020918202929092010152600e546119219130911684610ffa565b600e54600d5460405163b6f9de9560e01b8152600481018581526001600160a01b03928316604483018190524260648401819052608060248501908152875160848601528751959096169563b6f9de9595899586958a9594939092909160a401906020808801910280838360005b838110156119a757818101518382015260200161198f565b50505050905001955050505050506000604051808303818588803b1580156119ce57600080fd5b505af11580156119e2573d6000803e3d6000fd5b50505050505050565b60006115c183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611448565b80611a3a57611a3a611ae6565b611a45848484611b1e565b8061144257611442600260115560096012556001601355565b6000806000611a6b611c38565b9092509050611a7a82826117f0565b9250505090565b60008183611ad05760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561149c578181015183820152602001611484565b506000838581611adc57fe5b0495945050505050565b601154158015611af65750601254155b8015611b025750601354155b15611b0c57611b1c565b6000601181905560128190556013555b565b600080611b2a83611c6f565b91509150600080600080600080611b418888611ce8565b955095509550955095509550611b8586600260008e6001600160a01b03166001600160a01b03168152602001908152602001600020546119eb90919063ffffffff16565b6001600160a01b03808d1660009081526002602052604080822093909355908c1681522054611bb49086611d47565b6001600160a01b038b16600090815260026020526040902055611bd681611da1565b611be08483611deb565b896001600160a01b03168b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35050505050505050505050565b6005546004546000918291611c4d82826117f0565b821015611c6557600554600454935093505050611c6b565b90925090505b9091565b6000808281611c7c611a5e565b90506000611c9a6064610a806013548961179790919063ffffffff16565b90506000611ca88284611797565b600454909150611cb890836119eb565b600455600554611cc890826119eb565b600555600754611cd89083611d47565b6007555091935090915050915091565b6000806000806000806000806000611d068b6011546012548d611e0f565b9250925092506000611d16611a5e565b90506000806000611d298f878787611e61565b919e509c509a50959850939650919450505050509295509295509295565b6000828201838110156115c1576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000611dab611a5e565b90506000611db98383611797565b30600090815260026020526040902054909150611dd69082611d47565b30600090815260026020526040902055505050565b600554611df890836119eb565b600555600654611e089082611d47565b6006555050565b6000808080611e236064610a808a8a611797565b90506000611e366064610a808b8a611797565b90506000611e5087611e4a84818e886119eb565b906119eb565b9a9299509097509095505050505050565b6000808080611e708886611797565b90506000611e7e8887611797565b90506000611e8c8888611797565b90506000611e9e82611e4a86866119eb565b939b939a5091985091965050505050505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e7345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220cf2f72bbb45626f465930daa9d507a6447f817f57997a8f8a24e2179d45e924d64736f6c63430007060033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000053f997da7206d6bf90ffc4236b3ca8efb7bb1a890000000000000000000000008f5dede1126e029a1bc0de694a32bc80b4353f970000000000000000000000002adf3ddd9a238e8c0afea647137ae4f534405388
-----Decoded View---------------
Arg [0] : addr1 (address): 0x53F997da7206D6bF90Ffc4236b3ca8EfB7BB1A89
Arg [1] : addr2 (address): 0x8f5DEde1126E029a1BC0de694A32BC80b4353f97
Arg [2] : addr3 (address): 0x2ADf3ddd9A238E8c0afea647137aE4F534405388
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000053f997da7206d6bf90ffc4236b3ca8efb7bb1a89
Arg [1] : 0000000000000000000000008f5dede1126e029a1bc0de694a32bc80b4353f97
Arg [2] : 0000000000000000000000002adf3ddd9a238e8c0afea647137ae4f534405388
Deployed Bytecode Sourcemap
3738:12697:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5806:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6817:161;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6817:161:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;7308:92;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7308:92:0;;;;:::i;:::-;;4534:64;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;4534:64:0;;;;;;;;;;;;;;6083:95;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6986:310;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6986:310:0;;;;;;;;;;;;;;;;;:::i;5992:83::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4273:27;;;;;;;;;;;;;:::i;4606:75::-;;;;;;;;;;;;;:::i;4741:28::-;;;;;;;;;;;;;:::i;8615:165::-;;;;;;;;;;;;;:::i;4893:31::-;;;;;;;;;;;;;:::i;6186:138::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6186:138:0;-1:-1:-1;;;;;6186:138:0;;:::i;2594:148::-;;;;;;;;;;;;;:::i;4778:32::-;;;;;;;;;;;;;:::i;7412:86::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7412:86:0;;;;:::i;2380:79::-;;;;;;;;;;;;;:::i;5897:87::-;;;;;;;;;;;;;:::i;8439:168::-;;;;;;;;;;;;;:::i;6491:167::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6491:167:0;;;;;;;;:::i;8897:255::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8897:255:0;;:::i;6666:143::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6666:143:0;;;;;;;;;;:::i;7642:789::-;;;;;;;;;;;;;:::i;6336:147::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6336:147:0;-1:-1:-1;;;;;6336:147:0;;:::i;7506:128::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7506:128:0;;;;:::i;8792:95::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8792:95:0;;:::i;5806:83::-;5876:5;;;;;;;;;;;;-1:-1:-1;;;5876:5:0;;;;5806:83;:::o;6817:161::-;6892:4;6909:39;6918:12;:10;:12::i;:::-;6932:7;6941:6;6909:8;:39::i;:::-;-1:-1:-1;6966:4:0;6817:161;;;;;:::o;7308:92::-;2517:12;:10;:12::i;:::-;2507:6;;-1:-1:-1;;;;;2507:6:0;;;:22;;;2499:67;;;;;-1:-1:-1;;;2499:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2499:67:0;;;;;;;;;;;;;;;7373:10:::1;:19:::0;;;::::1;;-1:-1:-1::0;;;7373:19:0::1;-1:-1:-1::0;;;;7373:19:0;;::::1;::::0;;;::::1;::::0;;7308:92::o;4534:64::-;;;-1:-1:-1;;;;;4534:64:0;;:::o;6083:95::-;6163:7;;6083:95;:::o;6986:310::-;7084:4;7101:36;7111:6;7119:9;7130:6;7101:9;:36::i;:::-;7148:118;7157:6;7164:12;:10;:12::i;:::-;7177:88;7215:6;7177:88;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7177:19:0;;;;;;:11;:19;;;;;;7197:12;:10;:12::i;:::-;-1:-1:-1;;;;;7177:33:0;;;;;;;;;;;;-1:-1:-1;7177:33:0;;;:88;:37;:88::i;:::-;7148:8;:118::i;:::-;-1:-1:-1;7284:4:0;6986:310;;;;;:::o;5992:83::-;3962:1;5992:83;:::o;4273:27::-;;;;:::o;4606:75::-;;;-1:-1:-1;;;;;4606:75:0;;:::o;4741:28::-;;;-1:-1:-1;;;;;4741:28:0;;:::o;8615:165::-;2517:12;:10;:12::i;:::-;2507:6;;-1:-1:-1;;;;;2507:6:0;;;:22;;;2499:67;;;;;-1:-1:-1;;;2499:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2499:67:0;;;;;;;;;;;;;;;8707:21:::1;8739:33;8707:21:::0;8739:13:::1;:33::i;:::-;2577:1;8615:165::o:0;4893:31::-;;;-1:-1:-1;;;4893:31:0;;;;;:::o;6186:138::-;-1:-1:-1;;;;;6299:16:0;;6252:7;6299:16;;;:7;:16;;;;;;6279:37;;:19;:37::i;2594:148::-;2517:12;:10;:12::i;:::-;2507:6;;-1:-1:-1;;;;;2507:6:0;;;:22;;;2499:67;;;;;-1:-1:-1;;;2499:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2499:67:0;;;;;;;;;;;;;;;2701:1:::1;2685:6:::0;;2664:40:::1;::::0;-1:-1:-1;;;;;2685:6:0;;::::1;::::0;2664:40:::1;::::0;2701:1;;2664:40:::1;2732:1;2715:19:::0;;-1:-1:-1;;;;;;2715:19:0::1;::::0;;2594:148::o;4778:32::-;;;-1:-1:-1;;;4778:32:0;;;;;:::o;7412:86::-;2517:12;:10;:12::i;:::-;2507:6;;-1:-1:-1;;;;;2507:6:0;;;:22;;;2499:67;;;;;-1:-1:-1;;;2499:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2499:67:0;;;;;;;;;;;;;;;7474:7:::1;:16:::0;;;::::1;;-1:-1:-1::0;;;7474:16:0::1;-1:-1:-1::0;;;;7474:16:0;;::::1;::::0;;;::::1;::::0;;7412:86::o;2380:79::-;2418:7;2445:6;-1:-1:-1;;;;;2445:6:0;2380:79;:::o;5897:87::-;5969:7;;;;;;;;;;;;-1:-1:-1;;;5969:7:0;;;;5897:87;:::o;8439:168::-;2517:12;:10;:12::i;:::-;2507:6;;-1:-1:-1;;;;;2507:6:0;;;:22;;;2499:67;;;;;-1:-1:-1;;;2499:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2499:67:0;;;;;;;;;;;;;;;8505:23:::1;8531:24;8549:4;8531:9;:24::i;:::-;8505:50;;8566:33;8583:15;8566:16;:33::i;6491:167::-:0;6569:4;6586:42;6596:12;:10;:12::i;:::-;6610:9;6621:6;6586:9;:42::i;8897:255::-;2517:12;:10;:12::i;:::-;2507:6;;-1:-1:-1;;;;;2507:6:0;;;:22;;;2499:67;;;;;-1:-1:-1;;;2499:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2499:67:0;;;;;;;;;;;;;;;8999:1:::1;8984:12;:16;8976:58;;;::::0;;-1:-1:-1;;;8976:58:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;9060:36;9090:5;9060:25;9072:12;9060:7;;:11;;:25;;;;:::i;:::-;:29:::0;::::1;:36::i;:::-;9045:12;:51:::0;;;9112:32:::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;8897:255:::0;:::o;6666:143::-;-1:-1:-1;;;;;6774:18:0;;;6747:7;6774:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6666:143::o;7642:789::-;2517:12;:10;:12::i;:::-;2507:6;;-1:-1:-1;;;;;2507:6:0;;;:22;;;2499:67;;;;;-1:-1:-1;;;2499:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2499:67:0;;;;;;;;;;;;;;;7809:15:::1;:34:::0;;-1:-1:-1;;;;;;7809:34:0::1;7755:42;7809:34:::0;;::::1;::::0;;;;7904:7:::1;::::0;7755:42;;7854:58:::1;::::0;7871:4:::1;::::0;-1:-1:-1;;;;;7886:15:0::1;::::0;7854:8:::1;:58::i;:::-;7957:16;-1:-1:-1::0;;;;;7957:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;7957:26:0;8011:23:::1;::::0;;-1:-1:-1;;;8011:23:0;;;;-1:-1:-1;;;;;7939:56:0;;::::1;::::0;::::1;::::0;8004:4:::1;::::0;8011:21;;::::1;::::0;::::1;::::0;:23:::1;::::0;;::::1;::::0;7957:26:::1;::::0;8011:23;;;;;;;;:21;:23;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;8011:23:0;7939:96:::1;::::0;;-1:-1:-1;;;;;;7939:96:0::1;::::0;;;;;;-1:-1:-1;;;;;7939:96:0;;::::1;;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;8011:23:::1;::::0;7939:96;;;;;;;-1:-1:-1;7939:96:0;;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;7939:96:0;7923:13:::1;:112:::0;;-1:-1:-1;;;;;;7923:112:0::1;-1:-1:-1::0;;;;;7923:112:0;;::::1;;::::0;;8046:15:::1;::::0;::::1;:31;8085:21;8116:4;8122:24;8116:4:::0;8122:9:::1;:24::i;:::-;8147:1;8149::::0;8151:7:::1;:5;:7::i;:::-;8159:15;8046:129;;;;;;;;;;;;;-1:-1:-1::0;;;;;8046:129:0::1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;8046:129:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;8186:11:0::1;:18:::0;;-1:-1:-1;;;;;;;;;;;;;;;;8186:18:0;;::::1;-1:-1:-1::0;;;8186:18:0::1;8215:21:::0;;;::::1;-1:-1:-1::0;;;8215:21:0::1;8247:17:::0;;;::::1;-1:-1:-1::0;;;8247:17:0::1;8275:14;-1:-1:-1::0;;;8275:14:0::1;::::0;;;;8315:24:::1;8300:12;:39:::0;8388:15:::1;::::0;8046:129;8350:73;;-1:-1:-1;;;8350:73:0;;-1:-1:-1;;;;;8388:15:0;;::::1;8350:73;::::0;::::1;::::0;-1:-1:-1;;8350:73:0;;;;;;8357:13;;;::::1;::::0;8350:29:::1;::::0;:73;;;;;8046:129:::1;::::0;8350:73;;;;;;;8186:18;8357:13;8350:73;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;;7642:789:0:o;6336:147::-;2517:12;:10;:12::i;:::-;2507:6;;-1:-1:-1;;;;;2507:6:0;;;:22;;;2499:67;;;;;-1:-1:-1;;;2499:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2499:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;6443:25:0::1;6409:13;6443:25:::0;;;:18:::1;:25;::::0;;;;:32;;-1:-1:-1;;6443:32:0::1;6471:4;6443:32;::::0;;6336:147::o;7506:128::-;2517:12;:10;:12::i;:::-;2507:6;;-1:-1:-1;;;;;2507:6:0;;;:22;;;2499:67;;;;;-1:-1:-1;;;2499:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2499:67:0;;;;;;;;;;;;;;;7579:14:::1;::::0;-1:-1:-1;;;7579:14:0;::::1;;;7571:23;;;::::0;::::1;;7605:12;:21:::0;;;::::1;;-1:-1:-1::0;;;7605:21:0::1;-1:-1:-1::0;;;;7605:21:0;;::::1;::::0;;;::::1;::::0;;7506:128::o;8792:95::-;2517:12;:10;:12::i;:::-;2507:6;;-1:-1:-1;;;;;2507:6:0;;;:22;;;2499:67;;;;;-1:-1:-1;;;2499:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2499:67:0;;;;;;;;;;;;;;;8857:22:::1;8872:6;8857:14;:22::i;101:98::-:0;181:10;101:98;:::o;9421:335::-;-1:-1:-1;;;;;9514:19:0;;9506:68;;;;-1:-1:-1;;;9506:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9593:21:0;;9585:68;;;;-1:-1:-1;;;9585:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9664:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9716:32;;;;;;;;;;;;;;;;;9421:335;;;:::o;9764:1945::-;-1:-1:-1;;;;;9852:18:0;;9844:68;;;;-1:-1:-1;;;9844:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9931:16:0;;9923:64;;;;-1:-1:-1;;;9923:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10015:1;10006:6;:10;9998:64;;;;-1:-1:-1;;;9998:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10087:7;:5;:7::i;:::-;-1:-1:-1;;;;;10079:15:0;:4;-1:-1:-1;;;;;10079:15:0;;;:32;;;;;10104:7;:5;:7::i;:::-;-1:-1:-1;;;;;10098:13:0;:2;-1:-1:-1;;;;;10098:13:0;;;10079:32;:61;;;;-1:-1:-1;;;;;;10116:24:0;;;;;;:18;:24;;;;;;;;10115:25;10079:61;:88;;;;-1:-1:-1;;;;;;10145:22:0;;;;;;:18;:22;;;;;;;;10144:23;10079:88;10075:1398;;;10210:13;;-1:-1:-1;;;;;10202:21:0;;;10210:13;;10202:21;:55;;;;-1:-1:-1;10241:15:0;;-1:-1:-1;;;;;10227:30:0;;;10241:15;;10227:30;;10202:55;:82;;;;-1:-1:-1;;;;;;10262:22:0;;;;;;:18;:22;;;;;;;;10261:23;10202:82;10198:539;;;10313:12;;-1:-1:-1;;;10313:12:0;;;;10305:21;;;;;;10349:7;;-1:-1:-1;;;10349:7:0;;;;10345:83;;;10395:12;;10385:6;:22;;10377:31;;;;;;10461:1;10446:12;:16;10495:1;10481:11;:15;-1:-1:-1;10515:10:0;:14;10574:21;10618:22;;10614:108;;10665:37;10680:21;10665:14;:37::i;:::-;10198:539;;10751:28;10782:24;10800:4;10782:9;:24::i;:::-;10826:6;;10751:55;;-1:-1:-1;;;;10826:6:0;;;;10825:7;:32;;;;-1:-1:-1;10844:13:0;;-1:-1:-1;;;;;10836:21:0;;;10844:13;;10836:21;;10825:32;:47;;;;-1:-1:-1;10861:11:0;;-1:-1:-1;;;10861:11:0;;;;10825:47;10821:641;;;10901:12;;-1:-1:-1;;;10901:12:0;;;;10893:21;;;;;;10937:7;;-1:-1:-1;;;10937:7:0;;;;10933:137;;;10993:13;;10983:40;;11019:3;;10983:31;;11012:1;;10983:24;;-1:-1:-1;;;;;10993:13:0;10983:9;:24::i;:::-;:28;;:31::i;:40::-;10973:6;:50;;:76;;;;;11037:12;;11027:6;:22;;10973:76;10965:85;;;;;;11113:21;11153:38;11170:20;11153:16;:38::i;:::-;11231:21;11210:18;11294:36;11231:21;11312:17;11294;:36::i;:::-;11271:59;-1:-1:-1;11353:19:0;;11349:98;;11397:30;11411:15;11397:13;:30::i;:::-;10821:641;;;;10075:1398;;-1:-1:-1;;;;;11517:24:0;;11483:12;11517:24;;;:18;:24;;;;;;11498:4;;11517:24;;;:50;;-1:-1:-1;;;;;;11545:22:0;;;;;;:18;:22;;;;;;;;11517:50;:65;;;-1:-1:-1;11572:10:0;;-1:-1:-1;;;11572:10:0;;;;11571:11;11517:65;11513:113;;;-1:-1:-1;11609:5:0;11513:113;11636:41;11651:4;11657:2;11661:6;11669:7;11636:14;:41::i;:::-;9764:1945;;;;:::o;1238:190::-;1324:7;1360:12;1352:6;;;;1344:29;;;;-1:-1:-1;;;1344:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1396:5:0;;;1238:190::o;16251:144::-;16309:6;;-1:-1:-1;;;;;16309:6:0;:30;16325:13;:6;16336:1;16325:10;:13::i;:::-;16309:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16350:13:0;;-1:-1:-1;;;;;16350:13:0;:37;16373:13;:6;16384:1;16373:10;:13::i;:::-;16350:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16251:144;:::o;9160:253::-;9228:7;9267;;9256;:18;;9248:72;;;;-1:-1:-1;;;9248:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9331:19;9353:10;:8;:10::i;:::-;9331:32;-1:-1:-1;9381:24:0;:7;9331:32;9381:11;:24::i;:::-;9374:31;9160:253;-1:-1:-1;;;9160:253:0:o;15414:407::-;5257:6;:13;;-1:-1:-1;;;;5257:13:0;-1:-1:-1;;;5257:13:0;;;15516:16:::1;::::0;;15530:1:::1;15516:16:::0;;;;;::::1;::::0;;-1:-1:-1;;15516:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15516:16:0::1;15492:40;;15561:4;15543;15548:1;15543:7;;;;;;;;-1:-1:-1::0;;;;;15543:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;15587:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;15587:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;15543:7;;15587:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;15587:22:0;15577:7;;:4;;15582:1:::1;::::0;15577:7;::::1;;;;;-1:-1:-1::0;;;;;15577:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;15652:15:::1;::::0;15620:62:::1;::::0;15637:4:::1;::::0;15652:15:::1;15670:11:::0;15620:8:::1;:62::i;:::-;15693:15;::::0;:120:::1;::::0;-1:-1:-1;;;15693:120:0;;::::1;::::0;::::1;::::0;;;:15:::1;:120:::0;;;;;;15790:4:::1;15693:120:::0;;;;;;15797:15:::1;15693:120:::0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15693:15:0;;::::1;::::0;:66:::1;::::0;15760:11;;15776:4;;15790;15797:15;15693:120;;;;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;:15;:120:::1;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5293:6:0;:14;;-1:-1:-1;;;;5293:14:0;;;-1:-1:-1;;;;15414:407:0:o;1436:246::-;1494:7;1518:6;1514:47;;-1:-1:-1;1548:1:0;1541:8;;1514:47;1583:5;;;1587:1;1583;:5;:1;1607:5;;;;;:10;1599:56;;;;-1:-1:-1;;;1599:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1690:132;1748:7;1775:39;1779:1;1782;1775:39;;;;;;;;;;;;;;;;;:3;:39::i;15834:409::-;15917:16;;;15931:1;15917:16;;;;;;;;15893:21;;15917:16;;;;;;;;-1:-1:-1;;15954:15:0;;:22;;;-1:-1:-1;;;15954:22:0;;;;15893:40;;-1:-1:-1;;;;;;15954:15:0;;;;:20;;-1:-1:-1;15954:22:0;;;;;;;;;;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15954:22:0;15944:7;;:4;;15949:1;;15944:7;;;;-1:-1:-1;;;;;15944:32:0;;;:7;;;;;;;;;:32;16005:4;;15987:7;;16005:4;;;15987;;16005;;15987:7;;;;;;-1:-1:-1;;;;;15987:23:0;;;:7;;;;;;;;;:23;16055:15;;16023:60;;16040:4;;16055:15;16073:9;16023:8;:60::i;:::-;16094:15;;16202;;16094:141;;-1:-1:-1;;;16094:141:0;;;;;;;;-1:-1:-1;;;;;16202:15:0;;;16094:141;;;;;;16219:15;16094:141;;;;;;;;;;;;;;;;;;;;;:15;;;;;:66;;16168:9;;;;16189:4;;16202:15;16219;16094:141;;;;;;;;;;;;;;;;:15;:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15834:409;;:::o;1094:136::-;1152:7;1179:43;1183:1;1186;1179:43;;;;;;;;;;;;;;;;;:3;:43::i;12049:239::-;12162:7;12157:28;;12171:14;:12;:14::i;:::-;12196:44;12214:6;12222:9;12233:6;12196:17;:44::i;:::-;12256:7;12251:29;;12265:15;11980:1;11966:11;:15;12007:1;11992:12;:16;12032:1;12019:10;:14;11922:119::o;14977:164::-;15019:7;15040:15;15057;15076:19;:17;:19::i;:::-;15039:56;;-1:-1:-1;15039:56:0;-1:-1:-1;15113:20:0;15039:56;;15113:11;:20::i;:::-;15106:27;;;;14977:164;:::o;1830:189::-;1916:7;1951:12;1944:5;1936:28;;;;-1:-1:-1;;;1936:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:9;1991:1;1987;:5;;;;;;;1830:189;-1:-1:-1;;;;;1830:189:0:o;11717:197::-;11764:11;;:16;:37;;;;-1:-1:-1;11784:12:0;;:17;11764:37;:56;;;;-1:-1:-1;11805:10:0;;:15;11764:56;11760:69;;;11822:7;;11760:69;11853:1;11839:11;:15;;;11865:12;:16;;;11892:10;:14;11717:197;:::o;12294:560::-;12392:15;12409:13;12426:21;12440:6;12426:13;:21::i;:::-;12391:56;;;;12459:15;12476:23;12501:12;12515:23;12540:12;12554:13;12571:26;12582:7;12591:5;12571:10;:26::i;:::-;12458:139;;;;;;;;;;;;12626:28;12646:7;12626;:15;12634:6;-1:-1:-1;;;;;12626:15:0;-1:-1:-1;;;;;12626:15:0;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;-1:-1:-1;;;;;12608:15:0;;;;;;;:7;:15;;;;;;:46;;;;12686:18;;;;;;;:39;;12709:15;12686:22;:39::i;:::-;-1:-1:-1;;;;;12665:18:0;;;;;;:7;:18;;;;;:60;12736:16;12746:5;12736:9;:16::i;:::-;12763:23;12775:4;12781;12763:11;:23::i;:::-;12819:9;-1:-1:-1;;;;;12802:44:0;12811:6;-1:-1:-1;;;;;12802:44:0;;12830:15;12802:44;;;;;;;;;;;;;;;;;;12294:560;;;;;;;;;;;:::o;15149:257::-;15247:7;;15283;;15200;;;;15315:20;15247:7;15283;15315:11;:20::i;:::-;15305:7;:30;15301:61;;;15345:7;;15354;;15337:25;;;;;;;;15301:61;15381:7;;-1:-1:-1;15390:7:0;-1:-1:-1;15149:257:0;;;:::o;13081:422::-;13134:4;;13176:6;13134:4;13215:10;:8;:10::i;:::-;13193:32;;13236:13;13252:31;13279:3;13252:22;13263:10;;13252:6;:10;;:22;;;;:::i;:31::-;13236:47;-1:-1:-1;13294:13:0;13310:22;13236:47;13320:11;13310:9;:22::i;:::-;13353:7;;13294:38;;-1:-1:-1;13353:18:0;;13365:5;13353:11;:18::i;:::-;13343:7;:28;13392:7;;:18;;13404:5;13392:11;:18::i;:::-;13382:7;:28;13436:12;;:23;;13453:5;13436:16;:23::i;:::-;13421:12;:38;-1:-1:-1;13478:9:0;;-1:-1:-1;13489:5:0;;-1:-1:-1;;13081:422:0;;;:::o;13670:497::-;13744:7;13753;13762;13771;13780;13789;13810:23;13835:12;13849:13;13866:54;13878:7;13887:11;;13900:12;;13914:5;13866:11;:54::i;:::-;13809:111;;;;;;13931:19;13953:10;:8;:10::i;:::-;13931:32;;13975:15;13992:23;14017:12;14033:46;14045:7;14054:4;14060:5;14067:11;14033;:46::i;:::-;13974:105;;-1:-1:-1;13974:105:0;-1:-1:-1;13974:105:0;-1:-1:-1;14130:15:0;;-1:-1:-1;14147:4:0;;-1:-1:-1;14153:5:0;;-1:-1:-1;;;;;13670:497:0;;;;;;;;:::o;907:179::-;965:7;997:5;;;1021:6;;;;1013:46;;;;;-1:-1:-1;;;1013:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;12862:211;12915:19;12937:10;:8;:10::i;:::-;12915:32;-1:-1:-1;12958:13:0;12974:22;:5;12915:32;12974:9;:22::i;:::-;13048:4;13032:22;;;;:7;:22;;;;;;12958:38;;-1:-1:-1;13032:33:0;;12958:38;13032:26;:33::i;:::-;13023:4;13007:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;12862:211:0:o;13515:147::-;13593:7;;:17;;13605:4;13593:11;:17::i;:::-;13583:7;:27;13634:10;;:20;;13649:4;13634:14;:20::i;:::-;13621:10;:33;-1:-1:-1;;13515:147:0:o;14175:377::-;14283:7;;;;14336:28;14360:3;14336:19;:7;14348:6;14336:11;:19::i;:28::-;14321:43;-1:-1:-1;14375:13:0;14391:29;14416:3;14391:20;:7;14403;14391:11;:20::i;:29::-;14375:45;-1:-1:-1;14431:23:0;14457:39;14490:5;14457:28;14375:45;14457:28;:7;14469:4;14457:11;:17::i;:::-;:21;;:28::i;:39::-;14431:65;14532:4;;-1:-1:-1;14538:5:0;;-1:-1:-1;14175:377:0;;-1:-1:-1;;;;;;14175:377:0:o;14560:409::-;14670:7;;;;14726:24;:7;14738:11;14726;:24::i;:::-;14708:42;-1:-1:-1;14761:12:0;14776:21;:4;14785:11;14776:8;:21::i;:::-;14761:36;-1:-1:-1;14808:13:0;14824:22;:5;14834:11;14824:9;:22::i;:::-;14808:38;-1:-1:-1;14857:23:0;14883:28;14808:38;14883:17;:7;14895:4;14883:11;:17::i;:28::-;14930:7;;;;-1:-1:-1;14956:4:0;;-1:-1:-1;14560:409:0;;-1:-1:-1;;;;;;;14560:409:0:o
Swarm Source
ipfs://cf2f72bbb45626f465930daa9d507a6447f817f57997a8f8a24e2179d45e924d
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.