ETH Price: $3,454.25 (-2.54%)
Gas: 3 Gwei

Contract

0x9d9E121b2d5e4ee37C6b61FCe7698a1A98f93f0E
 

Overview

ETH Balance

0.09980758 ETH

Eth Value

$344.76 (@ $3,454.25/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve201377762024-06-21 4:42:2331 days ago1718944943IN
0x9d9E121b...A98f93f0E
0 ETH0.000353977.59559191
Transfer201373862024-06-21 3:23:3531 days ago1718940215IN
0x9d9E121b...A98f93f0E
0 ETH0.000274783.01360338
Approve199444592024-05-25 4:19:2358 days ago1716610763IN
0x9d9E121b...A98f93f0E
0 ETH0.000176893.8006887
Approve195991302024-04-06 20:42:23107 days ago1712436143IN
0x9d9E121b...A98f93f0E
0 ETH0.0002542710.48163284
Approve194429332024-03-15 21:10:23129 days ago1710537023IN
0x9d9E121b...A98f93f0E
0 ETH0.0016649935.77327246
Approve192080572024-02-11 23:22:35162 days ago1707693755IN
0x9d9E121b...A98f93f0E
0 ETH0.0013201728.35
Approve191393002024-02-02 7:42:11171 days ago1706859731IN
0x9d9E121b...A98f93f0E
0 ETH0.0009323620.00660048
Approve191392022024-02-02 7:22:35171 days ago1706858555IN
0x9d9E121b...A98f93f0E
0 ETH0.0005532520.76548877
Approve191391812024-02-02 7:18:23171 days ago1706858303IN
0x9d9E121b...A98f93f0E
0 ETH0.000941320.22450139
Approve191077152024-01-28 21:28:35176 days ago1706477315IN
0x9d9E121b...A98f93f0E
0 ETH0.000424829.11590587
Approve191073912024-01-28 20:23:23176 days ago1706473403IN
0x9d9E121b...A98f93f0E
0 ETH0.0004924710.56752678
Approve191073682024-01-28 20:18:47176 days ago1706473127IN
0x9d9E121b...A98f93f0E
0 ETH0.0005779512.41764033
Approve191073522024-01-28 20:15:35176 days ago1706472935IN
0x9d9E121b...A98f93f0E
0 ETH0.0005470911.7395618
Approve191042122024-01-28 9:41:35176 days ago1706434895IN
0x9d9E121b...A98f93f0E
0 ETH0.0005785212.42985346
Approve190887212024-01-26 5:33:23178 days ago1706247203IN
0x9d9E121b...A98f93f0E
0 ETH0.000720115.4717308
Approve190728962024-01-24 0:21:59180 days ago1706055719IN
0x9d9E121b...A98f93f0E
0 ETH0.0005439711.68749604
Approve190641762024-01-22 18:55:35182 days ago1705949735IN
0x9d9E121b...A98f93f0E
0 ETH0.0008736718.77133864
Approve190562262024-01-21 15:46:47183 days ago1705852007IN
0x9d9E121b...A98f93f0E
0 ETH0.0008321717.87968637
Approve190547662024-01-21 10:53:59183 days ago1705834439IN
0x9d9E121b...A98f93f0E
0 ETH0.0005014110.77319209
Approve190477522024-01-20 11:22:59184 days ago1705749779IN
0x9d9E121b...A98f93f0E
0 ETH0.000599612.88280239
Approve190450372024-01-20 2:18:11184 days ago1705717091IN
0x9d9E121b...A98f93f0E
0 ETH0.0007044115.13480255
Approve190438832024-01-19 22:26:11185 days ago1705703171IN
0x9d9E121b...A98f93f0E
0 ETH0.0009227919.82671503
Approve190429642024-01-19 19:21:11185 days ago1705692071IN
0x9d9E121b...A98f93f0E
0 ETH0.0015510433.54117322
Approve190429572024-01-19 19:19:47185 days ago1705691987IN
0x9d9E121b...A98f93f0E
0 ETH0.0014122230.53918212
Approve190429432024-01-19 19:16:59185 days ago1705691819IN
0x9d9E121b...A98f93f0E
0 ETH0.0012670627.40024023
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
190317382024-01-18 5:43:11186 days ago1705556591
0x9d9E121b...A98f93f0E
0.09980758 ETH
188229292023-12-19 22:20:59216 days ago1703024459
0x9d9E121b...A98f93f0E
0.00680135 ETH
188229292023-12-19 22:20:59216 days ago1703024459
0x9d9E121b...A98f93f0E
0.00680135 ETH
188229042023-12-19 22:15:59216 days ago1703024159
0x9d9E121b...A98f93f0E
0.00722306 ETH
188229042023-12-19 22:15:59216 days ago1703024159
0x9d9E121b...A98f93f0E
0.00722306 ETH
188228872023-12-19 22:12:35216 days ago1703023955
0x9d9E121b...A98f93f0E
0.0081903 ETH
188228872023-12-19 22:12:35216 days ago1703023955
0x9d9E121b...A98f93f0E
0.0081903 ETH
188228322023-12-19 22:01:35216 days ago1703023295
0x9d9E121b...A98f93f0E
0.00874167 ETH
188228322023-12-19 22:01:35216 days ago1703023295
0x9d9E121b...A98f93f0E
0.00874167 ETH
188226862023-12-19 21:32:23216 days ago1703021543
0x9d9E121b...A98f93f0E
0.00963537 ETH
188226862023-12-19 21:32:23216 days ago1703021543
0x9d9E121b...A98f93f0E
0.00963537 ETH
188226242023-12-19 21:19:59216 days ago1703020799
0x9d9E121b...A98f93f0E
0.00538557 ETH
188226242023-12-19 21:19:59216 days ago1703020799
0x9d9E121b...A98f93f0E
0.00538557 ETH
188225742023-12-19 21:09:59216 days ago1703020199
0x9d9E121b...A98f93f0E
0.00495874 ETH
188225742023-12-19 21:09:59216 days ago1703020199
0x9d9E121b...A98f93f0E
0.00495874 ETH
188224972023-12-19 20:54:23216 days ago1703019263
0x9d9E121b...A98f93f0E
0.00473384 ETH
188224972023-12-19 20:54:23216 days ago1703019263
0x9d9E121b...A98f93f0E
0.00473384 ETH
188224922023-12-19 20:53:23216 days ago1703019203
0x9d9E121b...A98f93f0E
0.00535615 ETH
188224922023-12-19 20:53:23216 days ago1703019203
0x9d9E121b...A98f93f0E
0.00535615 ETH
188224772023-12-19 20:50:23216 days ago1703019023
0x9d9E121b...A98f93f0E
0.00567447 ETH
188224772023-12-19 20:50:23216 days ago1703019023
0x9d9E121b...A98f93f0E
0.00567447 ETH
188224772023-12-19 20:50:23216 days ago1703019023
0x9d9E121b...A98f93f0E
0.00601762 ETH
188224772023-12-19 20:50:23216 days ago1703019023
0x9d9E121b...A98f93f0E
0.00601762 ETH
188224602023-12-19 20:46:59216 days ago1703018819
0x9d9E121b...A98f93f0E
0.00636282 ETH
188224602023-12-19 20:46:59216 days ago1703018819
0x9d9E121b...A98f93f0E
0.00636282 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EGG

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-19
*/

// SPDX-License-Identifier: MIT


// twitetr : https://x.com/eggdogerc

// tg : https://t.me/EggDogErc20

// web : https://eggdog.info/

pragma solidity 0.8.16;

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;}}}

interface IERC20 {
    function totalSupply() 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);}

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 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,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline) external;
}

