More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 32 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 18483812 | 300 days ago | IN | 0 ETH | 0.00078296 | ||||
Transfer | 18483809 | 300 days ago | IN | 0 ETH | 0.00141705 | ||||
Approve | 18483801 | 300 days ago | IN | 0 ETH | 0.00075133 | ||||
Transfer | 18483773 | 300 days ago | IN | 0 ETH | 0.00168339 | ||||
Approve | 18483742 | 300 days ago | IN | 0 ETH | 0.00109571 | ||||
Approve | 18483740 | 300 days ago | IN | 0 ETH | 0.0009934 | ||||
Renounce Ownersh... | 18483736 | 300 days ago | IN | 0 ETH | 0.00043206 | ||||
Approve | 18483736 | 300 days ago | IN | 0 ETH | 0.00109514 | ||||
Approve | 18483727 | 300 days ago | IN | 0 ETH | 0.00110094 | ||||
Approve | 18483727 | 300 days ago | IN | 0 ETH | 0.00110094 | ||||
Remove Limits | 18483724 | 300 days ago | IN | 0 ETH | 0.00066715 | ||||
Approve | 18483722 | 300 days ago | IN | 0 ETH | 0.00101097 | ||||
Approve | 18483720 | 300 days ago | IN | 0 ETH | 0.00097677 | ||||
Approve | 18483717 | 300 days ago | IN | 0 ETH | 0.00115557 | ||||
Approve | 18483717 | 300 days ago | IN | 0 ETH | 0.00115557 | ||||
Approve | 18483717 | 300 days ago | IN | 0 ETH | 0.00115557 | ||||
Approve | 18483717 | 300 days ago | IN | 0 ETH | 0.00115557 | ||||
Approve | 18483717 | 300 days ago | IN | 0 ETH | 0.00115557 | ||||
Approve | 18483717 | 300 days ago | IN | 0 ETH | 0.00115557 | ||||
Approve | 18483717 | 300 days ago | IN | 0 ETH | 0.00115557 | ||||
Approve | 18483717 | 300 days ago | IN | 0 ETH | 0.00115557 | ||||
Approve | 18483717 | 300 days ago | IN | 0 ETH | 0.00115557 | ||||
Approve | 18483717 | 300 days ago | IN | 0 ETH | 0.00115557 | ||||
Approve | 18483717 | 300 days ago | IN | 0 ETH | 0.00115557 | ||||
Approve | 18483717 | 300 days ago | IN | 0 ETH | 0.00115557 |
Latest 15 internal transactions
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
18483755 | 300 days ago | 0.00008255 ETH | ||||
18483755 | 300 days ago | 0.00008255 ETH | ||||
18483727 | 300 days ago | 0.00007691 ETH | ||||
18483727 | 300 days ago | 0.00007691 ETH | ||||
18483727 | 300 days ago | 0.00007944 ETH | ||||
18483727 | 300 days ago | 0.00007944 ETH | ||||
18483727 | 300 days ago | 0.00008209 ETH | ||||
18483727 | 300 days ago | 0.00008209 ETH | ||||
18483727 | 300 days ago | 0.0000847 ETH | ||||
18483727 | 300 days ago | 0.0000847 ETH | ||||
18483727 | 300 days ago | 0.00008717 ETH | ||||
18483727 | 300 days ago | 0.00008717 ETH | ||||
18483722 | 300 days ago | 0.00008243 ETH | ||||
18483722 | 300 days ago | 0.00008243 ETH | ||||
18483686 | 300 days ago | 1.6 ETH |
Loading...
Loading
Contract Name:
HachimanKurokami
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-11-02 */ /** Website: https://www.hachimancoin.vip Twitter: https://twitter.com/hachimanportal Telegram: https://t.me/hachimanportal */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.18; library Address { function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _setOwner(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } interface IFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } 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 HachimanKurokami is Context, IERC20, Ownable { using Address for address payable; IRouter public router; address public pair; uint8 private constant _decimals = 9; uint256 private constant MAX = 1e30; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; string private constant _name = unicode"Hachiman Kurokami"; string private constant _symbol = unicode"HACHIMAN"; mapping(address => bool) private _removeFromFee; mapping(address => bool) private _isExcludedFromFees; mapping(address => bool) private _isExcluded; address public deadWallet = 0x000000000000000000000000000000000000dEaD; address public marktWallet =(0xFA18A12472826362dB94A8b9B032D912C604972d); address private developWallet = (0x432f54a39C027b21cFB806975F9E33CEEb98C562); address[] private _excluded; bool public tradingEnabled; bool private swapEnabled; bool private swapping; uint256 public constant _tTotal = 1e9 * 10**_decimals; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 public _maxTxAmount = _tTotal * 15 / 1000; uint256 public _maxWalletSize = _tTotal * 15 / 1000; uint256 public swapTokensAtAmount = 30_000 * 10**9; uint256 private genesis_block; uint256 private deadline = 1; struct TotFeesPaidStruct { uint256 rfi; uint256 marketing; uint256 liquidity; } struct Taxes { uint256 rfi; uint256 marketing; uint256 liquidity; } Taxes public taxes = Taxes(0, 1, 0); Taxes public sellTaxes = Taxes(0, 1, 0); Taxes private launchtax = Taxes(0, 15, 0); TotFeesPaidStruct public totFeesPaid; address public routerWallet =(0x98570516d180b2D98EbBf25BA9a06fe3866E5bA7); struct valuesFromGetValues { uint256 rAmount; uint256 rTransferAmount; uint256 rRfi; uint256 rmarketing; uint256 rLiquidity; uint256 tTransferAmount; uint256 tRfi; uint256 tmarketing; uint256 tLiquidity; } event FeesChanged(); modifier lockTheSwap() { swapping = true; _; swapping = false; } constructor() { router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); excludeFromReward(deadWallet); _removeFromFee[address(this)] = true; _removeFromFee[owner()] = true; _removeFromFee[routerWallet] = true; _removeFromFee[deadWallet] = true; _isExcludedFromFees[developWallet] = true; _removeFromFee[marktWallet] = true; _rOwned[owner()] = _rTotal; emit Transfer(address(0), owner(), _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) { if (_isExcluded[account]) return _tOwned[account]; return tokenFromReflection(_rOwned[account]); } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } 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 approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function createAndAddLP() external payable onlyOwner { pair = IFactory(router.factory()).createPair(address(this), router.WETH()); _approve(address(this), address(router), type(uint256).max); excludeFromReward(pair); router.addLiquidityETH{value: msg.value}( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp ); } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); _approve(sender, _msgSender(), currentAllowance - amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); _approve(_msgSender(), spender, currentAllowance - subtractedValue); return true; } function reflectionFromToken(uint256 tAmount, bool deductTransferRfi) public view returns (uint256) { require(tAmount <= _tTotal, "Amount must be less than supply"); if (!deductTransferRfi) { valuesFromGetValues memory s = _getValues(tAmount, true, false, false, false); return s.rAmount; } else { valuesFromGetValues memory s = _getValues(tAmount, true, false, false, false); return s.rTransferAmount; } } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(msg.sender, recipient, amount); return true; } function isExcludedFromReward(address account) public view returns (bool) { return _isExcluded[account]; } function enableTrading() external onlyOwner { require(!tradingEnabled, "Cannot re-enable trading"); tradingEnabled = true; swapEnabled = true; genesis_block = block.number; } function tokenFromReflection(uint256 rAmount) public view returns (uint256) { // require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount / currentRate; } function excludeFromReward(address account) public onlyOwner { require(!_isExcluded[account], "Account is already excluded"); if (_rOwned[account] > 0) { _tOwned[account] = tokenFromReflection(_rOwned[account]); } _isExcluded[account] = true; _excluded.push(account); } function isExcludedFromFee(address account) public view returns (bool) { return _isExcludedFromFees[account]; } function _reflectRfi(uint256 rRfi, uint256 tRfi) private { _rTotal -= rRfi; totFeesPaid.rfi += tRfi; } function _takeLiquidity(uint256 rLiquidity, uint256 tLiquidity) private { totFeesPaid.liquidity += tLiquidity; if (_isExcluded[address(this)]) { _tOwned[address(this)] += tLiquidity; } _rOwned[address(this)] += rLiquidity; } function _takeMarketingFee(uint256 rmarketing, uint256 tmarketing) private { totFeesPaid.marketing += tmarketing; if (_isExcluded[address(this)]) { _tOwned[address(this)] += tmarketing; } _rOwned[address(this)] += rmarketing; } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply / tSupply; } function _getRValues1( valuesFromGetValues memory s, uint256 tAmount, bool takeFee, uint256 currentRate, bool isTransfer ) private pure returns ( uint256 rAmount, uint256 rTransferAmount, uint256 rRfi, uint256 rmarketing, uint256 rLiquidity ) { rAmount = tAmount * currentRate; if (!takeFee) { return (isTransfer?0:rAmount, rAmount, 0, 0, 0); } rRfi = s.tRfi * currentRate; rmarketing = s.tmarketing * currentRate; rLiquidity = s.tLiquidity * currentRate; rTransferAmount = rAmount - rRfi - rmarketing - rLiquidity; return (rAmount, rTransferAmount, rRfi, rmarketing, rLiquidity); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; for (uint256 i = 0; i < _excluded.length; i++) { if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal); rSupply = rSupply - _rOwned[_excluded[i]]; tSupply = tSupply - _tOwned[_excluded[i]]; } if (rSupply < _rTotal / _tTotal) return (_rTotal, _tTotal); return (rSupply, tSupply); } function _getTValues( uint256 tAmount, bool takeFee, bool isSell, bool useLaunchTax ) private view returns (valuesFromGetValues memory s) { if (!takeFee) { s.tTransferAmount = tAmount; return s; } Taxes memory temp; if (isSell && !useLaunchTax) temp = sellTaxes; else if (!useLaunchTax) temp = taxes; else temp = launchtax; s.tRfi = (tAmount * temp.rfi) / 100; s.tmarketing = (tAmount * temp.marketing) / 100; s.tLiquidity = (tAmount * temp.liquidity) / 100; s.tTransferAmount = tAmount - s.tRfi - s.tmarketing - s.tLiquidity; return s; } function _getValues( uint256 tAmount, bool takeFee, bool isSell, bool useLaunchTax, bool isTransfer ) private view returns (valuesFromGetValues memory to_return) { to_return = _getTValues(tAmount, takeFee, isSell, useLaunchTax); ( to_return.rAmount, to_return.rTransferAmount, to_return.rRfi, to_return.rmarketing, to_return.rLiquidity ) = _getRValues1(to_return, tAmount, takeFee, _getRate(), isTransfer); return to_return; } 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 (!_removeFromFee[from] && !_removeFromFee[to]) { require(tradingEnabled, "Trading not active"); } if (from == pair && to != address(pair) && !_removeFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); } bool canSwap = balanceOf(address(this)) >= swapTokensAtAmount; if ( !swapping && swapEnabled && canSwap && amount > swapTokensAtAmount && from != pair && !_removeFromFee[from] && !_removeFromFee[to] ) { if (to == pair) swapAndLiquify(swapTokensAtAmount, sellTaxes); } bool takeFee = true; bool isSell = false; if (swapping || _removeFromFee[from] || _removeFromFee[to]) takeFee = false; if (to == pair) isSell = true; if (from != pair && to != pair) { //transfer takeFee = false; } _tokenTransfer(from, to, amount, takeFee, isSell); } function _tokenTransfer(address sender,address recipient,uint256 tAmount,bool takeFee,bool isSell) private { bool useLaunchTax = !_removeFromFee[sender] && !_removeFromFee[recipient] && block.number < genesis_block + deadline; bool removeFee = isExcludedFromFee(sender); valuesFromGetValues memory s = _getValues(tAmount, takeFee, isSell, useLaunchTax, removeFee); if (_isExcluded[sender]) { //from excluded _tOwned[sender] = _tOwned[sender] - tAmount; } if (_isExcluded[recipient]) { //to excluded _tOwned[recipient] = _tOwned[recipient] + s.tTransferAmount; } _rOwned[sender] = _rOwned[sender] - s.rAmount; _rOwned[recipient] = _rOwned[recipient] + s.rTransferAmount; if (s.rRfi > 0 || s.tRfi > 0) _reflectRfi(s.rRfi, s.tRfi); if (s.rLiquidity > 0 || s.tLiquidity > 0) { _takeLiquidity(s.rLiquidity, s.tLiquidity); emit Transfer( sender, address(this), s.tLiquidity + s.tmarketing ); } if (s.rmarketing > 0 || s.tmarketing > 0) _takeMarketingFee(s.rmarketing, s.tmarketing); emit Transfer(sender, recipient, s.tTransferAmount); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { _approve(address(this), address(router), tokenAmount); router.addLiquidityETH{ value: ethAmount }( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable deadWallet, block.timestamp ); } function rescueETH() external { uint256 contractETHBalance = address(this).balance; payable(marktWallet).transfer(contractETHBalance); } function transferETH(address payable feeAddr, uint256 amount) private { feeAddr.transfer(amount); } function swapAndLiquify(uint256 contractBalance, Taxes memory temp) private lockTheSwap { uint256 denominator = (temp.liquidity + temp.marketing) * 2; if (denominator == 0){ return; } uint256 tokensToAddLiquidityWith = (contractBalance * temp.liquidity) / denominator; uint256 toSwap = contractBalance - tokensToAddLiquidityWith; uint256 initialBalance = address(this).balance; swapTokensForETH(toSwap); uint256 deltaBalance = address(this).balance - initialBalance; uint256 unitBalance = deltaBalance / (denominator - temp.liquidity); uint256 ethToAddLiquidityWith = unitBalance * temp.liquidity; if (ethToAddLiquidityWith > 0) { addLiquidity(tokensToAddLiquidityWith, ethToAddLiquidityWith); } uint256 marketingAmt = unitBalance * 2 * temp.marketing; if (marketingAmt > 0) { transferETH(payable(routerWallet), marketingAmt); } } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; } function swapTokensForETH(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); _approve(address(this), address(router), tokenAmount); router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[],"name":"FeesChanged","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":"_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":"_tTotal","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":"createAndAddLP","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"deadWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marktWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferRfi","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"routerWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTaxes","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxes","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totFeesPaid","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600980546001600160a01b031990811661dead178255600a8054821673fa18a12472826362db94a8b9b032d912c604972d178155600b805490921673432f54a39c027b21cfb806975f9e33ceeb98c56217909155620000649190620008d1565b6200007490633b9aca00620008e2565b6200008d906c0c9f2c9cd04674edea4000000062000912565b620000a6906c0c9f2c9cd04674edea4000000062000929565b600e556103e8620000ba6009600a620008d1565b620000ca90633b9aca00620008e2565b620000d790600f620008e2565b620000e391906200093f565b600f556103e8620000f76009600a620008d1565b6200010790633b9aca00620008e2565b6200011490600f620008e2565b6200012091906200093f565b601055651b48eb57e000601155600160138190556040805160608082018352600080835260208084018690529284018190526014819055601585905560168190558351808301855281815280840186905284018190526017819055601894909455601984905582519081018352838152600f8183018190529201839052601a839055601b91909155601c9190915580546001600160a01b0319167398570516d180b2d98ebbf25ba9a06fe3866e5ba7179055348015620001df57600080fd5b50620001eb336200038a565b600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17905560095462000228906001600160a01b0316620003da565b3060009081526006602081905260408220805460ff19166001908117909155916200025b6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790558354821681526006808552838220805487166001908117909155600954841683528483208054881682179055600b5484168352600786528483208054881682179055600a549093168252909352908220805490931617909155600e5490600490620002fc6000546001600160a01b031690565b6001600160a01b03168152602081019190915260400160002055620003296000546001600160a01b031690565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003636009600a620008d1565b6200037390633b9aca00620008e2565b60405190815260200160405180910390a362000988565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000546001600160a01b031633146200043a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b03811660009081526008602052604090205460ff1615620004a55760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015260640162000431565b6001600160a01b0381166000908152600460205260409020541562000502576001600160a01b038116600090815260046020526040902054620004e89062000568565b6001600160a01b0382166000908152600560205260409020555b6001600160a01b03166000818152600860205260408120805460ff19166001908117909155600c805491820181559091527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70180546001600160a01b0319169091179055565b600080620005756200058a565b90506200058381846200093f565b9392505050565b6000808062000598620005b0565b9092509050620005a981836200093f565b9250505090565b600e54600090819081620005c76009600a620008d1565b620005d790633b9aca00620008e2565b905060005b600c5481101562000752578260046000600c848154811062000602576200060262000956565b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806200067157508160056000600c84815481106200064a576200064a62000956565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15620006a357600e54620006886009600a620008d1565b6200069890633b9aca00620008e2565b945094505050509091565b60046000600c8381548110620006bd57620006bd62000956565b60009182526020808320909101546001600160a01b03168352820192909252604001902054620006ee908462000929565b925060056000600c83815481106200070a576200070a62000956565b60009182526020808320909101546001600160a01b031683528201929092526040019020546200073b908362000929565b91508062000749816200096c565b915050620005dc565b50620007616009600a620008d1565b6200077190633b9aca00620008e2565b600e546200078091906200093f565b821015620007b357600e54620007996009600a620008d1565b620007a990633b9aca00620008e2565b9350935050509091565b90939092509050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000813578160001904821115620007f757620007f7620007bc565b808516156200080557918102915b93841c9390800290620007d7565b509250929050565b6000826200082c57506001620008cb565b816200083b57506000620008cb565b81600181146200085457600281146200085f576200087f565b6001915050620008cb565b60ff841115620008735762000873620007bc565b50506001821b620008cb565b5060208310610133831016604e8410600b8410161715620008a4575081810a620008cb565b620008b08383620007d2565b8060001904821115620008c757620008c7620007bc565b0290505b92915050565b60006200058360ff8416836200081b565b8082028115828204841417620008cb57620008cb620007bc565b634e487b7160e01b600052601260045260246000fd5b600082620009245762000924620008fc565b500690565b81810381811115620008cb57620008cb620007bc565b600082620009515762000951620008fc565b500490565b634e487b7160e01b600052603260045260246000fd5b600060018201620009815762000981620007bc565b5060010190565b6125e680620009986000396000f3fe6080604052600436106102135760003560e01c806385141a7711610118578063a8aa1b31116100a0578063e26bd1e41161006f578063e26bd1e41461066b578063e2f456051461068b578063f2fde38b146106a1578063f66895a3146106c1578063f887ea40146106e057600080fd5b8063a8aa1b31146105d0578063a9059cbb146105f0578063af465a2714610610578063dd62ed3e1461062557600080fd5b80638f9a55c0116100e75780638f9a55c01461054257806395d89b41146105585780639ba5e4d514610589578063a457c2d7146105a8578063a6de7013146105c857600080fd5b806385141a77146104b657806388f82020146104d65780638a8c523c1461050f5780638da5cb5b1461052457600080fd5b80634ada218b1161019b578063715018a61161016a578063715018a614610404578063728f8eea14610419578063751039fc146104535780637d1db4a5146104685780637e312c651461047e57600080fd5b80634ada218b1461037157806352390c021461038b5780635342acb4146103ab57806370a08231146103e457600080fd5b806323b872dd116101e257806323b872dd146102d55780632d838119146102f5578063313ce5671461031557806339509351146103315780634549b0391461035157600080fd5b806306fdde031461021f578063095ea7b31461026b57806318160ddd1461029b57806320800a00146102be57600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b5060408051808201909152601181527048616368696d616e204b75726f6b616d6960781b60208201525b6040516102629190612184565b60405180910390f35b34801561027757600080fd5b5061028b6102863660046121e7565b610700565b6040519015158152602001610262565b3480156102a757600080fd5b506102b0610717565b604051908152602001610262565b3480156102ca57600080fd5b506102d3610738565b005b3480156102e157600080fd5b5061028b6102f0366004612213565b610776565b34801561030157600080fd5b506102b0610310366004612254565b61082c565b34801561032157600080fd5b5060405160098152602001610262565b34801561033d57600080fd5b5061028b61034c3660046121e7565b61084a565b34801561035d57600080fd5b506102b061036c36600461226d565b610881565b34801561037d57600080fd5b50600d5461028b9060ff1681565b34801561039757600080fd5b506102d36103a63660046122a2565b61092c565b3480156103b757600080fd5b5061028b6103c63660046122a2565b6001600160a01b031660009081526007602052604090205460ff1690565b3480156103f057600080fd5b506102b06103ff3660046122a2565b610a7f565b34801561041057600080fd5b506102d3610ade565b34801561042557600080fd5b5060145460155460165461043892919083565b60408051938452602084019290925290820152606001610262565b34801561045f57600080fd5b506102d3610b14565b34801561047457600080fd5b506102b0600f5481565b34801561048a57600080fd5b50600a5461049e906001600160a01b031681565b6040516001600160a01b039091168152602001610262565b3480156104c257600080fd5b5060095461049e906001600160a01b031681565b3480156104e257600080fd5b5061028b6104f13660046122a2565b6001600160a01b031660009081526008602052604090205460ff1690565b34801561051b57600080fd5b506102d3610b7a565b34801561053057600080fd5b506000546001600160a01b031661049e565b34801561054e57600080fd5b506102b060105481565b34801561056457600080fd5b506040805180820190915260088152672420a1a424a6a0a760c11b6020820152610255565b34801561059557600080fd5b50601d54601e54601f5461043892919083565b3480156105b457600080fd5b5061028b6105c33660046121e7565b610c0c565b6102d3610ca7565b3480156105dc57600080fd5b5060025461049e906001600160a01b031681565b3480156105fc57600080fd5b5061028b61060b3660046121e7565b610f1d565b34801561061c57600080fd5b506102b0610f2a565b34801561063157600080fd5b506102b06106403660046122bf565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561067757600080fd5b5060205461049e906001600160a01b031681565b34801561069757600080fd5b506102b060115481565b3480156106ad57600080fd5b506102d36106bc3660046122a2565b610f47565b3480156106cd57600080fd5b5060175460185460195461043892919083565b3480156106ec57600080fd5b5060015461049e906001600160a01b031681565b600061070d338484610fe2565b5060015b92915050565b60006107256009600a6123e7565b61073390633b9aca006123f6565b905090565b600a5460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610772573d6000803e3d6000fd5b5050565b6000610783848484611106565b6001600160a01b03841660009081526003602090815260408083203384529091529020548281101561080d5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b610821853361081c868561240d565b610fe2565b506001949350505050565b600080610837611585565b90506108438184612420565b9392505050565b3360008181526003602090815260408083206001600160a01b0387168452909152812054909161070d91859061081c908690612442565b600061088f6009600a6123e7565b61089d90633b9aca006123f6565b8311156108ec5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610804565b8161090d57600061090384600160008060006115a8565b5191506107119050565b600061091f84600160008060006115a8565b6020015191506107119050565b6000546001600160a01b031633146109565760405162461bcd60e51b815260040161080490612455565b6001600160a01b03811660009081526008602052604090205460ff16156109bf5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610804565b6001600160a01b03811660009081526004602052604090205415610a19576001600160a01b0381166000908152600460205260409020546109ff9061082c565b6001600160a01b0382166000908152600560205260409020555b6001600160a01b03166000818152600860205260408120805460ff19166001908117909155600c805491820181559091527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70180546001600160a01b0319169091179055565b6001600160a01b03811660009081526008602052604081205460ff1615610abc57506001600160a01b031660009081526005602052604090205490565b6001600160a01b0382166000908152600460205260409020546107119061082c565b6000546001600160a01b03163314610b085760405162461bcd60e51b815260040161080490612455565b610b1260006115f1565b565b6000546001600160a01b03163314610b3e5760405162461bcd60e51b815260040161080490612455565b610b4a6009600a6123e7565b610b5890633b9aca006123f6565b600f55610b676009600a6123e7565b610b7590633b9aca006123f6565b601055565b6000546001600160a01b03163314610ba45760405162461bcd60e51b815260040161080490612455565b600d5460ff1615610bf75760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f742072652d656e61626c652074726164696e6700000000000000006044820152606401610804565b600d805461ffff191661010117905543601255565b3360009081526003602090815260408083206001600160a01b038616845290915281205482811015610c8e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610804565b610c9d338561081c868561240d565b5060019392505050565b6000546001600160a01b03163314610cd15760405162461bcd60e51b815260040161080490612455565b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d48919061248a565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610daa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dce919061248a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f919061248a565b600280546001600160a01b0319166001600160a01b03928316179055600154610e6d91309116600019610fe2565b600254610e82906001600160a01b031661092c565b6001546001600160a01b031663f305d7193430610e9e81610a7f565b600080610eb36000546001600160a01b031690565b426040518863ffffffff1660e01b8152600401610ed5969594939291906124a7565b60606040518083038185885af1158015610ef3573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f1891906124e2565b505050565b600061070d338484611106565b610f366009600a6123e7565b610f4490633b9aca006123f6565b81565b6000546001600160a01b03163314610f715760405162461bcd60e51b815260040161080490612455565b6001600160a01b038116610fd65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610804565b610fdf816115f1565b50565b6001600160a01b0383166110445760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610804565b6001600160a01b0382166110a55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610804565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661116a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610804565b6001600160a01b0382166111cc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610804565b6000811161122e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610804565b6001600160a01b03831660009081526006602052604090205460ff1615801561127057506001600160a01b03821660009081526006602052604090205460ff16155b156112bc57600d5460ff166112bc5760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f742061637469766560701b6044820152606401610804565b6002546001600160a01b0384811691161480156112e757506002546001600160a01b03838116911614155b801561130c57506001600160a01b03821660009081526006602052604090205460ff16155b156113c857600f548111156113635760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610804565b6010548161137084610a7f565b61137a9190612442565b11156113c85760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610804565b60006011546113d630610a7f565b600d54911115915062010000900460ff161580156113fb5750600d54610100900460ff165b80156114045750805b8015611411575060115482115b801561142b57506002546001600160a01b03858116911614155b801561145057506001600160a01b03841660009081526006602052604090205460ff16155b801561147557506001600160a01b03831660009081526006602052604090205460ff16155b156114be576002546001600160a01b03908116908416036114be576011546040805160608101825260175481526018546020820152601954918101919091526114be9190611641565b600d5460019060009062010000900460ff16806114f357506001600160a01b03861660009081526006602052604090205460ff165b8061151657506001600160a01b03851660009081526006602052604090205460ff165b1561152057600091505b6002546001600160a01b039081169086160361153a575060015b6002546001600160a01b0387811691161480159061156657506002546001600160a01b03868116911614155b1561157057600091505b61157d868686858561175e565b505050505050565b6000806000611592611a70565b90925090506115a18183612420565b9250505090565b6115b0612138565b6115bc86868686611c53565b90506115d28187876115cc611585565b86611db0565b6080860152606085015260408401526020830152815295945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600d805462ff00001916620100001790556020810151604082015160009161166891612442565b6116739060026123f6565b905080600003611683575061174e565b60008183604001518561169691906123f6565b6116a09190612420565b905060006116ae828661240d565b9050476116ba82611e4e565b60006116c6824761240d565b905060008660400151866116da919061240d565b6116e49083612420565b905060008760400151826116f891906123f6565b9050801561170a5761170a8682611fa0565b602088015160009061171d8460026123f6565b61172791906123f6565b9050801561174557602054611745906001600160a01b031682612042565b50505050505050505b5050600d805462ff000019169055565b6001600160a01b03851660009081526006602052604081205460ff161580156117a057506001600160a01b03851660009081526006602052604090205460ff16155b80156117ba57506013546012546117b79190612442565b43105b905060006117e0876001600160a01b031660009081526007602052604090205460ff1690565b905060006117f186868686866115a8565b6001600160a01b03891660009081526008602052604090205490915060ff1615611853576001600160a01b03881660009081526005602052604090205461183990879061240d565b6001600160a01b0389166000908152600560205260409020555b6001600160a01b03871660009081526008602052604090205460ff16156118b65760a08101516001600160a01b03881660009081526005602052604090205461189c9190612442565b6001600160a01b0388166000908152600560205260409020555b80516001600160a01b0389166000908152600460205260409020546118db919061240d565b6001600160a01b03808a16600090815260046020908152604080832094909455840151918a16815291909120546119129190612442565b6001600160a01b0388166000908152600460205260409081902091909155810151151580611944575060008160c00151115b1561195b5761195b81604001518260c00151612078565b60008160800151118061197357506000816101000151115b156119e75761198b81608001518261010001516120ad565b306001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360e001518461010001516119d59190612442565b60405190815260200160405180910390a35b6000816060015111806119fe575060008160e00151115b15611a1557611a1581606001518260e00151612123565b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360a00151604051611a5e91815260200190565b60405180910390a35050505050505050565b600e54600090819081611a856009600a6123e7565b611a9390633b9aca006123f6565b905060005b600c54811015611bf4578260046000600c8481548110611aba57611aba612510565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611b2557508160056000600c8481548110611afe57611afe612510565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611b5257600e54611b396009600a6123e7565b611b4790633b9aca006123f6565b945094505050509091565b60046000600c8381548110611b6957611b69612510565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611b98908461240d565b925060056000600c8381548110611bb157611bb1612510565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611be0908361240d565b915080611bec81612526565b915050611a98565b50611c016009600a6123e7565b611c0f90633b9aca006123f6565b600e54611c1c9190612420565b821015611c4a57600e54611c326009600a6123e7565b611c4090633b9aca006123f6565b9350935050509091565b90939092509050565b611c5b612138565b83611c6c5760a08101859052611da8565b611c9060405180606001604052806000815260200160008152602001600081525090565b838015611c9b575082155b15611cc75750604080516060810182526017548152601854602082015260195491810191909152611d16565b82611cf35750604080516060810182526014548152601554602082015260165491810191909152611d16565b5060408051606081018252601a548152601b546020820152601c54918101919091525b8051606490611d2590886123f6565b611d2f9190612420565b60c08301526020810151606490611d4690886123f6565b611d509190612420565b60e08301526040810151606490611d6790886123f6565b611d719190612420565b610100830181905260e083015160c0840151611d8d908961240d565b611d97919061240d565b611da1919061240d565b60a0830152505b949350505050565b600080808080611dc0878a6123f6565b945087611de75785611dd25784611dd5565b60005b94935060009250829150819050611e41565b868a60c00151611df791906123f6565b9250868a60e00151611e0991906123f6565b9150868a6101000151611e1c91906123f6565b90508082611e2a858861240d565b611e34919061240d565b611e3e919061240d565b93505b9550955095509550959050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611e8357611e83612510565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611edc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f00919061248a565b81600181518110611f1357611f13612510565b6001600160a01b039283166020918202929092010152600154611f399130911684610fe2565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac94790611f7290859060009086903090429060040161253f565b600060405180830381600087803b158015611f8c57600080fd5b505af115801561157d573d6000803e3d6000fd5b600154611fb89030906001600160a01b031684610fe2565b60015460095460405163f305d71960e01b81526001600160a01b039283169263f305d719928592611ff892309289926000928392169042906004016124a7565b60606040518083038185885af1158015612016573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061203b91906124e2565b5050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610f18573d6000803e3d6000fd5b81600e600082825461208a919061240d565b9091555050601d80548291906000906120a4908490612442565b90915550505050565b80601d60020160008282546120c29190612442565b90915550503060009081526008602052604090205460ff16156121045730600090815260056020526040812080548392906120fe908490612442565b90915550505b30600090815260046020526040812080548492906120a4908490612442565b80601d60010160008282546120c29190612442565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208083528351808285015260005b818110156121b157858101830151858201604001528201612195565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610fdf57600080fd5b600080604083850312156121fa57600080fd5b8235612205816121d2565b946020939093013593505050565b60008060006060848603121561222857600080fd5b8335612233816121d2565b92506020840135612243816121d2565b929592945050506040919091013590565b60006020828403121561226657600080fd5b5035919050565b6000806040838503121561228057600080fd5b823591506020830135801515811461229757600080fd5b809150509250929050565b6000602082840312156122b457600080fd5b8135610843816121d2565b600080604083850312156122d257600080fd5b82356122dd816121d2565b91506020830135612297816121d2565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561233e578160001904821115612324576123246122ed565b8085161561233157918102915b93841c9390800290612308565b509250929050565b60008261235557506001610711565b8161236257506000610711565b816001811461237857600281146123825761239e565b6001915050610711565b60ff841115612393576123936122ed565b50506001821b610711565b5060208310610133831016604e8410600b84101617156123c1575081810a610711565b6123cb8383612303565b80600019048211156123df576123df6122ed565b029392505050565b600061084360ff841683612346565b8082028115828204841417610711576107116122ed565b81810381811115610711576107116122ed565b60008261243d57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610711576107116122ed565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561249c57600080fd5b8151610843816121d2565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b6000806000606084860312156124f757600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052603260045260246000fd5b600060018201612538576125386122ed565b5060010190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561258f5784516001600160a01b03168352938301939183019160010161256a565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220c20890559cb707a33602c179e8da69d27fdbd9939a28e04180519b54a4b827a364736f6c63430008120033
Deployed Bytecode
0x6080604052600436106102135760003560e01c806385141a7711610118578063a8aa1b31116100a0578063e26bd1e41161006f578063e26bd1e41461066b578063e2f456051461068b578063f2fde38b146106a1578063f66895a3146106c1578063f887ea40146106e057600080fd5b8063a8aa1b31146105d0578063a9059cbb146105f0578063af465a2714610610578063dd62ed3e1461062557600080fd5b80638f9a55c0116100e75780638f9a55c01461054257806395d89b41146105585780639ba5e4d514610589578063a457c2d7146105a8578063a6de7013146105c857600080fd5b806385141a77146104b657806388f82020146104d65780638a8c523c1461050f5780638da5cb5b1461052457600080fd5b80634ada218b1161019b578063715018a61161016a578063715018a614610404578063728f8eea14610419578063751039fc146104535780637d1db4a5146104685780637e312c651461047e57600080fd5b80634ada218b1461037157806352390c021461038b5780635342acb4146103ab57806370a08231146103e457600080fd5b806323b872dd116101e257806323b872dd146102d55780632d838119146102f5578063313ce5671461031557806339509351146103315780634549b0391461035157600080fd5b806306fdde031461021f578063095ea7b31461026b57806318160ddd1461029b57806320800a00146102be57600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b5060408051808201909152601181527048616368696d616e204b75726f6b616d6960781b60208201525b6040516102629190612184565b60405180910390f35b34801561027757600080fd5b5061028b6102863660046121e7565b610700565b6040519015158152602001610262565b3480156102a757600080fd5b506102b0610717565b604051908152602001610262565b3480156102ca57600080fd5b506102d3610738565b005b3480156102e157600080fd5b5061028b6102f0366004612213565b610776565b34801561030157600080fd5b506102b0610310366004612254565b61082c565b34801561032157600080fd5b5060405160098152602001610262565b34801561033d57600080fd5b5061028b61034c3660046121e7565b61084a565b34801561035d57600080fd5b506102b061036c36600461226d565b610881565b34801561037d57600080fd5b50600d5461028b9060ff1681565b34801561039757600080fd5b506102d36103a63660046122a2565b61092c565b3480156103b757600080fd5b5061028b6103c63660046122a2565b6001600160a01b031660009081526007602052604090205460ff1690565b3480156103f057600080fd5b506102b06103ff3660046122a2565b610a7f565b34801561041057600080fd5b506102d3610ade565b34801561042557600080fd5b5060145460155460165461043892919083565b60408051938452602084019290925290820152606001610262565b34801561045f57600080fd5b506102d3610b14565b34801561047457600080fd5b506102b0600f5481565b34801561048a57600080fd5b50600a5461049e906001600160a01b031681565b6040516001600160a01b039091168152602001610262565b3480156104c257600080fd5b5060095461049e906001600160a01b031681565b3480156104e257600080fd5b5061028b6104f13660046122a2565b6001600160a01b031660009081526008602052604090205460ff1690565b34801561051b57600080fd5b506102d3610b7a565b34801561053057600080fd5b506000546001600160a01b031661049e565b34801561054e57600080fd5b506102b060105481565b34801561056457600080fd5b506040805180820190915260088152672420a1a424a6a0a760c11b6020820152610255565b34801561059557600080fd5b50601d54601e54601f5461043892919083565b3480156105b457600080fd5b5061028b6105c33660046121e7565b610c0c565b6102d3610ca7565b3480156105dc57600080fd5b5060025461049e906001600160a01b031681565b3480156105fc57600080fd5b5061028b61060b3660046121e7565b610f1d565b34801561061c57600080fd5b506102b0610f2a565b34801561063157600080fd5b506102b06106403660046122bf565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561067757600080fd5b5060205461049e906001600160a01b031681565b34801561069757600080fd5b506102b060115481565b3480156106ad57600080fd5b506102d36106bc3660046122a2565b610f47565b3480156106cd57600080fd5b5060175460185460195461043892919083565b3480156106ec57600080fd5b5060015461049e906001600160a01b031681565b600061070d338484610fe2565b5060015b92915050565b60006107256009600a6123e7565b61073390633b9aca006123f6565b905090565b600a5460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610772573d6000803e3d6000fd5b5050565b6000610783848484611106565b6001600160a01b03841660009081526003602090815260408083203384529091529020548281101561080d5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b610821853361081c868561240d565b610fe2565b506001949350505050565b600080610837611585565b90506108438184612420565b9392505050565b3360008181526003602090815260408083206001600160a01b0387168452909152812054909161070d91859061081c908690612442565b600061088f6009600a6123e7565b61089d90633b9aca006123f6565b8311156108ec5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610804565b8161090d57600061090384600160008060006115a8565b5191506107119050565b600061091f84600160008060006115a8565b6020015191506107119050565b6000546001600160a01b031633146109565760405162461bcd60e51b815260040161080490612455565b6001600160a01b03811660009081526008602052604090205460ff16156109bf5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610804565b6001600160a01b03811660009081526004602052604090205415610a19576001600160a01b0381166000908152600460205260409020546109ff9061082c565b6001600160a01b0382166000908152600560205260409020555b6001600160a01b03166000818152600860205260408120805460ff19166001908117909155600c805491820181559091527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70180546001600160a01b0319169091179055565b6001600160a01b03811660009081526008602052604081205460ff1615610abc57506001600160a01b031660009081526005602052604090205490565b6001600160a01b0382166000908152600460205260409020546107119061082c565b6000546001600160a01b03163314610b085760405162461bcd60e51b815260040161080490612455565b610b1260006115f1565b565b6000546001600160a01b03163314610b3e5760405162461bcd60e51b815260040161080490612455565b610b4a6009600a6123e7565b610b5890633b9aca006123f6565b600f55610b676009600a6123e7565b610b7590633b9aca006123f6565b601055565b6000546001600160a01b03163314610ba45760405162461bcd60e51b815260040161080490612455565b600d5460ff1615610bf75760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f742072652d656e61626c652074726164696e6700000000000000006044820152606401610804565b600d805461ffff191661010117905543601255565b3360009081526003602090815260408083206001600160a01b038616845290915281205482811015610c8e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610804565b610c9d338561081c868561240d565b5060019392505050565b6000546001600160a01b03163314610cd15760405162461bcd60e51b815260040161080490612455565b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d48919061248a565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610daa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dce919061248a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f919061248a565b600280546001600160a01b0319166001600160a01b03928316179055600154610e6d91309116600019610fe2565b600254610e82906001600160a01b031661092c565b6001546001600160a01b031663f305d7193430610e9e81610a7f565b600080610eb36000546001600160a01b031690565b426040518863ffffffff1660e01b8152600401610ed5969594939291906124a7565b60606040518083038185885af1158015610ef3573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f1891906124e2565b505050565b600061070d338484611106565b610f366009600a6123e7565b610f4490633b9aca006123f6565b81565b6000546001600160a01b03163314610f715760405162461bcd60e51b815260040161080490612455565b6001600160a01b038116610fd65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610804565b610fdf816115f1565b50565b6001600160a01b0383166110445760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610804565b6001600160a01b0382166110a55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610804565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661116a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610804565b6001600160a01b0382166111cc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610804565b6000811161122e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610804565b6001600160a01b03831660009081526006602052604090205460ff1615801561127057506001600160a01b03821660009081526006602052604090205460ff16155b156112bc57600d5460ff166112bc5760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f742061637469766560701b6044820152606401610804565b6002546001600160a01b0384811691161480156112e757506002546001600160a01b03838116911614155b801561130c57506001600160a01b03821660009081526006602052604090205460ff16155b156113c857600f548111156113635760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610804565b6010548161137084610a7f565b61137a9190612442565b11156113c85760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610804565b60006011546113d630610a7f565b600d54911115915062010000900460ff161580156113fb5750600d54610100900460ff165b80156114045750805b8015611411575060115482115b801561142b57506002546001600160a01b03858116911614155b801561145057506001600160a01b03841660009081526006602052604090205460ff16155b801561147557506001600160a01b03831660009081526006602052604090205460ff16155b156114be576002546001600160a01b03908116908416036114be576011546040805160608101825260175481526018546020820152601954918101919091526114be9190611641565b600d5460019060009062010000900460ff16806114f357506001600160a01b03861660009081526006602052604090205460ff165b8061151657506001600160a01b03851660009081526006602052604090205460ff165b1561152057600091505b6002546001600160a01b039081169086160361153a575060015b6002546001600160a01b0387811691161480159061156657506002546001600160a01b03868116911614155b1561157057600091505b61157d868686858561175e565b505050505050565b6000806000611592611a70565b90925090506115a18183612420565b9250505090565b6115b0612138565b6115bc86868686611c53565b90506115d28187876115cc611585565b86611db0565b6080860152606085015260408401526020830152815295945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600d805462ff00001916620100001790556020810151604082015160009161166891612442565b6116739060026123f6565b905080600003611683575061174e565b60008183604001518561169691906123f6565b6116a09190612420565b905060006116ae828661240d565b9050476116ba82611e4e565b60006116c6824761240d565b905060008660400151866116da919061240d565b6116e49083612420565b905060008760400151826116f891906123f6565b9050801561170a5761170a8682611fa0565b602088015160009061171d8460026123f6565b61172791906123f6565b9050801561174557602054611745906001600160a01b031682612042565b50505050505050505b5050600d805462ff000019169055565b6001600160a01b03851660009081526006602052604081205460ff161580156117a057506001600160a01b03851660009081526006602052604090205460ff16155b80156117ba57506013546012546117b79190612442565b43105b905060006117e0876001600160a01b031660009081526007602052604090205460ff1690565b905060006117f186868686866115a8565b6001600160a01b03891660009081526008602052604090205490915060ff1615611853576001600160a01b03881660009081526005602052604090205461183990879061240d565b6001600160a01b0389166000908152600560205260409020555b6001600160a01b03871660009081526008602052604090205460ff16156118b65760a08101516001600160a01b03881660009081526005602052604090205461189c9190612442565b6001600160a01b0388166000908152600560205260409020555b80516001600160a01b0389166000908152600460205260409020546118db919061240d565b6001600160a01b03808a16600090815260046020908152604080832094909455840151918a16815291909120546119129190612442565b6001600160a01b0388166000908152600460205260409081902091909155810151151580611944575060008160c00151115b1561195b5761195b81604001518260c00151612078565b60008160800151118061197357506000816101000151115b156119e75761198b81608001518261010001516120ad565b306001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360e001518461010001516119d59190612442565b60405190815260200160405180910390a35b6000816060015111806119fe575060008160e00151115b15611a1557611a1581606001518260e00151612123565b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360a00151604051611a5e91815260200190565b60405180910390a35050505050505050565b600e54600090819081611a856009600a6123e7565b611a9390633b9aca006123f6565b905060005b600c54811015611bf4578260046000600c8481548110611aba57611aba612510565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611b2557508160056000600c8481548110611afe57611afe612510565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611b5257600e54611b396009600a6123e7565b611b4790633b9aca006123f6565b945094505050509091565b60046000600c8381548110611b6957611b69612510565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611b98908461240d565b925060056000600c8381548110611bb157611bb1612510565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611be0908361240d565b915080611bec81612526565b915050611a98565b50611c016009600a6123e7565b611c0f90633b9aca006123f6565b600e54611c1c9190612420565b821015611c4a57600e54611c326009600a6123e7565b611c4090633b9aca006123f6565b9350935050509091565b90939092509050565b611c5b612138565b83611c6c5760a08101859052611da8565b611c9060405180606001604052806000815260200160008152602001600081525090565b838015611c9b575082155b15611cc75750604080516060810182526017548152601854602082015260195491810191909152611d16565b82611cf35750604080516060810182526014548152601554602082015260165491810191909152611d16565b5060408051606081018252601a548152601b546020820152601c54918101919091525b8051606490611d2590886123f6565b611d2f9190612420565b60c08301526020810151606490611d4690886123f6565b611d509190612420565b60e08301526040810151606490611d6790886123f6565b611d719190612420565b610100830181905260e083015160c0840151611d8d908961240d565b611d97919061240d565b611da1919061240d565b60a0830152505b949350505050565b600080808080611dc0878a6123f6565b945087611de75785611dd25784611dd5565b60005b94935060009250829150819050611e41565b868a60c00151611df791906123f6565b9250868a60e00151611e0991906123f6565b9150868a6101000151611e1c91906123f6565b90508082611e2a858861240d565b611e34919061240d565b611e3e919061240d565b93505b9550955095509550959050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611e8357611e83612510565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611edc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f00919061248a565b81600181518110611f1357611f13612510565b6001600160a01b039283166020918202929092010152600154611f399130911684610fe2565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac94790611f7290859060009086903090429060040161253f565b600060405180830381600087803b158015611f8c57600080fd5b505af115801561157d573d6000803e3d6000fd5b600154611fb89030906001600160a01b031684610fe2565b60015460095460405163f305d71960e01b81526001600160a01b039283169263f305d719928592611ff892309289926000928392169042906004016124a7565b60606040518083038185885af1158015612016573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061203b91906124e2565b5050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610f18573d6000803e3d6000fd5b81600e600082825461208a919061240d565b9091555050601d80548291906000906120a4908490612442565b90915550505050565b80601d60020160008282546120c29190612442565b90915550503060009081526008602052604090205460ff16156121045730600090815260056020526040812080548392906120fe908490612442565b90915550505b30600090815260046020526040812080548492906120a4908490612442565b80601d60010160008282546120c29190612442565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208083528351808285015260005b818110156121b157858101830151858201604001528201612195565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610fdf57600080fd5b600080604083850312156121fa57600080fd5b8235612205816121d2565b946020939093013593505050565b60008060006060848603121561222857600080fd5b8335612233816121d2565b92506020840135612243816121d2565b929592945050506040919091013590565b60006020828403121561226657600080fd5b5035919050565b6000806040838503121561228057600080fd5b823591506020830135801515811461229757600080fd5b809150509250929050565b6000602082840312156122b457600080fd5b8135610843816121d2565b600080604083850312156122d257600080fd5b82356122dd816121d2565b91506020830135612297816121d2565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561233e578160001904821115612324576123246122ed565b8085161561233157918102915b93841c9390800290612308565b509250929050565b60008261235557506001610711565b8161236257506000610711565b816001811461237857600281146123825761239e565b6001915050610711565b60ff841115612393576123936122ed565b50506001821b610711565b5060208310610133831016604e8410600b84101617156123c1575081810a610711565b6123cb8383612303565b80600019048211156123df576123df6122ed565b029392505050565b600061084360ff841683612346565b8082028115828204841417610711576107116122ed565b81810381811115610711576107116122ed565b60008261243d57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610711576107116122ed565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561249c57600080fd5b8151610843816121d2565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b6000806000606084860312156124f757600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052603260045260246000fd5b600060018201612538576125386122ed565b5060010190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561258f5784516001600160a01b03168352938301939183019160010161256a565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220c20890559cb707a33602c179e8da69d27fdbd9939a28e04180519b54a4b827a364736f6c63430008120033
Deployed Bytecode Sourcemap
3445:16395:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6339:83;;;;;;;;;;-1:-1:-1;6409:5:0;;;;;;;;;;;;-1:-1:-1;;;6409:5:0;;;;6339:83;;;;;;;:::i;:::-;;;;;;;;7423:161;;;;;;;;;;-1:-1:-1;7423:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7423:161:0;1023:187:1;6616:95:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;6616:95:0;1215:177:1;17874:159:0;;;;;;;;;;;;;:::i;:::-;;8069:448;;;;;;;;;;-1:-1:-1;8069:448:0;;;;;:::i;:::-;;:::i;10203:253::-;;;;;;;;;;-1:-1:-1;10203:253:0;;;;;:::i;:::-;;:::i;6525:83::-;;;;;;;;;;-1:-1:-1;6525:83:0;;3637:1;2185:36:1;;2173:2;2158:18;6525:83:0;2043:184:1;8525:207:0;;;;;;;;;;-1:-1:-1;8525:207:0;;;;;:::i;:::-;;:::i;9140:531::-;;;;;;;;;;-1:-1:-1;9140:531:0;;;;;:::i;:::-;;:::i;4442:26::-;;;;;;;;;;-1:-1:-1;4442:26:0;;;;;;;;10464:332;;;;;;;;;;-1:-1:-1;10464:332:0;;;;;:::i;:::-;;:::i;10804:125::-;;;;;;;;;;-1:-1:-1;10804:125:0;;;;;:::i;:::-;-1:-1:-1;;;;;10893:28:0;10869:4;10893:28;;;:19;:28;;;;;;;;;10804:125;6719:198;;;;;;;;;;-1:-1:-1;6719:198:0;;;;;:::i;:::-;;:::i;1391:94::-;;;;;;;;;;;;;:::i;5126:35::-;;;;;;;;;;-1:-1:-1;5126:35:0;;;;;;;;;;;;;;;;3032:25:1;;;3088:2;3073:18;;3066:34;;;;3116:18;;;3109:34;3020:2;3005:18;5126:35:0;2830:319:1;19200:116:0;;;;;;;;;;;;;:::i;4652:49::-;;;;;;;;;;;;;;;;4239:72;;;;;;;;;;-1:-1:-1;4239:72:0;;;;-1:-1:-1;;;;;4239:72:0;;;;;;-1:-1:-1;;;;;3318:32:1;;;3300:51;;3288:2;3273:18;4239:72:0;3154:203:1;4156:70:0;;;;;;;;;;-1:-1:-1;4156:70:0;;;;-1:-1:-1;;;;;4156:70:0;;;9852:120;;;;;;;;;;-1:-1:-1;9852:120:0;;;;;:::i;:::-;-1:-1:-1;;;;;9944:20:0;9920:4;9944:20;;;:11;:20;;;;;;;;;9852:120;9980:215;;;;;;;;;;;;;:::i;1168:87::-;;;;;;;;;;-1:-1:-1;1214:7:0;1241:6;-1:-1:-1;;;;;1241:6:0;1168:87;;4708:51;;;;;;;;;;;;;;;;6430:87;;;;;;;;;;-1:-1:-1;6502:7:0;;;;;;;;;;;;-1:-1:-1;;;6502:7:0;;;;6430:87;;5264:36;;;;;;;;;;-1:-1:-1;5264:36:0;;;;;;;;;;;;8740:392;;;;;;;;;;-1:-1:-1;8740:392:0;;;;;:::i;:::-;;:::i;7592:465::-;;;:::i;3574:19::-;;;;;;;;;;-1:-1:-1;3574:19:0;;;;-1:-1:-1;;;;;3574:19:0;;;9679:165;;;;;;;;;;-1:-1:-1;9679:165:0;;;;;:::i;:::-;;:::i;4536:53::-;;;;;;;;;;;;;:::i;6925:143::-;;;;;;;;;;-1:-1:-1;6925:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7033:18:0;;;7006:7;7033:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6925:143;5307:73;;;;;;;;;;-1:-1:-1;5307:73:0;;;;-1:-1:-1;;;;;5307:73:0;;;4766:50;;;;;;;;;;;;;;;;1493:192;;;;;;;;;;-1:-1:-1;1493:192:0;;;;;:::i;:::-;;:::i;5168:39::-;;;;;;;;;;-1:-1:-1;5168:39:0;;;;;;;;;;;;3546:21;;;;;;;;;;-1:-1:-1;3546:21:0;;;;-1:-1:-1;;;;;3546:21:0;;;7423:161;7498:4;7515:39;669:10;7538:7;7547:6;7515:8;:39::i;:::-;-1:-1:-1;7572:4:0;7423:161;;;;;:::o;6616:95::-;6669:7;4576:13;3637:1;4576:2;:13;:::i;:::-;4570:19;;:3;:19;:::i;:::-;6689:14;;6616:95;:::o;17874:159::-;17984:11;;17976:49;;17944:21;;-1:-1:-1;;;;;17984:11:0;;17976:49;;;;;17944:21;;17915:26;17976:49;17915:26;17976:49;17944:21;17984:11;17976:49;;;;;;;;;;;;;;;;;;;;;17904:129;17874:159::o;8069:448::-;8201:4;8218:36;8228:6;8236:9;8247:6;8218:9;:36::i;:::-;-1:-1:-1;;;;;8294:19:0;;8267:24;8294:19;;;:11;:19;;;;;;;;669:10;8294:33;;;;;;;;8346:26;;;;8338:79;;;;-1:-1:-1;;;8338:79:0;;5868:2:1;8338:79:0;;;5850:21:1;5907:2;5887:18;;;5880:30;5946:34;5926:18;;;5919:62;-1:-1:-1;;;5997:18:1;;;5990:38;6045:19;;8338:79:0;;;;;;;;;8428:57;8437:6;669:10;8459:25;8478:6;8459:16;:25;:::i;:::-;8428:8;:57::i;:::-;-1:-1:-1;8505:4:0;;8069:448;-1:-1:-1;;;;8069:448:0:o;10203:253::-;10270:7;10377:19;10399:10;:8;:10::i;:::-;10377:32;-1:-1:-1;10427:21:0;10377:32;10427:7;:21;:::i;:::-;10420:28;10203:253;-1:-1:-1;;;10203:253:0:o;8525:207::-;669:10;8605:4;8654:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8654:34:0;;;;;;;;;;8605:4;;8622:80;;8645:7;;8654:47;;8691:10;;8654:47;:::i;9140:531::-;9258:7;4576:13;3637:1;4576:2;:13;:::i;:::-;4570:19;;:3;:19;:::i;:::-;9291:7;:18;;9283:62;;;;-1:-1:-1;;;9283:62:0;;6762:2:1;9283:62:0;;;6744:21:1;6801:2;6781:18;;;6774:30;6840:33;6820:18;;;6813:61;6891:18;;9283:62:0;6560:355:1;9283:62:0;9361:17;9356:308;;9395:28;9426:46;9437:7;9446:4;9452:5;9459;9466;9426:10;:46::i;:::-;9494:9;;-1:-1:-1;9487:16:0;;-1:-1:-1;9487:16:0;9356:308;9536:28;9567:46;9578:7;9587:4;9593:5;9600;9607;9567:10;:46::i;:::-;9635:17;;;;-1:-1:-1;9628:24:0;;-1:-1:-1;9628:24:0;10464:332;1214:7;1241:6;-1:-1:-1;;;;;1241:6:0;669:10;1303:23;1295:68;;;;-1:-1:-1;;;1295:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10545:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;10544:21;10536:61;;;::::0;-1:-1:-1;;;10536:61:0;;7483:2:1;10536:61:0::1;::::0;::::1;7465:21:1::0;7522:2;7502:18;;;7495:30;7561:29;7541:18;;;7534:57;7608:18;;10536:61:0::1;7281:351:1::0;10536:61:0::1;-1:-1:-1::0;;;;;10612:16:0;::::1;10631:1;10612:16:::0;;;:7:::1;:16;::::0;;;;;:20;10608:109:::1;;-1:-1:-1::0;;;;;10688:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;10668:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;10649:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;10608:109:::1;-1:-1:-1::0;;;;;10727:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;10727:27:0::1;10750:4;10727:27:::0;;::::1;::::0;;;10765:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;10765:23:0::1;::::0;;::::1;::::0;;10464:332::o;6719:198::-;-1:-1:-1;;;;;6809:20:0;;6785:7;6809:20;;;:11;:20;;;;;;;;6805:49;;;-1:-1:-1;;;;;;6838:16:0;;;;;:7;:16;;;;;;;6719:198::o;6805:49::-;-1:-1:-1;;;;;6892:16:0;;;;;;:7;:16;;;;;;6872:37;;:19;:37::i;1391:94::-;1214:7;1241:6;-1:-1:-1;;;;;1241:6:0;669:10;1303:23;1295:68;;;;-1:-1:-1;;;1295:68:0;;;;;;;:::i;:::-;1456:21:::1;1474:1;1456:9;:21::i;:::-;1391:94::o:0;19200:116::-;1214:7;1241:6;-1:-1:-1;;;;;1241:6:0;669:10;1303:23;1295:68;;;;-1:-1:-1;;;1295:68:0;;;;;;;:::i;:::-;4576:13:::1;3637:1;4576:2;:13;:::i;:::-;4570:19;::::0;:3:::1;:19;:::i;:::-;19253:12;:22:::0;4576:13:::1;3637:1;4576:2;:13;:::i;:::-;4570:19;::::0;:3:::1;:19;:::i;:::-;19286:14;:22:::0;19200:116::o;9980:215::-;1214:7;1241:6;-1:-1:-1;;;;;1241:6:0;669:10;1303:23;1295:68;;;;-1:-1:-1;;;1295:68:0;;;;;;;:::i;:::-;10044:14:::1;::::0;::::1;;10043:15;10035:52;;;::::0;-1:-1:-1;;;10035:52:0;;7839:2:1;10035:52:0::1;::::0;::::1;7821:21:1::0;7878:2;7858:18;;;7851:30;7917:26;7897:18;;;7890:54;7961:18;;10035:52:0::1;7637:348:1::0;10035:52:0::1;10098:14;:21:::0;;-1:-1:-1;;10130:18:0;;;;;10175:12:::1;10159:13;:28:::0;9980:215::o;8740:392::-;669:10;8843:4;8892:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8892:34:0;;;;;;;;;;8945:35;;;;8937:85;;;;-1:-1:-1;;;8937:85:0;;8192:2:1;8937:85:0;;;8174:21:1;8231:2;8211:18;;;8204:30;8270:34;8250:18;;;8243:62;-1:-1:-1;;;8321:18:1;;;8314:35;8366:19;;8937:85:0;7990:401:1;8937:85:0;9033:67;669:10;9056:7;9065:34;9084:15;9065:16;:34;:::i;9033:67::-;-1:-1:-1;9120:4:0;;8740:392;-1:-1:-1;;;8740:392:0:o;7592:465::-;1214:7;1241:6;-1:-1:-1;;;;;1241:6:0;669:10;1303:23;1295:68;;;;-1:-1:-1;;;1295:68:0;;;;;;;:::i;:::-;7672:6:::1;;;;;;;;;-1:-1:-1::0;;;;;7672:6:0::1;-1:-1:-1::0;;;;;7672:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7663:37:0::1;;7709:4;7716:6;;;;;;;;;-1:-1:-1::0;;;;;7716:6:0::1;-1:-1:-1::0;;;;;7716:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7663:67;::::0;-1:-1:-1;;;;;;7663:67:0::1;::::0;;;;;;-1:-1:-1;;;;;8882:15:1;;;7663:67:0::1;::::0;::::1;8864:34:1::0;8934:15;;8914:18;;;8907:43;8799:18;;7663:67:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7656:4;:74:::0;;-1:-1:-1;;;;;;7656:74:0::1;-1:-1:-1::0;;;;;7656:74:0;;::::1;;::::0;;-1:-1:-1;7773:6:0;7741:59:::1;::::0;7758:4:::1;::::0;7773:6:::1;-1:-1:-1::0;;7741:8:0::1;:59::i;:::-;7829:4;::::0;7811:23:::1;::::0;-1:-1:-1;;;;;7829:4:0::1;7811:17;:23::i;:::-;7845:6;::::0;-1:-1:-1;;;;;7845:6:0::1;:22;7875:9;7908:4;7928:24;7908:4:::0;7928:9:::1;:24::i;:::-;7967:1;7984::::0;8001:7:::1;1214::::0;1241:6;-1:-1:-1;;;;;1241:6:0;;1168:87;8001:7:::1;8023:15;7845:204;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7592:465::o:0;9679:165::-;9757:4;9774:40;9784:10;9796:9;9807:6;9774:9;:40::i;4536:53::-;4576:13;3637:1;4576:2;:13;:::i;:::-;4570:19;;:3;:19;:::i;:::-;4536:53;:::o;1493:192::-;1214:7;1241:6;-1:-1:-1;;;;;1241:6:0;669:10;1303:23;1295:68;;;;-1:-1:-1;;;1295:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1582:22:0;::::1;1574:73;;;::::0;-1:-1:-1;;;1574:73:0;;10086:2:1;1574:73:0::1;::::0;::::1;10068:21:1::0;10125:2;10105:18;;;10098:30;10164:34;10144:18;;;10137:62;-1:-1:-1;;;10215:18:1;;;10208:36;10261:19;;1574:73:0::1;9884:402:1::0;1574:73:0::1;1658:19;1668:8;1658:9;:19::i;:::-;1493:192:::0;:::o;7080:335::-;-1:-1:-1;;;;;7173:19:0;;7165:68;;;;-1:-1:-1;;;7165:68:0;;10493:2:1;7165:68:0;;;10475:21:1;10532:2;10512:18;;;10505:30;10571:34;10551:18;;;10544:62;-1:-1:-1;;;10622:18:1;;;10615:34;10666:19;;7165:68:0;10291:400:1;7165:68:0;-1:-1:-1;;;;;7252:21:0;;7244:68;;;;-1:-1:-1;;;7244:68:0;;10898:2:1;7244:68:0;;;10880:21:1;10937:2;10917:18;;;10910:30;10976:34;10956:18;;;10949:62;-1:-1:-1;;;11027:18:1;;;11020:32;11069:19;;7244:68:0;10696:398:1;7244:68:0;-1:-1:-1;;;;;7323:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7375:32;;1361:25:1;;;7375:32:0;;1334:18:1;7375:32:0;;;;;;;7080:335;;;:::o;14656:1490::-;-1:-1:-1;;;;;14778:18:0;;14770:68;;;;-1:-1:-1;;;14770:68:0;;11301:2:1;14770:68:0;;;11283:21:1;11340:2;11320:18;;;11313:30;11379:34;11359:18;;;11352:62;-1:-1:-1;;;11430:18:1;;;11423:35;11475:19;;14770:68:0;11099:401:1;14770:68:0;-1:-1:-1;;;;;14857:16:0;;14849:64;;;;-1:-1:-1;;;14849:64:0;;11707:2:1;14849:64:0;;;11689:21:1;11746:2;11726:18;;;11719:30;11785:34;11765:18;;;11758:62;-1:-1:-1;;;11836:18:1;;;11829:33;11879:19;;14849:64:0;11505:399:1;14849:64:0;14941:1;14932:6;:10;14924:64;;;;-1:-1:-1;;;14924:64:0;;12111:2:1;14924:64:0;;;12093:21:1;12150:2;12130:18;;;12123:30;12189:34;12169:18;;;12162:62;-1:-1:-1;;;12240:18:1;;;12233:39;12289:19;;14924:64:0;11909:405:1;14924:64:0;-1:-1:-1;;;;;15006:20:0;;;;;;:14;:20;;;;;;;;15005:21;:44;;;;-1:-1:-1;;;;;;15031:18:0;;;;;;:14;:18;;;;;;;;15030:19;15005:44;15001:122;;;15074:14;;;;15066:45;;;;-1:-1:-1;;;15066:45:0;;12521:2:1;15066:45:0;;;12503:21:1;12560:2;12540:18;;;12533:30;-1:-1:-1;;;12579:18:1;;;12572:48;12637:18;;15066:45:0;12319:342:1;15066:45:0;15147:4;;-1:-1:-1;;;;;15139:12:0;;;15147:4;;15139:12;:35;;;;-1:-1:-1;15169:4:0;;-1:-1:-1;;;;;15155:19:0;;;15169:4;;15155:19;;15139:35;:58;;;;-1:-1:-1;;;;;;15179:18:0;;;;;;:14;:18;;;;;;;;15178:19;15139:58;15135:246;;;15233:12;;15223:6;:22;;15215:60;;;;-1:-1:-1;;;15215:60:0;;12868:2:1;15215:60:0;;;12850:21:1;12907:2;12887:18;;;12880:30;12946:27;12926:18;;;12919:55;12991:18;;15215:60:0;12666:349:1;15215:60:0;15324:14;;15314:6;15298:13;15308:2;15298:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;15290:79;;;;-1:-1:-1;;;15290:79:0;;13222:2:1;15290:79:0;;;13204:21:1;13261:2;13241:18;;;13234:30;13300:28;13280:18;;;13273:56;13346:18;;15290:79:0;13020:350:1;15290:79:0;15393:12;15436:18;;15408:24;15426:4;15408:9;:24::i;:::-;15486:8;;-1:-1:-1;;15408:46:0;;-1:-1:-1;15486:8:0;;;;;15485:9;:38;;;;-1:-1:-1;15512:11:0;;;;;;;15485:38;:63;;;;;15541:7;15485:63;:108;;;;;15575:18;;15566:6;:27;15485:108;:138;;;;-1:-1:-1;15619:4:0;;-1:-1:-1;;;;;15611:12:0;;;15619:4;;15611:12;;15485:138;:177;;;;-1:-1:-1;;;;;;15642:20:0;;;;;;:14;:20;;;;;;;;15641:21;15485:177;:214;;;;-1:-1:-1;;;;;;15681:18:0;;;;;;:14;:18;;;;;;;;15680:19;15485:214;15467:332;;;15736:4;;-1:-1:-1;;;;;15736:4:0;;;15730:10;;;;15726:61;;15757:18;;15742:45;;;;;;;;15777:9;15742:45;;;;;;;;;;;;;;;;;;;;15757:18;15742:14;:45::i;:::-;15873:8;;15824:4;;15809:12;;15873:8;;;;;;:32;;-1:-1:-1;;;;;;15885:20:0;;;;;;:14;:20;;;;;;;;15873:32;:54;;;-1:-1:-1;;;;;;15909:18:0;;;;;;:14;:18;;;;;;;;15873:54;15869:75;;;15939:5;15929:15;;15869:75;15965:4;;-1:-1:-1;;;;;15965:4:0;;;15959:10;;;;15955:29;;-1:-1:-1;15980:4:0;15955:29;16007:4;;-1:-1:-1;;;;;15999:12:0;;;16007:4;;15999:12;;;;:26;;-1:-1:-1;16021:4:0;;-1:-1:-1;;;;;16015:10:0;;;16021:4;;16015:10;;15999:26;15995:84;;;16062:5;16052:15;;15995:84;16089:49;16104:4;16110:2;16114:6;16122:7;16131:6;16089:14;:49::i;:::-;14759:1387;;;14656:1490;;;:::o;11649:161::-;11691:7;11712:15;11729;11748:19;:17;:19::i;:::-;11711:56;;-1:-1:-1;11711:56:0;-1:-1:-1;11785:17:0;11711:56;;11785:17;:::i;:::-;11778:24;;;;11649:161;:::o;14057:591::-;14231:36;;:::i;:::-;14292:51;14304:7;14313;14322:6;14330:12;14292:11;:51::i;:::-;14280:63;;14539:65;14552:9;14563:7;14572;14581:10;:8;:10::i;:::-;14593;14539:12;:65::i;:::-;14505:20;;;14354:250;14470:20;;;14354:250;14441:14;;;14354:250;14401:25;;;14354:250;;;14057:591;;;;;;;:::o;1693:173::-;1749:16;1768:6;;-1:-1:-1;;;;;1785:17:0;;;-1:-1:-1;;;;;;1785:17:0;;;;;;1818:40;;1768:6;;;;;;;1818:40;;1749:16;1818:40;1738:128;1693:173;:::o;18162:1030::-;5748:8;:15;;-1:-1:-1;;5748:15:0;;;;;18314:14:::1;::::0;::::1;::::0;18284::::1;::::0;::::1;::::0;5748:15;;18284:44:::1;::::0;::::1;:::i;:::-;18283:50;::::0;18332:1:::1;18283:50;:::i;:::-;18261:72;;18350:11;18365:1;18350:16:::0;18346:54:::1;;18382:7;;;18346:54;18412:32;18484:11;18466:4;:14;;;18448:15;:32;;;;:::i;:::-;18447:48;;;;:::i;:::-;18412:83:::0;-1:-1:-1;18506:14:0::1;18523:42;18412:83:::0;18523:15;:42:::1;:::i;:::-;18506:59:::0;-1:-1:-1;18601:21:0::1;18633:24;18506:59:::0;18633:16:::1;:24::i;:::-;18668:20;18691:38;18715:14:::0;18691:21:::1;:38;:::i;:::-;18668:61;;18740:19;18792:4;:14;;;18778:11;:28;;;;:::i;:::-;18762:45;::::0;:12;:45:::1;:::i;:::-;18740:67;;18818:29;18864:4;:14;;;18850:11;:28;;;;:::i;:::-;18818:60:::0;-1:-1:-1;18895:25:0;;18891:119:::1;;18937:61;18950:24;18976:21;18937:12;:61::i;:::-;19063:14;::::0;::::1;::::0;19022:20:::1;::::0;19045:15:::1;:11:::0;19059:1:::1;19045:15;:::i;:::-;:32;;;;:::i;:::-;19022:55:::0;-1:-1:-1;19092:16:0;;19088:97:::1;;19145:12;::::0;19125:48:::1;::::0;-1:-1:-1;;;;;19145:12:0::1;19160::::0;19125:11:::1;:48::i;:::-;18250:942;;;;;;;;5774:1;-1:-1:-1::0;;5786:8:0;:16;;-1:-1:-1;;5786:16:0;;;18162:1030::o;16154:1301::-;-1:-1:-1;;;;;16293:22:0;;16272:17;16293:22;;;:14;:22;;;;;;;;16292:23;:53;;;;-1:-1:-1;;;;;;16320:25:0;;;;;;:14;:25;;;;;;;;16319:26;16292:53;:96;;;;;16380:8;;16364:13;;:24;;;;:::i;:::-;16349:12;:39;16292:96;16272:116;;16390:14;16407:25;16425:6;-1:-1:-1;;;;;10893:28:0;10869:4;10893:28;;;:19;:28;;;;;;;;;10804:125;16407:25;16390:42;;16443:28;16474:61;16485:7;16494;16503:6;16511:12;16525:9;16474:10;:61::i;:::-;-1:-1:-1;;;;;16552:19:0;;;;;;:11;:19;;;;;;16443:92;;-1:-1:-1;16552:19:0;;16548:124;;;-1:-1:-1;;;;;16635:15:0;;;;;;:7;:15;;;;;;:25;;16653:7;;16635:25;:::i;:::-;-1:-1:-1;;;;;16617:15:0;;;;;;:7;:15;;;;;:43;16548:124;-1:-1:-1;;;;;16686:22:0;;;;;;:11;:22;;;;;;;;16682:141;;;16794:17;;;;-1:-1:-1;;;;;16773:18:0;;;;;;:7;:18;;;;;;:38;;16794:17;16773:38;:::i;:::-;-1:-1:-1;;;;;16752:18:0;;;;;;:7;:18;;;;;:59;16682:141;16871:9;;-1:-1:-1;;;;;16853:15:0;;16871:9;16853:15;;;:7;:15;;;;;;:27;;16871:9;16853:27;:::i;:::-;-1:-1:-1;;;;;16835:15:0;;;;;;;:7;:15;;;;;;;;:45;;;;16933:17;;;16912:18;;;;;;;;;;:38;;16933:17;16912:38;:::i;:::-;-1:-1:-1;;;;;16891:18:0;;;;;;:7;:18;;;;;;;:59;;;;16967:6;;;:10;;;:24;;;16990:1;16981;:6;;;:10;16967:24;16963:57;;;16993:27;17005:1;:6;;;17013:1;:6;;;16993:11;:27::i;:::-;17050:1;17035;:12;;;:16;:36;;;;17070:1;17055;:12;;;:16;17035:36;17031:257;;;17088:42;17103:1;:12;;;17117:1;:12;;;17088:14;:42::i;:::-;17210:4;-1:-1:-1;;;;;17150:126:0;17177:6;-1:-1:-1;;;;;17150:126:0;;17249:1;:12;;;17234:1;:12;;;:27;;;;:::i;:::-;17150:126;;1361:25:1;;;1349:2;1334:18;17150:126:0;;;;;;;17031:257;17317:1;17302;:12;;;:16;:36;;;;17337:1;17322;:12;;;:16;17302:36;17298:87;;;17340:45;17358:1;:12;;;17372:1;:12;;;17340:17;:45::i;:::-;17418:9;-1:-1:-1;;;;;17401:46:0;17410:6;-1:-1:-1;;;;;17401:46:0;;17429:1;:17;;;17401:46;;;;1361:25:1;;1349:2;1334:18;;1215:177;17401:46:0;;;;;;;;16261:1194;;;16154:1301;;;;;:::o;12710:564::-;12808:7;;12761;;;;;4576:13;3637:1;4576:2;:13;:::i;:::-;4570:19;;:3;:19;:::i;:::-;12826:25;;12867:9;12862:300;12886:9;:16;12882:20;;12862:300;;;12952:7;12928;:21;12936:9;12946:1;12936:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;12936:12:0;12928:21;;;;;;;;;;;;;:31;;:66;;;12987:7;12963;:21;12971:9;12981:1;12971:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;12971:12:0;12963:21;;;;;;;;;;;;;:31;12928:66;12924:114;;;13021:7;;4576:13;3637:1;4576:2;:13;:::i;:::-;4570:19;;:3;:19;:::i;:::-;13013:25;;;;;;;12710:564;;:::o;12924:114::-;13073:7;:21;13081:9;13091:1;13081:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13081:12:0;13073:21;;;;;;;;;;;;;13063:31;;:7;:31;:::i;:::-;13053:41;;13129:7;:21;13137:9;13147:1;13137:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13137:12:0;13129:21;;;;;;;;;;;;;13119:31;;:7;:31;:::i;:::-;13109:41;-1:-1:-1;12904:3:0;;;;:::i;:::-;;;;12862:300;;;-1:-1:-1;4576:13:0;3637:1;4576:2;:13;:::i;:::-;4570:19;;:3;:19;:::i;:::-;13186:7;;:17;;;;:::i;:::-;13176:7;:27;13172:58;;;13213:7;;4576:13;3637:1;4576:2;:13;:::i;:::-;4570:19;;:3;:19;:::i;:::-;13205:25;;;;;;12710:564;;:::o;13172:58::-;13249:7;;13258;;-1:-1:-1;12710:564:0;-1:-1:-1;12710:564:0:o;13286:763::-;13435:28;;:::i;:::-;13481:7;13476:91;;13505:17;;;:27;;;13547:8;;13476:91;13577:17;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;13577:17:0;13609:6;:23;;;;;13620:12;13619:13;13609:23;13605:124;;;-1:-1:-1;13634:16:0;;;;;;;;13641:9;13634:16;;;;;;;;;;;;;;;;;;13605:124;;;13671:12;13666:63;;-1:-1:-1;13685:12:0;;;;;;;;13692:5;13685:12;;;;;;;;;;;;;;;;;;13666:63;;;-1:-1:-1;13713:16:0;;;;;;;;13720:9;13713:16;;;;;;;;;;;;;;;;;;13666:63;13762:8;;13774:3;;13752:18;;:7;:18;:::i;:::-;13751:26;;;;:::i;:::-;13742:6;;;:35;13814:14;;;;13832:3;;13804:24;;:7;:24;:::i;:::-;13803:32;;;;:::i;:::-;13788:12;;;:47;13872:14;;;;13890:3;;13862:24;;:7;:24;:::i;:::-;13861:32;;;;:::i;:::-;13846:12;;;:47;;;13982:12;;;;13960:6;;;;13937:29;;:7;:29;:::i;:::-;:57;;;;:::i;:::-;:85;;;;:::i;:::-;13904:17;;;:118;-1:-1:-1;13286:763:0;;;;;;;:::o;11818:884::-;12054:15;;;;;12238:21;12248:11;12238:7;:21;:::i;:::-;12228:31;;12277:7;12272:88;;12309:10;:20;;12322:7;12309:20;;;12320:1;12309:20;12301:47;12331:7;-1:-1:-1;12340:1:0;;-1:-1:-1;12340:1:0;;-1:-1:-1;12340:1:0;;-1:-1:-1;12301:47:0;;12272:88;12388:11;12379:1;:6;;;:20;;;;:::i;:::-;12372:27;;12438:11;12423:1;:12;;;:26;;;;:::i;:::-;12410:39;;12488:11;12473:1;:12;;;:26;;;;:::i;:::-;12460:39;-1:-1:-1;12460:39:0;12584:10;12541:27;12564:4;12541:7;:27;:::i;:::-;:53;;;;:::i;:::-;:79;;;;:::i;:::-;12510:110;;11818:884;;;;;;;;;;;;:::o;19324:476::-;19414:16;;;19428:1;19414:16;;;;;;;;19390:21;;19414:16;;;;;;;;;;-1:-1:-1;19414:16:0;19390:40;;19459:4;19441;19446:1;19441:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19441:23:0;;;:7;;;;;;;;;;:23;;;;19485:6;;:13;;;-1:-1:-1;;;19485:13:0;;;;:6;;;;;:11;;:13;;;;;19441:7;;19485:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19475:4;19480:1;19475:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19475:23:0;;;:7;;;;;;;;;:23;19543:6;;19511:53;;19528:4;;19543:6;19552:11;19511:8;:53::i;:::-;19577:6;;:215;;-1:-1:-1;;;19577:215:0;;-1:-1:-1;;;;;19577:6:0;;;;:57;;:215;;19649:11;;19577:6;;19719:4;;19746;;19766:15;;19577:215;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17463:403;17576:6;;17544:53;;17561:4;;-1:-1:-1;;;;;17576:6:0;17585:11;17544:8;:53::i;:::-;17610:6;;17807:10;;17610:248;;-1:-1:-1;;;17610:248:0;;-1:-1:-1;;;;;17610:6:0;;;;:22;;17641:9;;17610:248;;17675:4;;17695:11;;17610:6;;;;17807:10;;17832:15;;17610:248;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17463:403;;:::o;18041:113::-;18122:24;;-1:-1:-1;;;;;18122:16:0;;;:24;;;;;18139:6;;18122:24;;;;18139:6;18122:16;:24;;;;;;;;;;;;;;;;;;;10937:125;11016:4;11005:7;;:15;;;;;;;:::i;:::-;;;;-1:-1:-1;;11031:11:0;:23;;11050:4;;11031:11;:15;;:23;;11050:4;;11031:23;:::i;:::-;;;;-1:-1:-1;;;;10937:125:0:o;11070:280::-;11178:10;11153:11;:21;;;:35;;;;;;;:::i;:::-;;;;-1:-1:-1;;11225:4:0;11205:26;;;;:11;:26;;;;;;;;11201:95;;;11264:4;11248:22;;;;:7;:22;;;;;:36;;11274:10;;11248:22;:36;;11274:10;;11248:36;:::i;:::-;;;;-1:-1:-1;;11201:95:0;11322:4;11306:22;;;;:7;:22;;;;;:36;;11332:10;;11306:22;:36;;11332:10;;11306:36;:::i;11358:283::-;11469:10;11444:11;:21;;;:35;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;1858:180::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;-1:-1:-1;2009:23:1;;1858:180;-1:-1:-1;1858:180:1:o;2232:341::-;2297:6;2305;2358:2;2346:9;2337:7;2333:23;2329:32;2326:52;;;2374:1;2371;2364:12;2326:52;2410:9;2397:23;2387:33;;2470:2;2459:9;2455:18;2442:32;2517:5;2510:13;2503:21;2496:5;2493:32;2483:60;;2539:1;2536;2529:12;2483:60;2562:5;2552:15;;;2232:341;;;;;:::o;2578:247::-;2637:6;2690:2;2678:9;2669:7;2665:23;2661:32;2658:52;;;2706:1;2703;2696:12;2658:52;2745:9;2732:23;2764:31;2789:5;2764:31;:::i;3362:388::-;3430:6;3438;3491:2;3479:9;3470:7;3466:23;3462:32;3459:52;;;3507:1;3504;3497:12;3459:52;3546:9;3533:23;3565:31;3590:5;3565:31;:::i;:::-;3615:5;-1:-1:-1;3672:2:1;3657:18;;3644:32;3685:33;3644:32;3685:33;:::i;3978:127::-;4039:10;4034:3;4030:20;4027:1;4020:31;4070:4;4067:1;4060:15;4094:4;4091:1;4084:15;4110:422;4199:1;4242:5;4199:1;4256:270;4277:7;4267:8;4264:21;4256:270;;;4336:4;4332:1;4328:6;4324:17;4318:4;4315:27;4312:53;;;4345:18;;:::i;:::-;4395:7;4385:8;4381:22;4378:55;;;4415:16;;;;4378:55;4494:22;;;;4454:15;;;;4256:270;;;4260:3;4110:422;;;;;:::o;4537:806::-;4586:5;4616:8;4606:80;;-1:-1:-1;4657:1:1;4671:5;;4606:80;4705:4;4695:76;;-1:-1:-1;4742:1:1;4756:5;;4695:76;4787:4;4805:1;4800:59;;;;4873:1;4868:130;;;;4780:218;;4800:59;4830:1;4821:10;;4844:5;;;4868:130;4905:3;4895:8;4892:17;4889:43;;;4912:18;;:::i;:::-;-1:-1:-1;;4968:1:1;4954:16;;4983:5;;4780:218;;5082:2;5072:8;5069:16;5063:3;5057:4;5054:13;5050:36;5044:2;5034:8;5031:16;5026:2;5020:4;5017:12;5013:35;5010:77;5007:159;;;-1:-1:-1;5119:19:1;;;5151:5;;5007:159;5198:34;5223:8;5217:4;5198:34;:::i;:::-;5268:6;5264:1;5260:6;5256:19;5247:7;5244:32;5241:58;;;5279:18;;:::i;:::-;5317:20;;4537:806;-1:-1:-1;;;4537:806:1:o;5348:140::-;5406:5;5435:47;5476:4;5466:8;5462:19;5456:4;5435:47;:::i;5493:168::-;5566:9;;;5597;;5614:15;;;5608:22;;5594:37;5584:71;;5635:18;;:::i;6075:128::-;6142:9;;;6163:11;;;6160:37;;;6177:18;;:::i;6208:217::-;6248:1;6274;6264:132;;6318:10;6313:3;6309:20;6306:1;6299:31;6353:4;6350:1;6343:15;6381:4;6378:1;6371:15;6264:132;-1:-1:-1;6410:9:1;;6208:217::o;6430:125::-;6495:9;;;6516:10;;;6513:36;;;6529:18;;:::i;6920:356::-;7122:2;7104:21;;;7141:18;;;7134:30;7200:34;7195:2;7180:18;;7173:62;7267:2;7252:18;;6920:356::o;8396:251::-;8466:6;8519:2;8507:9;8498:7;8494:23;8490:32;8487:52;;;8535:1;8532;8525:12;8487:52;8567:9;8561:16;8586:31;8611:5;8586:31;:::i;8961:607::-;-1:-1:-1;;;;;9320:15:1;;;9302:34;;9367:2;9352:18;;9345:34;;;;9410:2;9395:18;;9388:34;;;;9453:2;9438:18;;9431:34;;;;9502:15;;;9496:3;9481:19;;9474:44;9282:3;9534:19;;9527:35;;;;9251:3;9236:19;;8961:607::o;9573:306::-;9661:6;9669;9677;9730:2;9718:9;9709:7;9705:23;9701:32;9698:52;;;9746:1;9743;9736:12;9698:52;9775:9;9769:16;9759:26;;9825:2;9814:9;9810:18;9804:25;9794:35;;9869:2;9858:9;9854:18;9848:25;9838:35;;9573:306;;;;;:::o;13375:127::-;13436:10;13431:3;13427:20;13424:1;13417:31;13467:4;13464:1;13457:15;13491:4;13488:1;13481:15;13507:135;13546:3;13567:17;;;13564:43;;13587:18;;:::i;:::-;-1:-1:-1;13634:1:1;13623:13;;13507:135::o;13779:980::-;14041:4;14089:3;14078:9;14074:19;14120:6;14109:9;14102:25;14146:2;14184:6;14179:2;14168:9;14164:18;14157:34;14227:3;14222:2;14211:9;14207:18;14200:31;14251:6;14286;14280:13;14317:6;14309;14302:22;14355:3;14344:9;14340:19;14333:26;;14394:2;14386:6;14382:15;14368:29;;14415:1;14425:195;14439:6;14436:1;14433:13;14425:195;;;14504:13;;-1:-1:-1;;;;;14500:39:1;14488:52;;14595:15;;;;14560:12;;;;14536:1;14454:9;14425:195;;;-1:-1:-1;;;;;;;14676:32:1;;;;14671:2;14656:18;;14649:60;-1:-1:-1;;;14740:3:1;14725:19;14718:35;14637:3;13779:980;-1:-1:-1;;;13779:980:1:o
Swarm Source
ipfs://c20890559cb707a33602c179e8da69d27fdbd9939a28e04180519b54a4b827a3
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $2,521.35 | 0.000000000000000004 | <$0.000001 |
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.