contract EGG is IERC20, Ownable {
    using SafeMath for uint256;
   string private constant _name = unicode"Egg Dog";
    string private constant _symbol = 'EGG';
    uint8 private constant _decimals = 9;
    uint256 private _totalSupply = 1000000000 * (10 ** _decimals);
    uint256 private _maxTxAmountPercent = 200; // 10000;
    uint256 private _maxTransferPercent = 200;
    uint256 private _maxWalletPercent = 200;
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) private isBot;
    IRouter router;
    address public pair;
    bool private tradingAllowed = false;
    uint256 private liquidityFee = 0;
    uint256 private marketingFee = 500;
    uint256 private developmentFee = 100;
    uint256 private burnFee = 0;
    uint256 private totalFee = 2000;
    uint256 private sellFee = 2000;
    uint256 private transferFee = 2000;
    uint256 private denominator = 10000;
    bool private swapEnabled = true;
    uint256 private swapTimes;
    bool private swapping;
    uint256 swapAmount = 1;
    uint256 private swapThreshold = ( _totalSupply * 2000 ) / 100000;
    uint256 private minTokenAmount = ( _totalSupply * 10 ) / 100000;
    modifier lockTheSwap {swapping = true; _; swapping = false;}

    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address internal constant development_receiver = 0x05A3266BB4C35bf8629d93D3F39786c3ffCd5032; 
    address internal constant marketing_receiver = 0x05A3266BB4C35bf8629d93D3F39786c3ffCd5032;
    address internal constant liquidity_receiver = 0x05A3266BB4C35bf8629d93D3F39786c3ffCd5032;

    constructor() Ownable(msg.sender) {
        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());
        router = _router;
        pair = _pair;
        isFeeExempt[address(this)] = true;
        isFeeExempt[liquidity_receiver] = true;
        isFeeExempt[marketing_receiver] = true;
        isFeeExempt[msg.sender] = 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 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) {uint size; assembly { size := extcodesize(addr) } return size > 0; }
    function setisBot(address _address, bool _enabled) external onlyOwner {isBot[_address] = _enabled;}
    function setisExempt(address _address, bool _enabled) external onlyOwner {isFeeExempt[_address] = _enabled;}
    function approve(address spender, uint256 amount) public override returns (bool) {_approve(msg.sender, spender, amount);return true;}
    function totalSupply() public view override returns (uint256) {return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));}
    function _maxWalletToken() public view returns (uint256) {return totalSupply() * _maxWalletPercent / denominator;}
    function _maxTxAmount() public view returns (uint256) {return totalSupply() * _maxTxAmountPercent / denominator;}
    function _maxTransferAmount() public view returns (uint256) {return totalSupply() * _maxTransferPercent / denominator;}

    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);
        checkMaxWallet(sender, recipient, amount); 
        swapbackCounters(sender, recipient);
        checkTxLimit(sender, recipient, amount); 
        swapBack(sender, recipient, amount);
        _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);
    }

    function setStructure(uint256 _liquidity, uint256 _marketing, uint256 _burn, uint256 _development, uint256 _total, uint256 _sell, uint256 _trans) external onlyOwner {
        liquidityFee = _liquidity;
        marketingFee = _marketing;
        burnFee = _burn;
        developmentFee = _development;
        totalFee = _total;
        sellFee = _sell;
        transferFee = _trans;
        require(totalFee <= denominator.div(1) && sellFee <= denominator.div(1), "totalFee and sellFee cannot be more than 20%");
    }

    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;
        _maxTxAmountPercent = _buy;
        _maxTransferPercent = _trans;
        _maxWalletPercent = _wallet;
        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 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 swapbackCounters(address sender, address recipient) internal {
        if(recipient == pair && !isFeeExempt[sender]){swapTimes += uint256(1);}
    }

    function checkTxLimit(address sender, address recipient, uint256 amount) internal view {
        if(sender != pair){require(amount <= _maxTransferAmount() || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded");}
        require(amount <= _maxTxAmount() || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded");
    }

    function swapAndLiquify(uint256 tokens) private lockTheSwap {
        uint256 _denominator = (liquidityFee.add(1).add(marketingFee).add(developmentFee)).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 marketingAmt = unitBalance.mul(2).mul(marketingFee);
        if(marketingAmt > 0){payable(marketing_receiver).transfer(marketingAmt);}
        uint256 remainingBalance = address(this).balance;
        if(remainingBalance > uint256(0)){payable(development_receiver).transfer(remainingBalance);}
    }

    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
        _approve(address(this), address(router), tokenAmount);
        router.addLiquidityETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            liquidity_receiver,
            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, uint256 amount) internal view returns (bool) {
        bool aboveMin = amount >= minTokenAmount;
        bool aboveThreshold = balanceOf(address(this)) >= swapThreshold;
        return !swapping && swapEnabled && tradingAllowed && aboveMin && !isFeeExempt[sender] && recipient == pair && swapTimes >= swapAmount && aboveThreshold;
    }

    function setSwapbackSettings(uint256 _swapAmount, uint256 _swapThreshold, uint256 _minTokenAmount) external onlyOwner {
        swapAmount = _swapAmount; swapThreshold = _totalSupply.mul(_swapThreshold).div(uint256(100000)); 
        minTokenAmount = _totalSupply.mul(_minTokenAmount).div(uint256(100000));
    }

    function swapBack(address sender, address recipient, uint256 amount) internal {
        if(shouldSwapBack(sender, recipient, amount)){swapAndLiquify(swapThreshold); swapTimes = uint256(0);}
    }

    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);
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"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":[],"name":"_maxTransferAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"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":[{"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":"_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":"uint256","name":"_swapAmount","type":"uint256"},{"internalType":"uint256","name":"_swapThreshold","type":"uint256"},{"internalType":"uint256","name":"_minTokenAmount","type":"uint256"}],"name":"setSwapbackSettings","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":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisExempt","outputs":[],"stateMutability":"nonpayable","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":"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":[{"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"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a62000430565b6200002290633b9aca0062000448565b600181815560c860028190556003819055600455600a805460ff60a01b191690556000600b8190556101f4600c556064600d55600e556107d0600f819055601081905560118190556127106012556013805460ff191683179055601691909155620186a091620000929162000448565b6200009e91906200046a565b601755620186a0600154600a620000b6919062000448565b620000c291906200046a565b601855348015620000d257600080fd5b50600080546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa1580156200013a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200016091906200048d565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d491906200048d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000222573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024891906200048d565b600980546001600160a01b038581166001600160a01b031992831617909255600a805492841692909116919091179055306000908152600760209081526040808320805460ff1990811660019081179092557f285cac19bfb2f4cf04374320b9287082fdb645cb39db4e41621c180d495ce61d8054821683179055338086528386208054909216831790915590546005845282852081905591519182529394507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050620004b8565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003725781600019048211156200035657620003566200031b565b808516156200036457918102915b93841c939080029062000336565b509250929050565b6000826200038b575060016200042a565b816200039a575060006200042a565b8160018114620003b35760028114620003be57620003de565b60019150506200042a565b60ff841115620003d257620003d26200031b565b50506001821b6200042a565b5060208310610133831016604e8410600b841016171562000403575081810a6200042a565b6200040f838362000331565b80600019048211156200042657620004266200031b565b0290505b92915050565b60006200044160ff8416836200037a565b9392505050565b60008160001904831182151516156200046557620004656200031b565b500290565b6000826200048857634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004a057600080fd5b81516001600160a01b03811681146200044157600080fd5b611b5580620004c86000396000f3fe6080604052600436106101445760003560e01c806348ff2b8b116100b657806395d89b411161006f57806395d89b41146103be578063a8aa1b31146103ea578063a9059cbb1461040a578063dd62ed3e1461042a578063e94dd17c14610470578063f2fde38b1461049057600080fd5b806348ff2b8b146102ec57806370a082311461030c57806378109e54146103425780637d1db4a514610357578063893d20e81461036c5780638c41180e1461039e57600080fd5b806323b872dd1161010857806323b872dd1461021c578063293230b81461023c5780632f54bf6e14610251578063313ce5671461028057806334c5d2ce1461029c5780633f4218e0146102bc57600080fd5b8063044019301461015057806306fdde0314610172578063095ea7b3146101b457806318160ddd146101e45780631f976b7e1461020757600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5061017061016b3660046117b4565b6104b0565b005b34801561017e57600080fd5b5060408051808201909152600781526645676720446f6760c81b60208201525b6040516101ab9190611800565b60405180910390f35b3480156101c057600080fd5b506101d46101cf366004611866565b61059e565b60405190151581526020016101ab565b3480156101f057600080fd5b506101f96105b5565b6040519081526020016101ab565b34801561021357600080fd5b506101f9610626565b34801561022857600080fd5b506101d4610237366004611892565b61064a565b34801561024857600080fd5b506101706106b4565b34801561025d57600080fd5b506101d461026c3660046118d3565b6000546001600160a01b0391821691161490565b34801561028c57600080fd5b50604051600981526020016101ab565b3480156102a857600080fd5b506101706102b73660046118f0565b6106f3565b3480156102c857600080fd5b506101d46102d73660046118d3565b60076020526000908152604090205460ff1681565b3480156102f857600080fd5b5061017061030736600461191c565b61083a565b34801561031857600080fd5b506101f96103273660046118d3565b6001600160a01b031660009081526005602052604090205490565b34801561034e57600080fd5b506101f961088f565b34801561036357600080fd5b506101f961089f565b34801561037857600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101ab565b3480156103aa57600080fd5b506101706103b936600461191c565b6108af565b3480156103ca57600080fd5b5060408051808201909152600381526245474760e81b602082015261019e565b3480156103f657600080fd5b50600a54610386906001600160a01b031681565b34801561041657600080fd5b506101d4610425366004611866565b610904565b34801561043657600080fd5b506101f961044536600461195a565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561047c57600080fd5b5061017061048b3660046118f0565b610911565b34801561049c57600080fd5b506101706104ab3660046118d3565b610977565b6000546001600160a01b031633146104e35760405162461bcd60e51b81526004016104da90611988565b60405180910390fd5b600b879055600c869055600e859055600d849055600f839055601082905560118190556012546105149060016109f5565b600f5411158015610534575060125461052e9060016109f5565b60105411155b6105955760405162461bcd60e51b815260206004820152602c60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526b6f7265207468616e2032302560a01b60648201526084016104da565b50505050505050565b60006105ab338484610a01565b5060015b92915050565b60056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5461dead60009081527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba54600154919261062192909161061b9190610b25565b90610b25565b905090565b60006012546003546106366105b5565b61064091906119be565b61062191906119dd565b6000610657848484610b31565b6106a984336106a485604051806060016040528060288152602001611af8602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610c57565b610a01565b5060015b9392505050565b6000546001600160a01b031633146106de5760405162461bcd60e51b81526004016104da90611988565b600a805460ff60a01b1916600160a01b179055565b6000546001600160a01b0316331461071d5760405162461bcd60e51b81526004016104da90611988565b60006127108461072b6105b5565b61073591906119be565b61073f91906119dd565b905060006127108461074f6105b5565b61075991906119be565b61076391906119dd565b90506000612710846107736105b5565b61077d91906119be565b61078791906119dd565b600287905560038690556004859055905060006107b96103e86107b360056107ad6105b5565b90610c83565b906109f5565b90508084101580156107cb5750808310155b80156107d75750808210155b6105955760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016104da565b6000546001600160a01b031633146108645760405162461bcd60e51b81526004016104da90611988565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b60006012546004546106366105b5565b60006012546002546106366105b5565b6000546001600160a01b031633146108d95760405162461bcd60e51b81526004016104da90611988565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b60006105ab338484610b31565b6000546001600160a01b0316331461093b5760405162461bcd60e51b81526004016104da90611988565b601683905560015461095690620186a0906107b39085610c83565b60175560015461096f90620186a0906107b39084610c83565b601855505050565b6000546001600160a01b031633146109a15760405162461bcd60e51b81526004016104da90611988565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b60006106ad82846119dd565b6001600160a01b038316610a635760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104da565b6001600160a01b038216610ac45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104da565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006106ad82846119ff565b610b3c838383610c8f565b610b468383610e3e565b610b51838383610ed3565b610b5b8383610fc4565b610b6683838361101b565b610b71838383611152565b6001600160a01b038316600090815260056020526040902054610b949082610b25565b6001600160a01b038416600090815260056020526040812091909155610bba8484611177565b610bc45781610bcf565b610bcf8484846111bd565b6001600160a01b038416600090815260056020526040902054909150610bf590826112ab565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c499085815260200190565b60405180910390a350505050565b60008184841115610c7b5760405162461bcd60e51b81526004016104da9190611800565b505050900390565b60006106ad82846119be565b6001600160a01b038316610cf35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104da565b6001600160a01b038216610d555760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104da565b60008111610db75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104da565b6001600160a01b038316600090815260056020526040902054811115610e395760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016104da565b505050565b6001600160a01b03821660009081526007602052604090205460ff16158015610e8057506001600160a01b03811660009081526007602052604090205460ff16155b15610ecf57600a54600160a01b900460ff16610ecf5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016104da565b5050565b6001600160a01b03831660009081526007602052604090205460ff16158015610f1557506001600160a01b03821660009081526007602052604090205460ff16155b8015610f2f5750600a546001600160a01b03838116911614155b8015610f4657506001600160a01b03821661dead14155b15610e3957610f5361088f565b6001600160a01b038316600090815260056020526040902054610f7690836112ab565b1115610e395760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016104da565b600a546001600160a01b038281169116148015610ffa57506001600160a01b03821660009081526007602052604090205460ff16155b15610ecf576001601460008282546110129190611a12565b90915550505050565b600a546001600160a01b038481169116146110c157611038610626565b8111158061105e57506001600160a01b03831660009081526007602052604090205460ff165b8061108157506001600160a01b03821660009081526007602052604090205460ff165b6110c15760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104da565b6110c961089f565b811115806110ef57506001600160a01b03831660009081526007602052604090205460ff165b8061111257506001600160a01b03821660009081526007602052604090205460ff165b610e395760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104da565b61115d8383836112b7565b15610e395761116d60175461136a565b6000601455505050565b6001600160a01b03821660009081526007602052604081205460ff161580156106ad5750506001600160a01b031660009081526007602052604090205460ff1615919050565b6000806111ca85856114f5565b11156112a45760006111ed6111df86866114f5565b6012546107ad9086906109f5565b3060009081526005602052604090205490915061120a90826112ab565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061125b9085815260200190565b60405180910390a3600e5415611292576112923061dead61128d600e546107ad601254896109f590919063ffffffff16565b610b31565b61129c8382610b25565b9150506106ad565b5092915050565b60006106ad8284611a12565b6018546017543060009081526005602052604081205460155491938510159211159060ff161580156112eb575060135460ff165b80156113005750600a54600160a01b900460ff165b80156113095750815b801561132e57506001600160a01b03861660009081526007602052604090205460ff16155b80156113475750600a546001600160a01b038681169116145b8015611357575060165460145410155b80156113605750805b9695505050505050565b6015805460ff19166001908117909155600d54600c54600b546000936113a4936002936107ad93919261139e9283916112ab565b906112ab565b905060006113c1826107b3600b5486610c8390919063ffffffff16565b905060006113cf8483610b25565b9050476113db82611596565b60006113e74783610b25565b9050600061140a611403600b5488610b2590919063ffffffff16565b83906109f5565b90506000611423600b5483610c8390919063ffffffff16565b905080156114355761143586826116f0565b600c5460009061144a906107ad856002610c83565b90508015611495576040517305a3266bb4c35bf8629d93d3f39786c3ffcd50329082156108fc029083906000818181858888f19350505050158015611493573d6000803e3d6000fd5b505b4780156114df576040517305a3266bb4c35bf8629d93d3f39786c3ffcd50329082156108fc029083906000818181858888f193505050501580156114dd573d6000803e3d6000fd5b505b50506015805460ff191690555050505050505050565b6001600160a01b03821660009081526008602052604081205460ff168061153457506001600160a01b03821660009081526008602052604090205460ff165b1561154e57601254611547906064610b25565b90506105af565b600a546001600160a01b039081169083160361156d57506010546105af565b600a546001600160a01b039081169084160361158c5750600f546105af565b5060115492915050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106115cb576115cb611a25565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611624573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116489190611a3b565b8160018151811061165b5761165b611a25565b6001600160a01b0392831660209182029290920101526009546116819130911684610a01565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906116ba908590600090869030904290600401611a58565b600060405180830381600087803b1580156116d457600080fd5b505af11580156116e8573d6000803e3d6000fd5b505050505050565b6009546117089030906001600160a01b031684610a01565b60095460405163f305d71960e01b81523060048201526024810184905260006044820181905260648201527305a3266bb4c35bf8629d93d3f39786c3ffcd503260848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015611788573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117ad9190611ac9565b5050505050565b600080600080600080600060e0888a0312156117cf57600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600060208083528351808285015260005b8181101561182d57858101830151858201604001528201611811565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461186357600080fd5b50565b6000806040838503121561187957600080fd5b82356118848161184e565b946020939093013593505050565b6000806000606084860312156118a757600080fd5b83356118b28161184e565b925060208401356118c28161184e565b929592945050506040919091013590565b6000602082840312156118e557600080fd5b81356106ad8161184e565b60008060006060848603121561190557600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561192f57600080fd5b823561193a8161184e565b91506020830135801515811461194f57600080fd5b809150509250929050565b6000806040838503121561196d57600080fd5b82356119788161184e565b9150602083013561194f8161184e565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156119d8576119d86119a8565b500290565b6000826119fa57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156105af576105af6119a8565b808201808211156105af576105af6119a8565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a4d57600080fd5b81516106ad8161184e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611aa85784516001600160a01b031683529383019391830191600101611a83565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611ade57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122052a909a1912c76fc12eb9f5cd2d4c633c9f5fb5b4d345032a5e44562fc0b8d4c64736f6c63430008100033

Deployed Bytecode

0x6080604052600436106101445760003560e01c806348ff2b8b116100b657806395d89b411161006f57806395d89b41146103be578063a8aa1b31146103ea578063a9059cbb1461040a578063dd62ed3e1461042a578063e94dd17c14610470578063f2fde38b1461049057600080fd5b806348ff2b8b146102ec57806370a082311461030c57806378109e54146103425780637d1db4a514610357578063893d20e81461036c5780638c41180e1461039e57600080fd5b806323b872dd1161010857806323b872dd1461021c578063293230b81461023c5780632f54bf6e14610251578063313ce5671461028057806334c5d2ce1461029c5780633f4218e0146102bc57600080fd5b8063044019301461015057806306fdde0314610172578063095ea7b3146101b457806318160ddd146101e45780631f976b7e1461020757600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5061017061016b3660046117b4565b6104b0565b005b34801561017e57600080fd5b5060408051808201909152600781526645676720446f6760c81b60208201525b6040516101ab9190611800565b60405180910390f35b3480156101c057600080fd5b506101d46101cf366004611866565b61059e565b60405190151581526020016101ab565b3480156101f057600080fd5b506101f96105b5565b6040519081526020016101ab565b34801561021357600080fd5b506101f9610626565b34801561022857600080fd5b506101d4610237366004611892565b61064a565b34801561024857600080fd5b506101706106b4565b34801561025d57600080fd5b506101d461026c3660046118d3565b6000546001600160a01b0391821691161490565b34801561028c57600080fd5b50604051600981526020016101ab565b3480156102a857600080fd5b506101706102b73660046118f0565b6106f3565b3480156102c857600080fd5b506101d46102d73660046118d3565b60076020526000908152604090205460ff1681565b3480156102f857600080fd5b5061017061030736600461191c565b61083a565b34801561031857600080fd5b506101f96103273660046118d3565b6001600160a01b031660009081526005602052604090205490565b34801561034e57600080fd5b506101f961088f565b34801561036357600080fd5b506101f961089f565b34801561037857600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101ab565b3480156103aa57600080fd5b506101706103b936600461191c565b6108af565b3480156103ca57600080fd5b5060408051808201909152600381526245474760e81b602082015261019e565b3480156103f657600080fd5b50600a54610386906001600160a01b031681565b34801561041657600080fd5b506101d4610425366004611866565b610904565b34801561043657600080fd5b506101f961044536600461195a565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561047c57600080fd5b5061017061048b3660046118f0565b610911565b34801561049c57600080fd5b506101706104ab3660046118d3565b610977565b6000546001600160a01b031633146104e35760405162461bcd60e51b81526004016104da90611988565b60405180910390fd5b600b879055600c869055600e859055600d849055600f839055601082905560118190556012546105149060016109f5565b600f5411158015610534575060125461052e9060016109f5565b60105411155b6105955760405162461bcd60e51b815260206004820152602c60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526b6f7265207468616e2032302560a01b60648201526084016104da565b50505050505050565b60006105ab338484610a01565b5060015b92915050565b60056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5461dead60009081527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba54600154919261062192909161061b9190610b25565b90610b25565b905090565b60006012546003546106366105b5565b61064091906119be565b61062191906119dd565b6000610657848484610b31565b6106a984336106a485604051806060016040528060288152602001611af8602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610c57565b610a01565b5060015b9392505050565b6000546001600160a01b031633146106de5760405162461bcd60e51b81526004016104da90611988565b600a805460ff60a01b1916600160a01b179055565b6000546001600160a01b0316331461071d5760405162461bcd60e51b81526004016104da90611988565b60006127108461072b6105b5565b61073591906119be565b61073f91906119dd565b905060006127108461074f6105b5565b61075991906119be565b61076391906119dd565b90506000612710846107736105b5565b61077d91906119be565b61078791906119dd565b600287905560038690556004859055905060006107b96103e86107b360056107ad6105b5565b90610c83565b906109f5565b90508084101580156107cb5750808310155b80156107d75750808210155b6105955760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016104da565b6000546001600160a01b031633146108645760405162461bcd60e51b81526004016104da90611988565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b60006012546004546106366105b5565b60006012546002546106366105b5565b6000546001600160a01b031633146108d95760405162461bcd60e51b81526004016104da90611988565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b60006105ab338484610b31565b6000546001600160a01b0316331461093b5760405162461bcd60e51b81526004016104da90611988565b601683905560015461095690620186a0906107b39085610c83565b60175560015461096f90620186a0906107b39084610c83565b601855505050565b6000546001600160a01b031633146109a15760405162461bcd60e51b81526004016104da90611988565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b60006106ad82846119dd565b6001600160a01b038316610a635760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104da565b6001600160a01b038216610ac45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104da565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006106ad82846119ff565b610b3c838383610c8f565b610b468383610e3e565b610b51838383610ed3565b610b5b8383610fc4565b610b6683838361101b565b610b71838383611152565b6001600160a01b038316600090815260056020526040902054610b949082610b25565b6001600160a01b038416600090815260056020526040812091909155610bba8484611177565b610bc45781610bcf565b610bcf8484846111bd565b6001600160a01b038416600090815260056020526040902054909150610bf590826112ab565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c499085815260200190565b60405180910390a350505050565b60008184841115610c7b5760405162461bcd60e51b81526004016104da9190611800565b505050900390565b60006106ad82846119be565b6001600160a01b038316610cf35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104da565b6001600160a01b038216610d555760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104da565b60008111610db75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104da565b6001600160a01b038316600090815260056020526040902054811115610e395760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016104da565b505050565b6001600160a01b03821660009081526007602052604090205460ff16158015610e8057506001600160a01b03811660009081526007602052604090205460ff16155b15610ecf57600a54600160a01b900460ff16610ecf5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016104da565b5050565b6001600160a01b03831660009081526007602052604090205460ff16158015610f1557506001600160a01b03821660009081526007602052604090205460ff16155b8015610f2f5750600a546001600160a01b03838116911614155b8015610f4657506001600160a01b03821661dead14155b15610e3957610f5361088f565b6001600160a01b038316600090815260056020526040902054610f7690836112ab565b1115610e395760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016104da565b600a546001600160a01b038281169116148015610ffa57506001600160a01b03821660009081526007602052604090205460ff16155b15610ecf576001601460008282546110129190611a12565b90915550505050565b600a546001600160a01b038481169116146110c157611038610626565b8111158061105e57506001600160a01b03831660009081526007602052604090205460ff165b8061108157506001600160a01b03821660009081526007602052604090205460ff165b6110c15760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104da565b6110c961089f565b811115806110ef57506001600160a01b03831660009081526007602052604090205460ff165b8061111257506001600160a01b03821660009081526007602052604090205460ff165b610e395760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104da565b61115d8383836112b7565b15610e395761116d60175461136a565b6000601455505050565b6001600160a01b03821660009081526007602052604081205460ff161580156106ad5750506001600160a01b031660009081526007602052604090205460ff1615919050565b6000806111ca85856114f5565b11156112a45760006111ed6111df86866114f5565b6012546107ad9086906109f5565b3060009081526005602052604090205490915061120a90826112ab565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061125b9085815260200190565b60405180910390a3600e5415611292576112923061dead61128d600e546107ad601254896109f590919063ffffffff16565b610b31565b61129c8382610b25565b9150506106ad565b5092915050565b60006106ad8284611a12565b6018546017543060009081526005602052604081205460155491938510159211159060ff161580156112eb575060135460ff165b80156113005750600a54600160a01b900460ff165b80156113095750815b801561132e57506001600160a01b03861660009081526007602052604090205460ff16155b80156113475750600a546001600160a01b038681169116145b8015611357575060165460145410155b80156113605750805b9695505050505050565b6015805460ff19166001908117909155600d54600c54600b546000936113a4936002936107ad93919261139e9283916112ab565b906112ab565b905060006113c1826107b3600b5486610c8390919063ffffffff16565b905060006113cf8483610b25565b9050476113db82611596565b60006113e74783610b25565b9050600061140a611403600b5488610b2590919063ffffffff16565b83906109f5565b90506000611423600b5483610c8390919063ffffffff16565b905080156114355761143586826116f0565b600c5460009061144a906107ad856002610c83565b90508015611495576040517305a3266bb4c35bf8629d93d3f39786c3ffcd50329082156108fc029083906000818181858888f19350505050158015611493573d6000803e3d6000fd5b505b4780156114df576040517305a3266bb4c35bf8629d93d3f39786c3ffcd50329082156108fc029083906000818181858888f193505050501580156114dd573d6000803e3d6000fd5b505b50506015805460ff191690555050505050505050565b6001600160a01b03821660009081526008602052604081205460ff168061153457506001600160a01b03821660009081526008602052604090205460ff165b1561154e57601254611547906064610b25565b90506105af565b600a546001600160a01b039081169083160361156d57506010546105af565b600a546001600160a01b039081169084160361158c5750600f546105af565b5060115492915050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106115cb576115cb611a25565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611624573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116489190611a3b565b8160018151811061165b5761165b611a25565b6001600160a01b0392831660209182029290920101526009546116819130911684610a01565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906116ba908590600090869030904290600401611a58565b600060405180830381600087803b1580156116d457600080fd5b505af11580156116e8573d6000803e3d6000fd5b505050505050565b6009546117089030906001600160a01b031684610a01565b60095460405163f305d71960e01b81523060048201526024810184905260006044820181905260648201527305a3266bb4c35bf8629d93d3f39786c3ffcd503260848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015611788573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117ad9190611ac9565b5050505050565b600080600080600080600060e0888a0312156117cf57600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600060208083528351808285015260005b8181101561182d57858101830151858201604001528201611811565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461186357600080fd5b50565b6000806040838503121561187957600080fd5b82356118848161184e565b946020939093013593505050565b6000806000606084860312156118a757600080fd5b83356118b28161184e565b925060208401356118c28161184e565b929592945050506040919091013590565b6000602082840312156118e557600080fd5b81356106ad8161184e565b60008060006060848603121561190557600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561192f57600080fd5b823561193a8161184e565b91506020830135801515811461194f57600080fd5b809150509250929050565b6000806040838503121561196d57600080fd5b82356119788161184e565b9150602083013561194f8161184e565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156119d8576119d86119a8565b500290565b6000826119fa57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156105af576105af6119a8565b808201808211156105af576105af6119a8565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a4d57600080fd5b81516106ad8161184e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611aa85784516001600160a01b031683529383019391830191600101611a83565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611ade57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122052a909a1912c76fc12eb9f5cd2d4c633c9f5fb5b4d345032a5e44562fc0b8d4c64736f6c63430008100033

Deployed Bytecode Sourcemap

4719:11964:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9994:527;;;;;;;;;;-1:-1:-1;9994:527:0;;;;;:::i;:::-;;:::i;:::-;;7090:67;;;;;;;;;;-1:-1:-1;7150:5:0;;;;;;;;;;;;-1:-1:-1;;;7150:5:0;;;;7090:67;;;;;;;:::i;:::-;;;;;;;;8210:133;;;;;;;;;;-1:-1:-1;8210:133:0;;;;;:::i;:::-;;:::i;:::-;;;1785:14:1;;1778:22;1760:41;;1748:2;1733:18;8210:133:0;1620:187:1;8349:132:0;;;;;;;;;;;;;:::i;:::-;;;1958:25:1;;;1946:2;1931:18;8349:132:0;1812:177:1;8726:119:0;;;;;;;;;;;;;:::i;16026:309::-;;;;;;;;;;-1:-1:-1;16026:309:0;;;;;:::i;:::-;;:::i;7313:67::-;;;;;;;;;;;;;:::i;3099:87::-;;;;;;;;;;-1:-1:-1;3099:87:0;;;;;:::i;:::-;3154:4;3179:5;-1:-1:-1;;;;;3168:16:0;;;3179:5;;3168:16;;3099:87;7240:67;;;;;;;;;;-1:-1:-1;7240:67:0;;4926:1;2849:36:1;;2837:2;2822:18;7240:67:0;2707:184:1;10529:584:0;;;;;;;;;;-1:-1:-1;10529:584:0;;;;;:::i;:::-;;:::i;5275:44::-;;;;;;;;;;-1:-1:-1;5275:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8096:108;;;;;;;;;;-1:-1:-1;8096:108:0;;;;;:::i;:::-;;:::i;7470:103::-;;;;;;;;;;-1:-1:-1;7470:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7553:18:0;7536:7;7553:18;;;:9;:18;;;;;;;7470:103;8487:114;;;;;;;;;;;;;:::i;8607:113::-;;;;;;;;;;;;;:::i;7386:78::-;;;;;;;;;;-1:-1:-1;7438:7:0;7456:5;-1:-1:-1;;;;;7456:5:0;7386:78;;;-1:-1:-1;;;;;3802:32:1;;;3784:51;;3772:2;3757:18;7386:78:0;3638:203:1;7991:99:0;;;;;;;;;;-1:-1:-1;7991:99:0;;;;;:::i;:::-;;:::i;7163:71::-;;;;;;;;;;-1:-1:-1;7225:7:0;;;;;;;;;;;;-1:-1:-1;;;7225:7:0;;;;7163:71;;5393:19;;;;;;;;;;-1:-1:-1;5393:19:0;;;;-1:-1:-1;;;;;5393:19:0;;;7579:139;;;;;;;;;;-1:-1:-1;7579:139:0;;;;;:::i;:::-;;:::i;7724:127::-;;;;;;;;;;-1:-1:-1;7724:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;7822:18:0;;;7805:7;7822:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7724:127;14463:315;;;;;;;;;;-1:-1:-1;14463:315:0;;;;;:::i;:::-;;:::i;3192:111::-;;;;;;;;;;-1:-1:-1;3192:111:0;;;;;:::i;:::-;;:::i;9994:527::-;3154:4;3179:5;-1:-1:-1;;;;;3179:5:0;3066:10;3168:16;3050:38;;;;-1:-1:-1;;;3050:38:0;;;;;;;:::i;:::-;;;;;;;;;10170:12:::1;:25:::0;;;10206:12:::1;:25:::0;;;10242:7:::1;:15:::0;;;10268:14:::1;:29:::0;;;10308:8:::1;:17:::0;;;10336:7:::1;:15:::0;;;10362:11:::1;:20:::0;;;10413:11:::1;::::0;:18:::1;::::0;-1:-1:-1;10413:15:0::1;:18::i;:::-;10401:8;;:30;;:63;;;;-1:-1:-1::0;10446:11:0::1;::::0;:18:::1;::::0;10462:1:::1;10446:15;:18::i;:::-;10435:7;;:29;;10401:63;10393:120;;;::::0;-1:-1:-1;;;10393:120:0;;5035:2:1;10393:120:0::1;::::0;::::1;5017:21:1::0;5074:2;5054:18;;;5047:30;5113:34;5093:18;;;5086:62;-1:-1:-1;;;5164:18:1;;;5157:42;5216:19;;10393:120:0::1;4833:408:1::0;10393:120:0::1;9994:527:::0;;;;;;;:::o;8210:133::-;8285:4;8292:37;8301:10;8313:7;8322:6;8292:8;:37::i;:::-;-1:-1:-1;8337:4:0;8210:133;;;;;:::o;8349:132::-;7553:9;:18;;;;6145:42;8402:7;7553:18;;;;;8419:12;;8402:7;;8419:60;;7553:18;;8419:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;8412:67;;8349:132;:::o;8726:119::-;8777:7;8832:11;;8810:19;;8794:13;:11;:13::i;:::-;:35;;;;:::i;:::-;:49;;;;:::i;16026:309::-;16124:4;16141:36;16151:6;16159:9;16170:6;16141:9;:36::i;:::-;16188:117;16197:6;16205:10;16217:87;16253:6;16217:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16217:19:0;;;;;;:11;:19;;;;;;;;16237:10;16217:31;;;;;;;;;:87;:35;:87::i;:::-;16188:8;:117::i;:::-;-1:-1:-1;16323:4:0;16026:309;;;;;;:::o;7313:67::-;3154:4;3179:5;-1:-1:-1;;;;;3179:5:0;3066:10;3168:16;3050:38;;;;-1:-1:-1;;;3050:38:0;;;;;;;:::i;:::-;7357:14:::1;:21:::0;;-1:-1:-1;;;;7357:21:0::1;-1:-1:-1::0;;;7357:21:0::1;::::0;;7313:67::o;10529:584::-;3154:4;3179:5;-1:-1:-1;;;;;3179:5:0;3066:10;3168:16;3050:38;;;;-1:-1:-1;;;3050:38:0;;;;;;;:::i;:::-;10629:13:::1;10670:5;10662:4;10646:13;:11;:13::i;:::-;:20;;;;:::i;:::-;10645:30;;;;:::i;:::-;10629:46;;10686:19;10735:5;10725:6;10709:13;:11;:13::i;:::-;:22;;;;:::i;:::-;10708:32;;;;:::i;:::-;10686:54;;10751:17;10799:5;10788:7;10772:13;:11;:13::i;:::-;:23;;;;:::i;:::-;10771:33;;;;:::i;:::-;10815:19;:26:::0;;;10852:19:::1;:28:::0;;;10891:17:::1;:27:::0;;;10751:53;-1:-1:-1;;10945:30:0::1;10970:4;10945:20;10963:1;10945:13;:11;:13::i;:::-;:17:::0;::::1;:20::i;:::-;:24:::0;::::1;:30::i;:::-;10929:46;;11003:5;10994;:14;;:38;;;;;11027:5;11012:11;:20;;10994:38;:60;;;;;11049:5;11036:9;:18;;10994:60;10986:119;;;::::0;-1:-1:-1;;;10986:119:0;;5975:2:1;10986:119:0::1;::::0;::::1;5957:21:1::0;6014:2;5994:18;;;5987:30;6053:34;6033:18;;;6026:62;-1:-1:-1;;;6104:18:1;;;6097:44;6158:19;;10986:119:0::1;5773:410:1::0;8096:108:0;3154:4;3179:5;-1:-1:-1;;;;;3179:5:0;3066:10;3168:16;3050:38;;;;-1:-1:-1;;;3050:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8170:21:0;;;::::1;;::::0;;;:11:::1;:21;::::0;;;;:32;;-1:-1:-1;;8170:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8096:108::o;8487:114::-;8535:7;8588:11;;8568:17;;8552:13;:11;:13::i;8607:113::-;8652:7;8707:11;;8685:19;;8669:13;:11;:13::i;7991:99::-;3154:4;3179:5;-1:-1:-1;;;;;3179:5:0;3066:10;3168:16;3050:38;;;;-1:-1:-1;;;3050:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8062:15:0;;;::::1;;::::0;;;:5:::1;:15;::::0;;;;:26;;-1:-1:-1;;8062:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7991:99::o;7579:139::-;7657:4;7664:40;7674:10;7686:9;7697:6;7664:9;:40::i;14463:315::-;3154:4;3179:5;-1:-1:-1;;;;;3179:5:0;3066:10;3168:16;3050:38;;;;-1:-1:-1;;;3050:38:0;;;;;;;:::i;:::-;14592:10:::1;:24:::0;;;14634:12:::1;::::0;:53:::1;::::0;14679:6:::1;::::0;14634:32:::1;::::0;14651:14;14634:16:::1;:32::i;:53::-;14618:13;:69:::0;14716:12:::1;::::0;:54:::1;::::0;14762:6:::1;::::0;14716:33:::1;::::0;14733:15;14716:16:::1;:33::i;:54::-;14699:14;:71:::0;-1:-1:-1;;;14463:315:0:o;3192:111::-;3154:4;3179:5;-1:-1:-1;;;;;3179:5:0;3066:10;3168:16;3050:38;;;;-1:-1:-1;;;3050:38:0;;;;;;;:::i;:::-;3258:5:::1;:11:::0;;-1:-1:-1;;;;;;3258:11:0::1;-1:-1:-1::0;;;;;3258:11:0;::::1;::::0;;::::1;::::0;;;3276:25:::1;::::0;3784:51:1;;;3276:25:0::1;::::0;3772:2:1;3757:18;3276:25:0::1;;;;;;;3192:111:::0;:::o;461:82::-;519:7;536:5;540:1;536;:5;:::i;16343:335::-;-1:-1:-1;;;;;16436:19:0;;16428:68;;;;-1:-1:-1;;;16428:68:0;;6606:2:1;16428:68:0;;;6588:21:1;6645:2;6625:18;;;6618:30;6684:34;6664:18;;;6657:62;-1:-1:-1;;;6735:18:1;;;6728:34;6779:19;;16428:68:0;6404:400:1;16428:68:0;-1:-1:-1;;;;;16515:21:0;;16507:68;;;;-1:-1:-1;;;16507:68:0;;7011:2:1;16507:68:0;;;6993:21:1;7050:2;7030:18;;;7023:30;7089:34;7069:18;;;7062:62;-1:-1:-1;;;7140:18:1;;;7133:32;7182:19;;16507:68:0;6809:398:1;16507:68:0;-1:-1:-1;;;;;16586:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16638:32;;1958:25:1;;;16638:32:0;;1931:18:1;16638:32:0;;;;;;;16343:335;;;:::o;285:82::-;343:7;360:5;364:1;360;:5;:::i;9300:686::-;9389:37;9400:6;9408:9;9419:6;9389:10;:37::i;:::-;9437:38;9457:6;9465:9;9437:19;:38::i;:::-;9486:41;9501:6;9509:9;9520:6;9486:14;:41::i;:::-;9539:35;9556:6;9564:9;9539:16;:35::i;:::-;9585:39;9598:6;9606:9;9617:6;9585:12;:39::i;:::-;9636:35;9645:6;9653:9;9664:6;9636:8;:35::i;:::-;-1:-1:-1;;;;;9702:17:0;;;;;;:9;:17;;;;;;:29;;9724:6;9702:21;:29::i;:::-;-1:-1:-1;;;;;9682:17:0;;;;;;:9;:17;;;;;:49;;;;9767:32;9692:6;9789:9;9767:13;:32::i;:::-;:78;;9839:6;9767:78;;;9802:34;9810:6;9818:9;9829:6;9802:7;:34::i;:::-;-1:-1:-1;;;;;9879:20:0;;;;;;:9;:20;;;;;;9742:103;;-1:-1:-1;9879:40:0;;9742:103;9879:24;:40::i;:::-;-1:-1:-1;;;;;9856:20:0;;;;;;;:9;:20;;;;;;;:63;;;;9935:43;;;;;;;;;;9963:14;1958:25:1;;1946:2;1931:18;;1812:177;9935:43:0;;;;;;;;9378:608;9300:686;;;:::o;1498:162::-;1584:7;1630:12;1622:6;;;;1614:29;;;;-1:-1:-1;;;1614:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1652:5:0;;;1498:162::o;373:82::-;431:7;448:5;452:1;448;:5;:::i;8853:439::-;-1:-1:-1;;;;;8957:20:0;;8949:70;;;;-1:-1:-1;;;8949:70:0;;7547:2:1;8949:70:0;;;7529:21:1;7586:2;7566:18;;;7559:30;7625:34;7605:18;;;7598:62;-1:-1:-1;;;7676:18:1;;;7669:35;7721:19;;8949:70:0;7345:401:1;8949:70:0;-1:-1:-1;;;;;9038:23:0;;9030:71;;;;-1:-1:-1;;;9030:71:0;;7953:2:1;9030:71:0;;;7935:21:1;7992:2;7972:18;;;7965:30;8031:34;8011:18;;;8004:62;-1:-1:-1;;;8082:18:1;;;8075:33;8125:19;;9030:71:0;7751:399:1;9030:71:0;9137:1;9120:6;:19;9112:73;;;;-1:-1:-1;;;9112:73:0;;8357:2:1;9112:73:0;;;8339:21:1;8396:2;8376:18;;;8369:30;8435:34;8415:18;;;8408:62;-1:-1:-1;;;8486:18:1;;;8479:39;8535:19;;9112:73:0;8155:405:1;9112:73:0;-1:-1:-1;;;;;7553:18:0;;7536:7;7553:18;;;:9;:18;;;;;;9204:6;:27;;9196:88;;;;-1:-1:-1;;;9196:88:0;;8767:2:1;9196:88:0;;;8749:21:1;8806:2;8786:18;;;8779:30;8845:34;8825:18;;;8818:62;-1:-1:-1;;;8896:18:1;;;8889:47;8953:19;;9196:88:0;8565:413:1;9196:88:0;8853:439;;;:::o;11121:191::-;-1:-1:-1;;;;;11214:19:0;;;;;;:11;:19;;;;;;;;11213:20;:47;;;;-1:-1:-1;;;;;;11238:22:0;;;;;;:11;:22;;;;;;;;11237:23;11213:47;11210:95;;;11270:14;;-1:-1:-1;;;11270:14:0;;;;11262:41;;;;-1:-1:-1;;;11262:41:0;;9185:2:1;11262:41:0;;;9167:21:1;9224:2;9204:18;;;9197:30;-1:-1:-1;;;9243:18:1;;;9236:44;9297:18;;11262:41:0;8983:338:1;11262:41:0;11121:191;;:::o;11324:333::-;-1:-1:-1;;;;;11428:19:0;;;;;;:11;:19;;;;;;;;11427:20;:47;;;;-1:-1:-1;;;;;;11452:22:0;;;;;;:11;:22;;;;;;;;11451:23;11427:47;:77;;;;-1:-1:-1;11499:4:0;;-1:-1:-1;;;;;11478:26:0;;;11499:4;;11478:26;;11427:77;:107;;;;-1:-1:-1;;;;;;11508:26:0;;6145:42;11508:26;;11427:107;11424:226;;;11596:17;:15;:17::i;:::-;-1:-1:-1;;;;;11559:20:0;;;;;;:9;:20;;;;;;:32;;11584:6;11559:24;:32::i;:::-;11558:55;;11550:98;;;;-1:-1:-1;;;11550:98:0;;9528:2:1;11550:98:0;;;9510:21:1;9567:2;9547:18;;;9540:30;9606:32;9586:18;;;9579:60;9656:18;;11550:98:0;9326:354:1;11665:159:0;11762:4;;-1:-1:-1;;;;;11749:17:0;;;11762:4;;11749:17;:41;;;;-1:-1:-1;;;;;;11771:19:0;;;;;;:11;:19;;;;;;;;11770:20;11749:41;11746:71;;;11813:1;11792:9;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;11665:159:0;;:::o;11832:349::-;11943:4;;-1:-1:-1;;;;;11933:14:0;;;11943:4;;11933:14;11930:130;;11967:20;:18;:20::i;:::-;11957:6;:30;;:53;;;-1:-1:-1;;;;;;11991:19:0;;;;;;:11;:19;;;;;;;;11957:53;:79;;;-1:-1:-1;;;;;;12014:22:0;;;;;;:11;:22;;;;;;;;11957:79;11949:109;;;;-1:-1:-1;;;11949:109:0;;10017:2:1;11949:109:0;;;9999:21:1;10056:2;10036:18;;;10029:30;-1:-1:-1;;;10075:18:1;;;10068:47;10132:18;;11949:109:0;9815:341:1;11949:109:0;12088:14;:12;:14::i;:::-;12078:6;:24;;:47;;;-1:-1:-1;;;;;;12106:19:0;;;;;;:11;:19;;;;;;;;12078:47;:73;;;-1:-1:-1;;;;;;12129:22:0;;;;;;:11;:22;;;;;;;;12078:73;12070:103;;;;-1:-1:-1;;;12070:103:0;;10017:2:1;12070:103:0;;;9999:21:1;10056:2;10036:18;;;10029:30;-1:-1:-1;;;10075:18:1;;;10068:47;10132:18;;12070:103:0;9815:341:1;14786:197:0;14878:41;14893:6;14901:9;14912:6;14878:14;:41::i;:::-;14875:101;;;14921:29;14936:13;;14921:14;:29::i;:::-;14972:1;14952:9;:22;14786:197;;;:::o;14991:160::-;-1:-1:-1;;;;;15097:19:0;;15072:4;15097:19;;;:11;:19;;;;;;;;15096:20;:47;;;;-1:-1:-1;;;;;;;15121:22:0;;;;;:11;:22;;;;;;;;15120:23;;14991:160;-1:-1:-1;14991:160:0:o;15472:546::-;15558:7;15614:1;15581:30;15593:6;15601:9;15581:11;:30::i;:::-;:34;15578:418;;;15627:17;15647:59;15675:30;15687:6;15695:9;15675:11;:30::i;:::-;15658:11;;15647:23;;:6;;:10;:23::i;:59::-;15762:4;15744:24;;;;:9;:24;;;;;;15627:79;;-1:-1:-1;15744:39:0;;15627:79;15744:28;:39::i;:::-;15735:4;15717:24;;;;:9;:24;;;;;;;:66;;;;15799:42;;-1:-1:-1;;;;;15799:42:0;;;;;;;15831:9;1958:25:1;;1946:2;1931:18;;1812:177;15799:42:0;;;;;;;;15855:7;;:20;15852:104;;15877:77;15895:4;6145:42;15917:36;15945:7;;15917:23;15928:11;;15917:6;:10;;:23;;;;:::i;:36::-;15877:9;:77::i;:::-;15973:21;:6;15984:9;15973:10;:21::i;:::-;15966:28;;;;;15578:418;-1:-1:-1;16004:6:0;15472:546;-1:-1:-1;;15472:546:0:o;197:82::-;255:7;272:5;276:1;272;:5;:::i;14056:399::-;14197:14;;14272:13;;14262:4;14154;7553:18;;;:9;:18;;;;;;14304:8;;14154:4;;14187:24;;;;-1:-1:-1;14244:41:0;;14304:8;;14303:9;:24;;;;-1:-1:-1;14316:11:0;;;;14303:24;:42;;;;-1:-1:-1;14331:14:0;;-1:-1:-1;;;14331:14:0;;;;14303:42;:54;;;;;14349:8;14303:54;:78;;;;-1:-1:-1;;;;;;14362:19:0;;;;;;:11;:19;;;;;;;;14361:20;14303:78;:99;;;;-1:-1:-1;14398:4:0;;-1:-1:-1;;;;;14385:17:0;;;14398:4;;14385:17;14303:99;:126;;;;;14419:10;;14406:9;;:23;;14303:126;:144;;;;;14433:14;14303:144;14296:151;14056:399;-1:-1:-1;;;;;;14056:399:0:o;12189:1066::-;6066:8;:15;;-1:-1:-1;;6066:15:0;6077:4;6066:15;;;;;;12326:14:::1;::::0;12308:12:::1;::::0;12284::::1;::::0;6066:8;;12283:66:::1;::::0;12347:1:::1;::::0;12284:57:::1;::::0;12326:14;;12284:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;12283:66::-;12260:89;;12360:32;12395:42;12424:12;12395:24;12406:12;;12395:6;:10;;:24;;;;:::i;:42::-;12360:77:::0;-1:-1:-1;12448:14:0::1;12465:36;:6:::0;12360:77;12465:10:::1;:36::i;:::-;12448:53:::0;-1:-1:-1;12537:21:0::1;12569:24;12448:53:::0;12569:16:::1;:24::i;:::-;12604:20;12627:41;:21;12653:14:::0;12627:25:::1;:41::i;:::-;12604:64;;12679:19;12700:48;12717:30;12734:12;;12717;:16;;:30;;;;:::i;:::-;12700:12:::0;;:16:::1;:48::i;:::-;12679:69;;12759:29;12791;12807:12;;12791:11;:15;;:29;;;;:::i;:::-;12759:61:::0;-1:-1:-1;12834:34:0;;12831:103:::1;;12870:61;12883:24;12909:21;12870:12;:61::i;:::-;12990:12;::::0;12944:20:::1;::::0;12967:36:::1;::::0;:18:::1;:11:::0;12983:1:::1;12967:15;:18::i;:36::-;12944:59:::0;-1:-1:-1;13017:16:0;;13014:73:::1;;13035:50;::::0;6340:42:::1;::::0;13035:50;::::1;;;::::0;13072:12;;13035:50:::1;::::0;;;13072:12;6340:42;13035:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13014:73;13124:21;13159:29:::0;;13156:92:::1;;13190:56;::::0;6243:42:::1;::::0;13190:56;::::1;;;::::0;13229:16;;13190:56:::1;::::0;;;13229:16;6243:42;13190:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13156:92;-1:-1:-1::0;;6086:8:0;:16;;-1:-1:-1;;6086:16:0;;;-1:-1:-1;;;;;;;;12189:1066:0:o;15159:305::-;-1:-1:-1;;;;;15261:13:0;;15238:7;15261:13;;;:5;:13;;;;;;;;;:33;;-1:-1:-1;;;;;;15278:16:0;;;;;;:5;:16;;;;;;;;15261:33;15258:76;;;15303:11;;:29;;15327:3;15303:15;:29::i;:::-;15296:36;;;;15258:76;15360:4;;-1:-1:-1;;;;;15360:4:0;;;15347:17;;;;15344:38;;-1:-1:-1;15373:7:0;;15366:14;;15344:38;15405:4;;-1:-1:-1;;;;;15405:4:0;;;15395:14;;;;15392:36;;-1:-1:-1;15418:8:0;;15411:15;;15392:36;-1:-1:-1;15445:11:0;;15159:305;;;;:::o;13614:434::-;13704:16;;;13718:1;13704:16;;;;;;;;13680:21;;13704:16;;;;;;;;;;-1:-1:-1;13704:16:0;13680:40;;13749:4;13731;13736:1;13731:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13731:23:0;;;:7;;;;;;;;;;:23;;;;13775:6;;:13;;;-1:-1:-1;;;13775:13:0;;;;:6;;;;;:11;;:13;;;;;13731:7;;13775:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13765:4;13770:1;13765:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13765:23:0;;;:7;;;;;;;;;:23;13831:6;;13799:53;;13816:4;;13831:6;13840:11;13799:8;:53::i;:::-;13863:6;;:177;;-1:-1:-1;;;13863:177:0;;-1:-1:-1;;;;;13863:6:0;;;;:57;;:177;;13935:11;;13863:6;;13977:4;;14004;;14024:15;;13863:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13669:379;13614:434;:::o;13263:343::-;13376:6;;13344:53;;13361:4;;-1:-1:-1;;;;;13376:6:0;13385:11;13344:8;:53::i;:::-;13408:6;;:190;;-1:-1:-1;;;13408:190:0;;13471:4;13408:190;;;12007:34:1;12057:18;;;12050:34;;;13408:6:0;12100:18:1;;;12093:34;;;12143:18;;;12136:34;6436:42:0;12186:19:1;;;12179:44;13582:15:0;12239:19:1;;;12232:35;-1:-1:-1;;;;;13408:6:0;;;;:22;;13438:9;;11941:19:1;;13408:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13263:343;;:::o;14:592:1:-;127:6;135;143;151;159;167;175;228:3;216:9;207:7;203:23;199:33;196:53;;;245:1;242;235:12;196:53;-1:-1:-1;;268:23:1;;;338:2;323:18;;310:32;;-1:-1:-1;389:2:1;374:18;;361:32;;440:2;425:18;;412:32;;-1:-1:-1;491:3:1;476:19;;463:33;;-1:-1:-1;543:3:1;528:19;;515:33;;-1:-1:-1;595:3:1;580:19;567:33;;-1:-1:-1;14:592:1;-1:-1:-1;14:592:1:o;611:548::-;723:4;752:2;781;770:9;763:21;813:6;807:13;856:6;851:2;840:9;836:18;829:34;881:1;891:140;905:6;902:1;899:13;891:140;;;1000:14;;;996:23;;990:30;966:17;;;985:2;962:26;955:66;920:10;;891:140;;;895:3;1080:1;1075:2;1066:6;1055:9;1051:22;1047:31;1040:42;1150:2;1143;1139:7;1134:2;1126:6;1122:15;1118:29;1107:9;1103:45;1099:54;1091:62;;;;611:548;;;;:::o;1164:131::-;-1:-1:-1;;;;;1239:31:1;;1229:42;;1219:70;;1285:1;1282;1275:12;1219:70;1164:131;:::o;1300:315::-;1368:6;1376;1429:2;1417:9;1408:7;1404:23;1400:32;1397:52;;;1445:1;1442;1435:12;1397:52;1484:9;1471:23;1503:31;1528:5;1503:31;:::i;:::-;1553:5;1605:2;1590:18;;;;1577:32;;-1:-1:-1;;;1300:315:1:o;1994:456::-;2071:6;2079;2087;2140:2;2128:9;2119:7;2115:23;2111:32;2108:52;;;2156:1;2153;2146:12;2108:52;2195:9;2182:23;2214:31;2239:5;2214:31;:::i;:::-;2264:5;-1:-1:-1;2321:2:1;2306:18;;2293:32;2334:33;2293:32;2334:33;:::i;:::-;1994:456;;2386:7;;-1:-1:-1;;;2440:2:1;2425:18;;;;2412:32;;1994:456::o;2455:247::-;2514:6;2567:2;2555:9;2546:7;2542:23;2538:32;2535:52;;;2583:1;2580;2573:12;2535:52;2622:9;2609:23;2641:31;2666:5;2641:31;:::i;2896:316::-;2973:6;2981;2989;3042:2;3030:9;3021:7;3017:23;3013:32;3010:52;;;3058:1;3055;3048:12;3010:52;-1:-1:-1;;3081:23:1;;;3151:2;3136:18;;3123:32;;-1:-1:-1;3202:2:1;3187:18;;;3174:32;;2896:316;-1:-1:-1;2896:316:1:o;3217:416::-;3282:6;3290;3343:2;3331:9;3322:7;3318:23;3314:32;3311:52;;;3359:1;3356;3349:12;3311:52;3398:9;3385:23;3417:31;3442:5;3417:31;:::i;:::-;3467:5;-1:-1:-1;3524:2:1;3509:18;;3496:32;3566:15;;3559:23;3547:36;;3537:64;;3597:1;3594;3587:12;3537:64;3620:7;3610:17;;;3217:416;;;;;:::o;3846:388::-;3914:6;3922;3975:2;3963:9;3954:7;3950:23;3946:32;3943:52;;;3991:1;3988;3981:12;3943:52;4030:9;4017:23;4049:31;4074:5;4049:31;:::i;:::-;4099:5;-1:-1:-1;4156:2:1;4141:18;;4128:32;4169:33;4128:32;4169:33;:::i;4499:329::-;4701:2;4683:21;;;4740:1;4720:18;;;4713:29;-1:-1:-1;;;4773:2:1;4758:18;;4751:36;4819:2;4804:18;;4499:329::o;5246:127::-;5307:10;5302:3;5298:20;5295:1;5288:31;5338:4;5335:1;5328:15;5362:4;5359:1;5352:15;5378:168;5418:7;5484:1;5480;5476:6;5472:14;5469:1;5466:21;5461:1;5454:9;5447:17;5443:45;5440:71;;;5491:18;;:::i;:::-;-1:-1:-1;5531:9:1;;5378:168::o;5551:217::-;5591:1;5617;5607:132;;5661:10;5656:3;5652:20;5649:1;5642:31;5696:4;5693:1;5686:15;5724:4;5721:1;5714:15;5607:132;-1:-1:-1;5753:9:1;;5551:217::o;7212:128::-;7279:9;;;7300:11;;;7297:37;;;7314:18;;:::i;9685:125::-;9750:9;;;9771:10;;;9768:36;;;9784:18;;:::i;10293:127::-;10354:10;10349:3;10345:20;10342:1;10335:31;10385:4;10382:1;10375:15;10409:4;10406:1;10399:15;10425:251;10495:6;10548:2;10536:9;10527:7;10523:23;10519:32;10516:52;;;10564:1;10561;10554:12;10516:52;10596:9;10590:16;10615:31;10640:5;10615:31;:::i;10681:980::-;10943:4;10991:3;10980:9;10976:19;11022:6;11011:9;11004:25;11048:2;11086:6;11081:2;11070:9;11066:18;11059:34;11129:3;11124:2;11113:9;11109:18;11102:31;11153:6;11188;11182:13;11219:6;11211;11204:22;11257:3;11246:9;11242:19;11235:26;;11296:2;11288:6;11284:15;11270:29;;11317:1;11327:195;11341:6;11338:1;11335:13;11327:195;;;11406:13;;-1:-1:-1;;;;;11402:39:1;11390:52;;11497:15;;;;11462:12;;;;11438:1;11356:9;11327:195;;;-1:-1:-1;;;;;;;11578:32:1;;;;11573:2;11558:18;;11551:60;-1:-1:-1;;;11642:3:1;11627:19;11620:35;11539:3;10681:980;-1:-1:-1;;;10681:980:1:o;12278:306::-;12366:6;12374;12382;12435:2;12423:9;12414:7;12410:23;12406:32;12403:52;;;12451:1;12448;12441:12;12403:52;12480:9;12474:16;12464:26;;12530:2;12519:9;12515:18;12509:25;12499:35;;12574:2;12563:9;12559:18;12553:25;12543:35;;12278:306;;;;;:::o

Swarm Source

ipfs://52a909a1912c76fc12eb9f5cd2d4c633c9f5fb5b4d345032a5e44562fc0b8d4c

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.