ETH Price: $2,405.74 (-0.67%)
Gas: 1.56 Gwei

Contract

0xeaea341c5027c498605b9406F049C7D37cabEaea
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve157490542022-10-14 21:32:11700 days ago1665783131IN
0xeaea341c...37cabEaea
0 ETH0.0003851915.87
Set Max Tx And W...157418962022-10-13 21:33:23701 days ago1665696803IN
0xeaea341c...37cabEaea
0 ETH0.0006104517.8416644
Set Tax157418882022-10-13 21:31:47701 days ago1665696707IN
0xeaea341c...37cabEaea
0 ETH0.0007331818.24978964
Set Min Tokens T...157418092022-10-13 21:15:35701 days ago1665695735IN
0xeaea341c...37cabEaea
0 ETH0.0005288617.75594631
Manual Sell157417982022-10-13 21:13:23701 days ago1665695603IN
0xeaea341c...37cabEaea
0 ETH0.0023961516.80686534
Manual Sell157416482022-10-13 20:42:59701 days ago1665693779IN
0xeaea341c...37cabEaea
0 ETH0.0004217119.16883154
Set Min Tokens T...157416232022-10-13 20:37:59701 days ago1665693479IN
0xeaea341c...37cabEaea
0 ETH0.0005980220.0699222
Set Max Tx And W...157341732022-10-12 19:39:59702 days ago1665603599IN
0xeaea341c...37cabEaea
0 ETH0.0005643116.50475399
Approve157236802022-10-11 8:29:35704 days ago1665476975IN
0xeaea341c...37cabEaea
0 ETH0.00057523.69008234
Approve156912622022-10-06 19:51:23708 days ago1665085883IN
0xeaea341c...37cabEaea
0 ETH0.0009551220.51557311
Approve156793872022-10-05 4:01:11710 days ago1664942471IN
0xeaea341c...37cabEaea
0 ETH0.000240279.01405302
Approve156793872022-10-05 4:01:11710 days ago1664942471IN
0xeaea341c...37cabEaea
0 ETH0.000229838.62241896
Approve156793872022-10-05 4:01:11710 days ago1664942471IN
0xeaea341c...37cabEaea
0 ETH0.000219714.7193293
Approve156569352022-10-02 0:40:59713 days ago1664671259IN
0xeaea341c...37cabEaea
0 ETH0.00023455.03703045
Approve156548972022-10-01 17:48:59714 days ago1664646539IN
0xeaea341c...37cabEaea
0 ETH0.000331957.13015454
Approve156511242022-10-01 5:08:47714 days ago1664600927IN
0xeaea341c...37cabEaea
0 ETH0.000444199.54105796
Approve156484302022-09-30 20:06:11714 days ago1664568371IN
0xeaea341c...37cabEaea
0 ETH0.0010806523.21191194
Approve156473662022-09-30 16:32:35715 days ago1664555555IN
0xeaea341c...37cabEaea
0 ETH0.0010453439.21618728
Approve156473582022-09-30 16:30:47715 days ago1664555447IN
0xeaea341c...37cabEaea
0 ETH0.0017306837.17435896
Approve156472632022-09-30 16:11:47715 days ago1664554307IN
0xeaea341c...37cabEaea
0 ETH0.0007436530.63836133
Approve156472602022-09-30 16:11:11715 days ago1664554271IN
0xeaea341c...37cabEaea
0 ETH0.001474631.67375366
Approve156472112022-09-30 16:01:23715 days ago1664553683IN
0xeaea341c...37cabEaea
0 ETH0.0020335443.67957016
Approve156472062022-09-30 16:00:23715 days ago1664553623IN
0xeaea341c...37cabEaea
0 ETH0.0019813842.55910195
Approve156472042022-09-30 15:59:59715 days ago1664553599IN
0xeaea341c...37cabEaea
0 ETH0.001753537.66444845
Approve156472042022-09-30 15:59:59715 days ago1664553599IN
0xeaea341c...37cabEaea
0 ETH0.0020095543.1642161
View all transactions

Latest 13 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
157417982022-10-13 21:13:23701 days ago1665695603
0xeaea341c...37cabEaea
0.00018759 ETH
157417982022-10-13 21:13:23701 days ago1665695603
0xeaea341c...37cabEaea
0.00018759 ETH
156893852022-10-06 13:33:47709 days ago1665063227
0xeaea341c...37cabEaea
0.01599203 ETH
156893852022-10-06 13:33:47709 days ago1665063227
0xeaea341c...37cabEaea
0.01599203 ETH
156472182022-09-30 16:02:47715 days ago1664553767
0xeaea341c...37cabEaea
0.06861659 ETH
156472182022-09-30 16:02:47715 days ago1664553767
0xeaea341c...37cabEaea
0.06861659 ETH
156466152022-09-30 14:01:23715 days ago1664546483
0xeaea341c...37cabEaea
0.0244064 ETH
156466152022-09-30 14:01:23715 days ago1664546483
0xeaea341c...37cabEaea
0.0244064 ETH
156410322022-09-29 19:17:47715 days ago1664479067
0xeaea341c...37cabEaea
0.03365226 ETH
156410322022-09-29 19:17:47715 days ago1664479067
0xeaea341c...37cabEaea
0.03365226 ETH
156410312022-09-29 19:17:35715 days ago1664479055
0xeaea341c...37cabEaea
0.03365226 ETH
156409952022-09-29 19:10:23716 days ago1664478623
0xeaea341c...37cabEaea
1.35048149 ETH
156409952022-09-29 19:10:23716 days ago1664478623
0xeaea341c...37cabEaea
1.35048149 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EatCake

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-09-28
*/

/*  
 * EatCake - $EAT
 * 
 * https://t.me/eatcakeethportal
 * 
 * Written by: MrGreenCrypto
 * Co-Founder of CodeCraftrs.com
 * 
 * SPDX-License-Identifier: None
 */

pragma solidity 0.8.17;

interface IBEP20 {
    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 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);
}

interface IDEXFactory {function createPair(address tokenA, address tokenB) external returns (address pair);}
interface IDEXPair {function sync() external;}

interface IDEXRouter {
    function WETH() external pure returns (address);
    function factory() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

contract EatCake is IBEP20 {
    string constant _name = "EatCake";
    string constant _symbol = "EAT";
    uint8 constant _decimals = 9;
    uint256 _totalSupply = 100_000_000 * (10**_decimals);
    uint256 public maxWallet = _totalSupply * 25 / 1000;
    uint256 public maxTx = _totalSupply * 125 / 10000;
    
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) public limitless;

    uint256 public tax = 3;
    uint256 private liq = 1;
    uint256 private marketing = 2;
    uint256 private token = 0;
    uint256 private burn = 0;
    uint256 private taxDivisor = 100;
    uint256 private minTokensToSell = _totalSupply / 100;
    uint256 private launchTime = type(uint256).max;
    uint256 private launchBlock;

    IDEXRouter public router;
    address public constant CEO = 0xE9977B69864458776715bf8C5570df0ea09F0B57;
    address private constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address private constant ZERO = 0x0000000000000000000000000000000000000000;
    address private constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
           
    address public marketingWallet = 0xE9977B69864458776715bf8C5570df0ea09F0B57;
    address public tokenWallet = 0xE9977B69864458776715bf8C5570df0ea09F0B57;
    address public immutable pair;

    address[] private pathForSelling = new address[](2);

    modifier onlyCEO(){
        require (msg.sender == CEO, "Only the CEO can do that");
        _;
    }

    event ManualSell(uint256 tokensSold);
    event WalletsChanged(address marketingWallet, address tokenWallet);
    event MinTokensToSellSet(uint256 minTokensToSell);
    event TokenRescued(address tokenRescued, uint256 amountRescued);
    event EthRescued(uint256 balanceRescued);
    event TaxesChanged(uint256 tax, uint256 liq, uint256 marketing, uint256 token, uint256 burn, uint256 taxDivisor);
    event Launched(uint256 launchTime);
    event ExcludedAddressFromTax(address wallet);
    event UnExcludedAddressFromTax(address wallet);
    event AirdropsSent(address[] airdropWallets, uint256[] amount);
    event MarketingTaxSent();

    constructor() {
        router = IDEXRouter(0xEfF92A263d31888d860bD50809A8D171709b7b1c);
        pair = IDEXFactory(IDEXRouter(router).factory()).createPair(WETH, address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        limitless[CEO] = true;
        limitless[address(this)] = true;

        pathForSelling[0] = address(this);
        pathForSelling[1] = WETH;

        _balances[CEO] = _totalSupply;
        emit Transfer(address(0), CEO, _totalSupply);
    }

    receive() external payable {}
    function name() public pure override returns (string memory) {return _name;}
    function totalSupply() public view override returns (uint256) {return _totalSupply;}
    function decimals() public pure override returns (uint8) {return _decimals;}
    function symbol() public pure override returns (string memory) {return _symbol;}
    function balanceOf(address account) public view override returns (uint256) {return _balances[account];}
    function allowance(address holder, address spender) public view override returns (uint256) {return _allowances[holder][spender];}
    function approveMax(address spender) external returns (bool) {return approve(spender, type(uint256).max);}
    
    function approve(address spender, uint256 amount) public override returns (bool) {
        require(spender != address(0), "Can't use zero address here");
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        require(spender != address(0), "Can't use zero address here");
        _allowances[msg.sender][spender]  = allowance(msg.sender, spender) + addedValue;
        emit Approval(msg.sender, spender, _allowances[msg.sender][spender]);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
        require(spender != address(0), "Can't use zero address here");
        require(allowance(msg.sender, spender) >= subtractedValue, "Can't subtract more than current allowance");
        _allowances[msg.sender][spender]  = allowance(msg.sender, spender) - subtractedValue;
        emit Approval(msg.sender, spender, _allowances[msg.sender][spender]);
        return true;
    }
    
    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount ) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            require(_allowances[sender][msg.sender] >= amount, "Insufficient Allowance");
            _allowances[sender][msg.sender] -= amount;
            emit Approval(sender, msg.sender, _allowances[sender][msg.sender]);
        }
        return _transferFrom(sender, recipient, amount);
    }

    function manualSell() external onlyCEO {
        emit ManualSell(_balances[address(this)]);
        letTheContractSell();
    }

    function setWallets(address marketingAddress, address tokenAddress) external onlyCEO {
        require(marketingAddress != address(0) && tokenAddress != address(0), "Can't use zero addresses here");
        marketingWallet = marketingAddress;
        tokenWallet = tokenAddress;
        emit WalletsChanged(marketingWallet, tokenWallet);
    }
    
    function setMinTokensToSell(uint256 _minTokensToSell) external onlyCEO{
        require(_minTokensToSell >= 0 && _minTokensToSell <= _totalSupply / 50, "Can't set the amount to sell to higher than 2% of totalSupply");  
        minTokensToSell = _minTokensToSell;
        emit MinTokensToSellSet(minTokensToSell);
    }

    function rescueAnyToken(address tokenToRescue) external onlyCEO {
        require(tokenToRescue != address(this), "Can't rescue your own");
        emit TokenRescued(tokenToRescue, IBEP20(tokenToRescue).balanceOf(address(this)));
        IBEP20(tokenToRescue).transfer(msg.sender, IBEP20(tokenToRescue).balanceOf(address(this)));
    }

    function rescueEth() external onlyCEO {
        emit EthRescued(address(this).balance);
        payable(msg.sender).transfer(address(this).balance);
    }

    function setTax(
        uint256 newTaxDivisor,
        uint256 newLiq,
        uint256 newMarketing,
        uint256 newToken,
        uint256 newBurn
    ) external onlyCEO {
        taxDivisor = newTaxDivisor;
        liq = newLiq;
        marketing = newMarketing;
        token = newToken;
        burn = newBurn;
        tax = liq + marketing + token + burn;
        require(tax <= taxDivisor * 9 / 100, "Taxes are limited to max. 9%");
        emit TaxesChanged(tax, liq, marketing, token, burn, taxDivisor);
    }

    function setMaxTxAndWallet(uint256 _maxTx, uint256 _maxWallet) external onlyCEO {
        require(_maxTx >= _totalSupply / 100, "MaxTx can not be less than 1% of total supply");
        require(_maxWallet >= _totalSupply / 100, "MaxWallet can not be less than 1% of total supply");
        maxTx = _maxTx;
        maxWallet = _maxWallet;
    }

    function setAddressTaxStatus(address wallet, bool status) external onlyCEO {
        limitless[wallet] = status;
        if(status) emit ExcludedAddressFromTax(wallet);
        else emit UnExcludedAddressFromTax(wallet);
    }
    
    function airdropToWallets(address[] memory airdropWallets, uint256[] memory amount) external onlyCEO {
        require(launchTime == type(uint256).max, "Can only airdrop before launch");
        for (uint256 i = 0; i < airdropWallets.length; i++) {
            address wallet = airdropWallets[i];
            uint256 airdropAmount = amount[i] * (10**_decimals);
            _lowGasTransfer(CEO, wallet, airdropAmount);
        }
        emit AirdropsSent(airdropWallets, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(amount == 0) return true;
        if (limitless[sender] || limitless[recipient]) return _lowGasTransfer(sender, recipient, amount);

        require(launchTime <= block.timestamp, "Can't trade before launch");

        if (conditionsToSwapAreMet(sender)) letTheContractSell();
        amount = tax == 0 ? amount : takeTax(sender, recipient, amount);
        return _lowGasTransfer(sender, recipient, amount);
    }

    function takeTax(address sender, address recipient, uint256 amount) internal returns (uint256) {
        uint256 taxAmount = amount * tax / taxDivisor;
        if(block.timestamp < launchTime + 5 hours){
            if(recipient == pair) taxAmount = taxAmount * (2 - (block.timestamp - launchTime) / 5 hours);
            if(sender == pair && block.timestamp < launchTime + 2 minutes) {
                taxAmount = 0;
                if(amount > maxTx) {
                    uint256 specialSnipeTax = amount - maxTx;
                    taxAmount = specialSnipeTax;
                    amount = maxTx;
                }                
                taxAmount += amount * (90 - 5*(block.number - launchBlock)) / 100; 
            }
        }

        if(sender == pair) require(_balances[recipient] + amount <= maxWallet, "Please respect the maxWallet");   
        require(amount <= maxTx, "Please respect the maxTx");
        
        if(burn > 0) _lowGasTransfer(sender, DEAD, taxAmount * burn / tax);
        if(token > 0) _lowGasTransfer(sender, tokenWallet, taxAmount * token / tax);
        if(liq > 0 || marketing > 0) _lowGasTransfer(sender, address(this), taxAmount * (marketing + liq) / tax);
        return amount - taxAmount;
    }

    function conditionsToSwapAreMet(address sender) internal view returns (bool) {
        return sender != pair && balanceOf(address(this)) >= minTokensToSell;
    }

    function _lowGasTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        require(sender != address(0) && recipient != address(0), "Can't use zero addresses here");
        require(amount <= _balances[sender], "Can't transfer more than you own");
        if(amount == 0) return true;
        _balances[sender] -= amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function letTheContractSell() internal {
        if(marketing == 0 && liq == 0) return;
        uint256 tokensForMarketing = _balances[address(this)] * marketing / (marketing + liq);
        
        if(tokensForMarketing > 0)
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokensForMarketing,
            0,
            pathForSelling,
            address(this),
            block.timestamp
        );

        if(_balances[address(this)] > 0){
            _lowGasTransfer(address(this), pair, _balances[address(this)]);
            IDEXPair(pair).sync();
        }

        (bool success,) = address(marketingWallet).call{value: address(this).balance}("");
        if(success) emit MarketingTaxSent();
    }

    function launch() external onlyCEO{
        require(launchTime == type(uint256).max, "Can't call this twice");
        launchTime = block.timestamp;
        launchBlock = block.number;
        emit Launched(launchTime);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"airdropWallets","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"amount","type":"uint256[]"}],"name":"AirdropsSent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"balanceRescued","type":"uint256"}],"name":"EthRescued","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"wallet","type":"address"}],"name":"ExcludedAddressFromTax","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"launchTime","type":"uint256"}],"name":"Launched","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSold","type":"uint256"}],"name":"ManualSell","type":"event"},{"anonymous":false,"inputs":[],"name":"MarketingTaxSent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minTokensToSell","type":"uint256"}],"name":"MinTokensToSellSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tax","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"liq","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"marketing","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"token","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"burn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"taxDivisor","type":"uint256"}],"name":"TaxesChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"tokenRescued","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountRescued","type":"uint256"}],"name":"TokenRescued","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"wallet","type":"address"}],"name":"UnExcludedAddressFromTax","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"marketingWallet","type":"address"},{"indexed":false,"internalType":"address","name":"tokenWallet","type":"address"}],"name":"WalletsChanged","type":"event"},{"inputs":[],"name":"CEO","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"airdropWallets","type":"address[]"},{"internalType":"uint256[]","name":"amount","type":"uint256[]"}],"name":"airdropToWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"limitless","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","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":[{"internalType":"address","name":"tokenToRescue","type":"address"}],"name":"rescueAnyToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"setAddressTaxStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxTx","type":"uint256"},{"internalType":"uint256","name":"_maxWallet","type":"uint256"}],"name":"setMaxTxAndWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minTokensToSell","type":"uint256"}],"name":"setMinTokensToSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTaxDivisor","type":"uint256"},{"internalType":"uint256","name":"newLiq","type":"uint256"},{"internalType":"uint256","name":"newMarketing","type":"uint256"},{"internalType":"uint256","name":"newToken","type":"uint256"},{"internalType":"uint256","name":"newBurn","type":"uint256"}],"name":"setTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"marketingAddress","type":"address"},{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"setWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[{"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"},{"stateMutability":"payable","type":"receive"}]

60a0604052620000126009600a62000551565b62000022906305f5e10062000569565b6000556103e8600054601962000039919062000569565b62000045919062000583565b600155612710600054607d6200005c919062000569565b62000068919062000583565b60025560036006556001600755600260085560006009556000600a556064600b5560646000546200009a919062000583565b600c55600019600d556010805473e9977b69864458776715bf8c5570df0ea09f0b576001600160a01b031991821681179092556011805490911690911790556040805160028082526060820183529091602083019080368337505081516200010a926012925060200190620003bb565b503480156200011857600080fd5b50600f80546001600160a01b03191673eff92a263d31888d860bd50809a8d171709b7b1c9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200017e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a49190620005a6565b6040516364e329cb60e11b815273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc260048201523060248201526001600160a01b03919091169063c9c65396906044016020604051808303816000875af115801562000207573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022d9190620005a6565b6001600160a01b03908116608052306000818152600460209081526040808320600f5490951683529381528382206000199055600590527fbb6544b33f11944101a3df70de305a9b675ac4d44ad4c6c03d6e4faf4a5b1d378054600160ff1991821681179092558383529382208054909416179092556012805491929091620002ba57620002ba620005d1565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26012600181548110620003145762000314620005d1565b600091825260208083209190910180546001600160a01b0319166001600160a01b039490941693909317909255805473e9977b69864458776715bf8c5570df0ea09f0b57808352600384527f80ea88487c359a76c6caade49d8e6feefec623f230991f01f8ba4862bbbd99ef829055604051918252927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620005e7565b82805482825590600052602060002090810192821562000413579160200282015b828111156200041357825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620003dc565b506200042192915062000425565b5090565b5b8082111562000421576000815560010162000426565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004935781600019048211156200047757620004776200043c565b808516156200048557918102915b93841c939080029062000457565b509250929050565b600082620004ac575060016200054b565b81620004bb575060006200054b565b8160018114620004d45760028114620004df57620004ff565b60019150506200054b565b60ff841115620004f357620004f36200043c565b50506001821b6200054b565b5060208310610133831016604e8410600b841016171562000524575081810a6200054b565b62000530838362000452565b80600019048211156200054757620005476200043c565b0290505b92915050565b60006200056260ff8416836200049b565b9392505050565b80820281158282048414176200054b576200054b6200043c565b600082620005a157634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620005b957600080fd5b81516001600160a01b03811681146200056257600080fd5b634e487b7160e01b600052603260045260246000fd5b6080516122de6200062d600039600081816104f1015281816117750152818161179d0152818161189c0152818161192b015281816119970152611a5701526122de6000f3fe6080604052600436106101dc5760003560e01c806375f0a87411610102578063b1c9604011610095578063d3f6a15711610064578063d3f6a157146105a8578063dd62ed3e146105c8578063f887ea40146105e8578063f8b45b051461060857600080fd5b8063b1c9604014610533578063bff99c6c14610553578063c5fba32914610573578063ce31a06b1461059357600080fd5b8063a1088571116100d1578063a108857114610497578063a457c2d7146104bf578063a8aa1b31146104df578063a9059cbb1461051357600080fd5b806375f0a8741461040857806395d89b411461044057806399c8d5561461046c578063a058fec81461048257600080fd5b80632c9cdbbf1161017a5780633950935111610149578063395093511461037c578063571ac8b01461039c57806370a08231146103bc5780637437681e146103f257600080fd5b80632c9cdbbf146102f0578063303e332214610310578063313ce5671461033057806334d635d21461034c57600080fd5b806318160ddd116101b657806318160ddd146102715780632053bb6e146102905780632307b441146102b057806323b872dd146102d057600080fd5b806301339c21146101e857806306fdde03146101ff578063095ea7b31461024157600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b506101fd61061e565b005b34801561020b57600080fd5b5060408051808201909152600781526645617443616b6560c81b60208201525b6040516102389190611c04565b60405180910390f35b34801561024d57600080fd5b5061026161025c366004611c6e565b6106e4565b6040519015158152602001610238565b34801561027d57600080fd5b506000545b604051908152602001610238565b34801561029c57600080fd5b506101fd6102ab366004611c98565b610772565b3480156102bc57600080fd5b506101fd6102cb366004611da9565b6108b8565b3480156102dc57600080fd5b506102616102eb366004611e69565b610a11565b3480156102fc57600080fd5b506101fd61030b366004611ea5565b610b51565b34801561031c57600080fd5b506101fd61032b366004611ec0565b610d67565b34801561033c57600080fd5b5060405160098152602001610238565b34801561035857600080fd5b50610261610367366004611ea5565b60056020526000908152604090205460ff1681565b34801561038857600080fd5b50610261610397366004611c6e565b610e91565b3480156103a857600080fd5b506102616103b7366004611ea5565b610f25565b3480156103c857600080fd5b506102826103d7366004611ea5565b6001600160a01b031660009081526003602052604090205490565b3480156103fe57600080fd5b5061028260025481565b34801561041457600080fd5b50601054610428906001600160a01b031681565b6040516001600160a01b039091168152602001610238565b34801561044c57600080fd5b5060408051808201909152600381526211505560ea1b602082015261022b565b34801561047857600080fd5b5061028260065481565b34801561048e57600080fd5b506101fd610f33565b3480156104a357600080fd5b5061042873e9977b69864458776715bf8c5570df0ea09f0b5781565b3480156104cb57600080fd5b506102616104da366004611c6e565b610fb4565b3480156104eb57600080fd5b506104287f000000000000000000000000000000000000000000000000000000000000000081565b34801561051f57600080fd5b5061026161052e366004611c6e565b61105d565b34801561053f57600080fd5b506101fd61054e366004611ee2565b61106a565b34801561055f57600080fd5b50601154610428906001600160a01b031681565b34801561057f57600080fd5b506101fd61058e366004611f09565b61115c565b34801561059f57600080fd5b506101fd61122e565b3480156105b457600080fd5b506101fd6105c3366004611f40565b6112c3565b3480156105d457600080fd5b506102826105e3366004611f40565b6113c9565b3480156105f457600080fd5b50600f54610428906001600160a01b031681565b34801561061457600080fd5b5061028260015481565b3373e9977b69864458776715bf8c5570df0ea09f0b571461065a5760405162461bcd60e51b815260040161065190611f73565b60405180910390fd5b600019600d54146106a55760405162461bcd60e51b815260206004820152601560248201527443616e27742063616c6c207468697320747769636560581b6044820152606401610651565b42600d81905543600e556040519081527feca0dfbda743d141662328d4d48393e344b2c60df0430297221df823f2926dba9060200160405180910390a1565b60006001600160a01b03831661070c5760405162461bcd60e51b815260040161065190611faa565b3360008181526004602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a35060015b92915050565b3373e9977b69864458776715bf8c5570df0ea09f0b57146107a55760405162461bcd60e51b815260040161065190611f73565b600b859055600784905560088390556009829055600a81905580826107ca8587611ff7565b6107d49190611ff7565b6107de9190611ff7565b600655600b546064906107f290600961200a565b6107fc9190612021565b600654111561084d5760405162461bcd60e51b815260206004820152601c60248201527f546178657320617265206c696d6974656420746f206d61782e203925000000006044820152606401610651565b600654600754600854600954600a54600b54604080519687526020870195909552938501929092526060840152608083015260a08201527f7a98bef57805dda3e089742e5771fdf57cdf13384dba9d7c83c3b1f846a5f7809060c00160405180910390a15050505050565b3373e9977b69864458776715bf8c5570df0ea09f0b57146108eb5760405162461bcd60e51b815260040161065190611f73565b600019600d541461093e5760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c792061697264726f70206265666f7265206c61756e636800006044820152606401610651565b60005b82518110156109d357600083828151811061095e5761095e612043565b6020026020010151905060006009600a610978919061213d565b84848151811061098a5761098a612043565b602002602001015161099c919061200a565b90506109bd73e9977b69864458776715bf8c5570df0ea09f0b5783836113f4565b50505080806109cb9061214c565b915050610941565b507ff4891b11a128f987b1274488c0803eb6f4c8bf987a31acd8514fe7d97690a8738282604051610a05929190612165565b60405180910390a15050565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914610b3c576001600160a01b0384166000908152600460209081526040808320338452909152902054821115610aa95760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420416c6c6f77616e636560501b6044820152606401610651565b6001600160a01b038416600090815260046020908152604080832033845290915281208054849290610adc9084906121e9565b90915550506001600160a01b038416600081815260046020908152604080832033808552908352928190205490519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35b610b4784848461158d565b90505b9392505050565b3373e9977b69864458776715bf8c5570df0ea09f0b5714610b845760405162461bcd60e51b815260040161065190611f73565b306001600160a01b03821603610bd45760405162461bcd60e51b815260206004820152601560248201527421b0b713ba103932b9b1bab2903cb7bab91037bbb760591b6044820152606401610651565b6040516370a0823160e01b81523060048201527fe82be315ba1a0d0362d09d5cf59781f214b53a74eb978c35b76ad687099c670c9082906001600160a01b038216906370a0823190602401602060405180830381865afa158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6091906121fc565b604080516001600160a01b03909316835260208301919091520160405180910390a16040516370a0823160e01b81523060048201526001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610cd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf491906121fc565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d639190612215565b5050565b3373e9977b69864458776715bf8c5570df0ea09f0b5714610d9a5760405162461bcd60e51b815260040161065190611f73565b6064600054610da99190612021565b821015610e0e5760405162461bcd60e51b815260206004820152602d60248201527f4d617854782063616e206e6f74206265206c657373207468616e203125206f6660448201526c20746f74616c20737570706c7960981b6064820152608401610651565b6064600054610e1d9190612021565b811015610e865760405162461bcd60e51b815260206004820152603160248201527f4d617857616c6c65742063616e206e6f74206265206c657373207468616e203160448201527025206f6620746f74616c20737570706c7960781b6064820152608401610651565b600291909155600155565b60006001600160a01b038316610eb95760405162461bcd60e51b815260040161065190611faa565b81610ec433856113c9565b610ece9190611ff7565b3360008181526004602090815260408083206001600160a01b038916808552908352928190208590555193845290927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259101610760565b600061076c826000196106e4565b3373e9977b69864458776715bf8c5570df0ea09f0b5714610f665760405162461bcd60e51b815260040161065190611f73565b306000908152600360209081526040918290205491519182527f9072e1dd165dae57460e1fe855d81d24aaf7d128ffa5858dafc4ec607e9657dd910160405180910390a1610fb2611684565b565b60006001600160a01b038316610fdc5760405162461bcd60e51b815260040161065190611faa565b81610fe733856113c9565b10156110485760405162461bcd60e51b815260206004820152602a60248201527f43616e2774207375627472616374206d6f7265207468616e2063757272656e7460448201526920616c6c6f77616e636560b01b6064820152608401610651565b8161105333856113c9565b610ece91906121e9565b6000610b4a33848461158d565b3373e9977b69864458776715bf8c5570df0ea09f0b571461109d5760405162461bcd60e51b815260040161065190611f73565b60326000546110ac9190612021565b8111156111215760405162461bcd60e51b815260206004820152603d60248201527f43616e2774207365742074686520616d6f756e7420746f2073656c6c20746f2060448201527f686967686572207468616e203225206f6620746f74616c537570706c790000006064820152608401610651565b600c8190556040518181527fe387ac9a372ae837b174115d47eb2f97ada34a2ec056b2963f0d6c5d7a8d39d69060200160405180910390a150565b3373e9977b69864458776715bf8c5570df0ea09f0b571461118f5760405162461bcd60e51b815260040161065190611f73565b6001600160a01b0382166000908152600560205260409020805460ff191682158015919091179091556111f5576040516001600160a01b03831681527ff49fa1faa6910d691ba46dbeb65658621c1e37059eba6281dc16acab5326238b90602001610a05565b6040516001600160a01b03831681527f41c509580227219388f962d26fb90a219e40238bd55cc0c5f9502e763f696d4790602001610a05565b3373e9977b69864458776715bf8c5570df0ea09f0b57146112615760405162461bcd60e51b815260040161065190611f73565b6040514781527fca85299660828d766556cc2f077d9c2519e82526f6b4f058c8ee3df629ff54f79060200160405180910390a160405133904780156108fc02916000818181858888f193505050501580156112c0573d6000803e3d6000fd5b50565b3373e9977b69864458776715bf8c5570df0ea09f0b57146112f65760405162461bcd60e51b815260040161065190611f73565b6001600160a01b0382161580159061131657506001600160a01b03811615155b6113625760405162461bcd60e51b815260206004820152601d60248201527f43616e277420757365207a65726f2061646472657373657320686572650000006044820152606401610651565b601080546001600160a01b038481166001600160a01b03199283168117909355601180549185169190921681179091556040805192835260208301919091527f186ca604571738d83684995b203c2a2e6f26412e30436bf1926162381878fe279101610a05565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b60006001600160a01b0384161580159061141657506001600160a01b03831615155b6114625760405162461bcd60e51b815260206004820152601d60248201527f43616e277420757365207a65726f2061646472657373657320686572650000006044820152606401610651565b6001600160a01b0384166000908152600360205260409020548211156114ca5760405162461bcd60e51b815260206004820181905260248201527f43616e2774207472616e73666572206d6f7265207468616e20796f75206f776e6044820152606401610651565b816000036114da57506001610b4a565b6001600160a01b038416600090815260036020526040812080548492906115029084906121e9565b90915550506001600160a01b0383166000908152600360205260408120805484929061152f908490611ff7565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161157b91815260200190565b60405180910390a35060019392505050565b60008160000361159f57506001610b4a565b6001600160a01b03841660009081526005602052604090205460ff16806115de57506001600160a01b03831660009081526005602052604090205460ff165b156115f5576115ee8484846113f4565b9050610b4a565b42600d5411156116475760405162461bcd60e51b815260206004820152601960248201527f43616e2774207472616465206265666f7265206c61756e6368000000000000006044820152606401610651565b61165084611898565b1561165d5761165d611684565b60065415611675576116708484846118f2565b611677565b815b9150610b478484846113f4565b6008541580156116945750600754155b1561169b57565b60006007546008546116ad9190611ff7565b600854306000908152600360205260409020546116ca919061200a565b6116d49190612021565b9050801561174957600f5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061171690849060009060129030904290600401612232565b600060405180830381600087803b15801561173057600080fd5b505af1158015611744573d6000803e3d6000fd5b505050505b306000908152600360205260409020541561180f573060008181526003602052604090205461179a91907f0000000000000000000000000000000000000000000000000000000000000000906113f4565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156117f657600080fd5b505af115801561180a573d6000803e3d6000fd5b505050505b6010546040516000916001600160a01b03169047908381818185875af1925050503d806000811461185c576040519150601f19603f3d011682016040523d82523d6000602084013e611861565b606091505b505090508015610d63576040517fc5912aa2e1067e84d87a8c8678937bbc4eb9362b1d54a2940aed37c264b6cfe890600090a15050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161415801561076c5750600c5430600090815260036020526040902054101592915050565b600080600b5460065484611906919061200a565b6119109190612021565b9050600d546146506119229190611ff7565b421015611a55577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b03160361199557614650600d544261197391906121e9565b61197d9190612021565b6119889060026121e9565b611992908261200a565b90505b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03161480156119e25750600d546119df906078611ff7565b42105b15611a555760009050600254831115611a0e57600060025484611a0591906121e9565b60025494509150505b6064600e5443611a1e91906121e9565b611a2990600561200a565b611a3490605a6121e9565b611a3e908561200a565b611a489190612021565b611a529082611ff7565b90505b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031603611b03576001546001600160a01b038516600090815260036020526040902054611ab5908590611ff7565b1115611b035760405162461bcd60e51b815260206004820152601c60248201527f506c65617365207265737065637420746865206d617857616c6c6574000000006044820152606401610651565b600254831115611b555760405162461bcd60e51b815260206004820152601860248201527f506c65617365207265737065637420746865206d6178547800000000000000006044820152606401610651565b600a5415611b8657611b848561dead600654600a5485611b75919061200a565b611b7f9190612021565b6113f4565b505b60095415611bb557601154600654600954611bb39288926001600160a01b0390911691611b75908661200a565b505b60006007541180611bc857506000600854115b15611bf157611bef8530600654600754600854611be59190611ff7565b611b75908661200a565b505b611bfb81846121e9565b95945050505050565b600060208083528351808285015260005b81811015611c3157858101830151858201604001528201611c15565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611c6957600080fd5b919050565b60008060408385031215611c8157600080fd5b611c8a83611c52565b946020939093013593505050565b600080600080600060a08688031215611cb057600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1257611d12611cd3565b604052919050565b600067ffffffffffffffff821115611d3457611d34611cd3565b5060051b60200190565b600082601f830112611d4f57600080fd5b81356020611d64611d5f83611d1a565b611ce9565b82815260059290921b84018101918181019086841115611d8357600080fd5b8286015b84811015611d9e5780358352918301918301611d87565b509695505050505050565b60008060408385031215611dbc57600080fd5b823567ffffffffffffffff80821115611dd457600080fd5b818501915085601f830112611de857600080fd5b81356020611df8611d5f83611d1a565b82815260059290921b84018101918181019089841115611e1757600080fd5b948201945b83861015611e3c57611e2d86611c52565b82529482019490820190611e1c565b96505086013592505080821115611e5257600080fd5b50611e5f85828601611d3e565b9150509250929050565b600080600060608486031215611e7e57600080fd5b611e8784611c52565b9250611e9560208501611c52565b9150604084013590509250925092565b600060208284031215611eb757600080fd5b610b4a82611c52565b60008060408385031215611ed357600080fd5b50508035926020909101359150565b600060208284031215611ef457600080fd5b5035919050565b80151581146112c057600080fd5b60008060408385031215611f1c57600080fd5b611f2583611c52565b91506020830135611f3581611efb565b809150509250929050565b60008060408385031215611f5357600080fd5b611f5c83611c52565b9150611f6a60208401611c52565b90509250929050565b60208082526018908201527f4f6e6c79207468652043454f2063616e20646f20746861740000000000000000604082015260600190565b6020808252601b908201527f43616e277420757365207a65726f206164647265737320686572650000000000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561076c5761076c611fe1565b808202811582820484141761076c5761076c611fe1565b60008261203e57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600181815b8085111561209457816000190482111561207a5761207a611fe1565b8085161561208757918102915b93841c939080029061205e565b509250929050565b6000826120ab5750600161076c565b816120b85750600061076c565b81600181146120ce57600281146120d8576120f4565b600191505061076c565b60ff8411156120e9576120e9611fe1565b50506001821b61076c565b5060208310610133831016604e8410600b8410161715612117575081810a61076c565b6121218383612059565b806000190482111561213557612135611fe1565b029392505050565b6000610b4a60ff84168361209c565b60006001820161215e5761215e611fe1565b5060010190565b604080825283519082018190526000906020906060840190828701845b828110156121a75781516001600160a01b031684529284019290840190600101612182565b5050508381038285015284518082528583019183019060005b818110156121dc578351835292840192918401916001016121c0565b5090979650505050505050565b8181038181111561076c5761076c611fe1565b60006020828403121561220e57600080fd5b5051919050565b60006020828403121561222757600080fd5b8151610b4a81611efb565b600060a082018783526020878185015260a0604085015281875480845260c0860191508860005282600020935060005b818110156122875784546001600160a01b031683526001948501949284019201612262565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212204fca15e2b7009a08c650c87275d804e8a6f085024ed04851313c44b055e7a23664736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101dc5760003560e01c806375f0a87411610102578063b1c9604011610095578063d3f6a15711610064578063d3f6a157146105a8578063dd62ed3e146105c8578063f887ea40146105e8578063f8b45b051461060857600080fd5b8063b1c9604014610533578063bff99c6c14610553578063c5fba32914610573578063ce31a06b1461059357600080fd5b8063a1088571116100d1578063a108857114610497578063a457c2d7146104bf578063a8aa1b31146104df578063a9059cbb1461051357600080fd5b806375f0a8741461040857806395d89b411461044057806399c8d5561461046c578063a058fec81461048257600080fd5b80632c9cdbbf1161017a5780633950935111610149578063395093511461037c578063571ac8b01461039c57806370a08231146103bc5780637437681e146103f257600080fd5b80632c9cdbbf146102f0578063303e332214610310578063313ce5671461033057806334d635d21461034c57600080fd5b806318160ddd116101b657806318160ddd146102715780632053bb6e146102905780632307b441146102b057806323b872dd146102d057600080fd5b806301339c21146101e857806306fdde03146101ff578063095ea7b31461024157600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b506101fd61061e565b005b34801561020b57600080fd5b5060408051808201909152600781526645617443616b6560c81b60208201525b6040516102389190611c04565b60405180910390f35b34801561024d57600080fd5b5061026161025c366004611c6e565b6106e4565b6040519015158152602001610238565b34801561027d57600080fd5b506000545b604051908152602001610238565b34801561029c57600080fd5b506101fd6102ab366004611c98565b610772565b3480156102bc57600080fd5b506101fd6102cb366004611da9565b6108b8565b3480156102dc57600080fd5b506102616102eb366004611e69565b610a11565b3480156102fc57600080fd5b506101fd61030b366004611ea5565b610b51565b34801561031c57600080fd5b506101fd61032b366004611ec0565b610d67565b34801561033c57600080fd5b5060405160098152602001610238565b34801561035857600080fd5b50610261610367366004611ea5565b60056020526000908152604090205460ff1681565b34801561038857600080fd5b50610261610397366004611c6e565b610e91565b3480156103a857600080fd5b506102616103b7366004611ea5565b610f25565b3480156103c857600080fd5b506102826103d7366004611ea5565b6001600160a01b031660009081526003602052604090205490565b3480156103fe57600080fd5b5061028260025481565b34801561041457600080fd5b50601054610428906001600160a01b031681565b6040516001600160a01b039091168152602001610238565b34801561044c57600080fd5b5060408051808201909152600381526211505560ea1b602082015261022b565b34801561047857600080fd5b5061028260065481565b34801561048e57600080fd5b506101fd610f33565b3480156104a357600080fd5b5061042873e9977b69864458776715bf8c5570df0ea09f0b5781565b3480156104cb57600080fd5b506102616104da366004611c6e565b610fb4565b3480156104eb57600080fd5b506104287f000000000000000000000000c511dbdd0924320b65389b979935d359c96d0ea181565b34801561051f57600080fd5b5061026161052e366004611c6e565b61105d565b34801561053f57600080fd5b506101fd61054e366004611ee2565b61106a565b34801561055f57600080fd5b50601154610428906001600160a01b031681565b34801561057f57600080fd5b506101fd61058e366004611f09565b61115c565b34801561059f57600080fd5b506101fd61122e565b3480156105b457600080fd5b506101fd6105c3366004611f40565b6112c3565b3480156105d457600080fd5b506102826105e3366004611f40565b6113c9565b3480156105f457600080fd5b50600f54610428906001600160a01b031681565b34801561061457600080fd5b5061028260015481565b3373e9977b69864458776715bf8c5570df0ea09f0b571461065a5760405162461bcd60e51b815260040161065190611f73565b60405180910390fd5b600019600d54146106a55760405162461bcd60e51b815260206004820152601560248201527443616e27742063616c6c207468697320747769636560581b6044820152606401610651565b42600d81905543600e556040519081527feca0dfbda743d141662328d4d48393e344b2c60df0430297221df823f2926dba9060200160405180910390a1565b60006001600160a01b03831661070c5760405162461bcd60e51b815260040161065190611faa565b3360008181526004602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a35060015b92915050565b3373e9977b69864458776715bf8c5570df0ea09f0b57146107a55760405162461bcd60e51b815260040161065190611f73565b600b859055600784905560088390556009829055600a81905580826107ca8587611ff7565b6107d49190611ff7565b6107de9190611ff7565b600655600b546064906107f290600961200a565b6107fc9190612021565b600654111561084d5760405162461bcd60e51b815260206004820152601c60248201527f546178657320617265206c696d6974656420746f206d61782e203925000000006044820152606401610651565b600654600754600854600954600a54600b54604080519687526020870195909552938501929092526060840152608083015260a08201527f7a98bef57805dda3e089742e5771fdf57cdf13384dba9d7c83c3b1f846a5f7809060c00160405180910390a15050505050565b3373e9977b69864458776715bf8c5570df0ea09f0b57146108eb5760405162461bcd60e51b815260040161065190611f73565b600019600d541461093e5760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c792061697264726f70206265666f7265206c61756e636800006044820152606401610651565b60005b82518110156109d357600083828151811061095e5761095e612043565b6020026020010151905060006009600a610978919061213d565b84848151811061098a5761098a612043565b602002602001015161099c919061200a565b90506109bd73e9977b69864458776715bf8c5570df0ea09f0b5783836113f4565b50505080806109cb9061214c565b915050610941565b507ff4891b11a128f987b1274488c0803eb6f4c8bf987a31acd8514fe7d97690a8738282604051610a05929190612165565b60405180910390a15050565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914610b3c576001600160a01b0384166000908152600460209081526040808320338452909152902054821115610aa95760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420416c6c6f77616e636560501b6044820152606401610651565b6001600160a01b038416600090815260046020908152604080832033845290915281208054849290610adc9084906121e9565b90915550506001600160a01b038416600081815260046020908152604080832033808552908352928190205490519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35b610b4784848461158d565b90505b9392505050565b3373e9977b69864458776715bf8c5570df0ea09f0b5714610b845760405162461bcd60e51b815260040161065190611f73565b306001600160a01b03821603610bd45760405162461bcd60e51b815260206004820152601560248201527421b0b713ba103932b9b1bab2903cb7bab91037bbb760591b6044820152606401610651565b6040516370a0823160e01b81523060048201527fe82be315ba1a0d0362d09d5cf59781f214b53a74eb978c35b76ad687099c670c9082906001600160a01b038216906370a0823190602401602060405180830381865afa158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6091906121fc565b604080516001600160a01b03909316835260208301919091520160405180910390a16040516370a0823160e01b81523060048201526001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610cd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf491906121fc565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d639190612215565b5050565b3373e9977b69864458776715bf8c5570df0ea09f0b5714610d9a5760405162461bcd60e51b815260040161065190611f73565b6064600054610da99190612021565b821015610e0e5760405162461bcd60e51b815260206004820152602d60248201527f4d617854782063616e206e6f74206265206c657373207468616e203125206f6660448201526c20746f74616c20737570706c7960981b6064820152608401610651565b6064600054610e1d9190612021565b811015610e865760405162461bcd60e51b815260206004820152603160248201527f4d617857616c6c65742063616e206e6f74206265206c657373207468616e203160448201527025206f6620746f74616c20737570706c7960781b6064820152608401610651565b600291909155600155565b60006001600160a01b038316610eb95760405162461bcd60e51b815260040161065190611faa565b81610ec433856113c9565b610ece9190611ff7565b3360008181526004602090815260408083206001600160a01b038916808552908352928190208590555193845290927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259101610760565b600061076c826000196106e4565b3373e9977b69864458776715bf8c5570df0ea09f0b5714610f665760405162461bcd60e51b815260040161065190611f73565b306000908152600360209081526040918290205491519182527f9072e1dd165dae57460e1fe855d81d24aaf7d128ffa5858dafc4ec607e9657dd910160405180910390a1610fb2611684565b565b60006001600160a01b038316610fdc5760405162461bcd60e51b815260040161065190611faa565b81610fe733856113c9565b10156110485760405162461bcd60e51b815260206004820152602a60248201527f43616e2774207375627472616374206d6f7265207468616e2063757272656e7460448201526920616c6c6f77616e636560b01b6064820152608401610651565b8161105333856113c9565b610ece91906121e9565b6000610b4a33848461158d565b3373e9977b69864458776715bf8c5570df0ea09f0b571461109d5760405162461bcd60e51b815260040161065190611f73565b60326000546110ac9190612021565b8111156111215760405162461bcd60e51b815260206004820152603d60248201527f43616e2774207365742074686520616d6f756e7420746f2073656c6c20746f2060448201527f686967686572207468616e203225206f6620746f74616c537570706c790000006064820152608401610651565b600c8190556040518181527fe387ac9a372ae837b174115d47eb2f97ada34a2ec056b2963f0d6c5d7a8d39d69060200160405180910390a150565b3373e9977b69864458776715bf8c5570df0ea09f0b571461118f5760405162461bcd60e51b815260040161065190611f73565b6001600160a01b0382166000908152600560205260409020805460ff191682158015919091179091556111f5576040516001600160a01b03831681527ff49fa1faa6910d691ba46dbeb65658621c1e37059eba6281dc16acab5326238b90602001610a05565b6040516001600160a01b03831681527f41c509580227219388f962d26fb90a219e40238bd55cc0c5f9502e763f696d4790602001610a05565b3373e9977b69864458776715bf8c5570df0ea09f0b57146112615760405162461bcd60e51b815260040161065190611f73565b6040514781527fca85299660828d766556cc2f077d9c2519e82526f6b4f058c8ee3df629ff54f79060200160405180910390a160405133904780156108fc02916000818181858888f193505050501580156112c0573d6000803e3d6000fd5b50565b3373e9977b69864458776715bf8c5570df0ea09f0b57146112f65760405162461bcd60e51b815260040161065190611f73565b6001600160a01b0382161580159061131657506001600160a01b03811615155b6113625760405162461bcd60e51b815260206004820152601d60248201527f43616e277420757365207a65726f2061646472657373657320686572650000006044820152606401610651565b601080546001600160a01b038481166001600160a01b03199283168117909355601180549185169190921681179091556040805192835260208301919091527f186ca604571738d83684995b203c2a2e6f26412e30436bf1926162381878fe279101610a05565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b60006001600160a01b0384161580159061141657506001600160a01b03831615155b6114625760405162461bcd60e51b815260206004820152601d60248201527f43616e277420757365207a65726f2061646472657373657320686572650000006044820152606401610651565b6001600160a01b0384166000908152600360205260409020548211156114ca5760405162461bcd60e51b815260206004820181905260248201527f43616e2774207472616e73666572206d6f7265207468616e20796f75206f776e6044820152606401610651565b816000036114da57506001610b4a565b6001600160a01b038416600090815260036020526040812080548492906115029084906121e9565b90915550506001600160a01b0383166000908152600360205260408120805484929061152f908490611ff7565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161157b91815260200190565b60405180910390a35060019392505050565b60008160000361159f57506001610b4a565b6001600160a01b03841660009081526005602052604090205460ff16806115de57506001600160a01b03831660009081526005602052604090205460ff165b156115f5576115ee8484846113f4565b9050610b4a565b42600d5411156116475760405162461bcd60e51b815260206004820152601960248201527f43616e2774207472616465206265666f7265206c61756e6368000000000000006044820152606401610651565b61165084611898565b1561165d5761165d611684565b60065415611675576116708484846118f2565b611677565b815b9150610b478484846113f4565b6008541580156116945750600754155b1561169b57565b60006007546008546116ad9190611ff7565b600854306000908152600360205260409020546116ca919061200a565b6116d49190612021565b9050801561174957600f5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061171690849060009060129030904290600401612232565b600060405180830381600087803b15801561173057600080fd5b505af1158015611744573d6000803e3d6000fd5b505050505b306000908152600360205260409020541561180f573060008181526003602052604090205461179a91907f000000000000000000000000c511dbdd0924320b65389b979935d359c96d0ea1906113f4565b507f000000000000000000000000c511dbdd0924320b65389b979935d359c96d0ea16001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156117f657600080fd5b505af115801561180a573d6000803e3d6000fd5b505050505b6010546040516000916001600160a01b03169047908381818185875af1925050503d806000811461185c576040519150601f19603f3d011682016040523d82523d6000602084013e611861565b606091505b505090508015610d63576040517fc5912aa2e1067e84d87a8c8678937bbc4eb9362b1d54a2940aed37c264b6cfe890600090a15050565b60007f000000000000000000000000c511dbdd0924320b65389b979935d359c96d0ea16001600160a01b0316826001600160a01b03161415801561076c5750600c5430600090815260036020526040902054101592915050565b600080600b5460065484611906919061200a565b6119109190612021565b9050600d546146506119229190611ff7565b421015611a55577f000000000000000000000000c511dbdd0924320b65389b979935d359c96d0ea16001600160a01b0316846001600160a01b03160361199557614650600d544261197391906121e9565b61197d9190612021565b6119889060026121e9565b611992908261200a565b90505b7f000000000000000000000000c511dbdd0924320b65389b979935d359c96d0ea16001600160a01b0316856001600160a01b03161480156119e25750600d546119df906078611ff7565b42105b15611a555760009050600254831115611a0e57600060025484611a0591906121e9565b60025494509150505b6064600e5443611a1e91906121e9565b611a2990600561200a565b611a3490605a6121e9565b611a3e908561200a565b611a489190612021565b611a529082611ff7565b90505b7f000000000000000000000000c511dbdd0924320b65389b979935d359c96d0ea16001600160a01b0316856001600160a01b031603611b03576001546001600160a01b038516600090815260036020526040902054611ab5908590611ff7565b1115611b035760405162461bcd60e51b815260206004820152601c60248201527f506c65617365207265737065637420746865206d617857616c6c6574000000006044820152606401610651565b600254831115611b555760405162461bcd60e51b815260206004820152601860248201527f506c65617365207265737065637420746865206d6178547800000000000000006044820152606401610651565b600a5415611b8657611b848561dead600654600a5485611b75919061200a565b611b7f9190612021565b6113f4565b505b60095415611bb557601154600654600954611bb39288926001600160a01b0390911691611b75908661200a565b505b60006007541180611bc857506000600854115b15611bf157611bef8530600654600754600854611be59190611ff7565b611b75908661200a565b505b611bfb81846121e9565b95945050505050565b600060208083528351808285015260005b81811015611c3157858101830151858201604001528201611c15565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611c6957600080fd5b919050565b60008060408385031215611c8157600080fd5b611c8a83611c52565b946020939093013593505050565b600080600080600060a08688031215611cb057600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1257611d12611cd3565b604052919050565b600067ffffffffffffffff821115611d3457611d34611cd3565b5060051b60200190565b600082601f830112611d4f57600080fd5b81356020611d64611d5f83611d1a565b611ce9565b82815260059290921b84018101918181019086841115611d8357600080fd5b8286015b84811015611d9e5780358352918301918301611d87565b509695505050505050565b60008060408385031215611dbc57600080fd5b823567ffffffffffffffff80821115611dd457600080fd5b818501915085601f830112611de857600080fd5b81356020611df8611d5f83611d1a565b82815260059290921b84018101918181019089841115611e1757600080fd5b948201945b83861015611e3c57611e2d86611c52565b82529482019490820190611e1c565b96505086013592505080821115611e5257600080fd5b50611e5f85828601611d3e565b9150509250929050565b600080600060608486031215611e7e57600080fd5b611e8784611c52565b9250611e9560208501611c52565b9150604084013590509250925092565b600060208284031215611eb757600080fd5b610b4a82611c52565b60008060408385031215611ed357600080fd5b50508035926020909101359150565b600060208284031215611ef457600080fd5b5035919050565b80151581146112c057600080fd5b60008060408385031215611f1c57600080fd5b611f2583611c52565b91506020830135611f3581611efb565b809150509250929050565b60008060408385031215611f5357600080fd5b611f5c83611c52565b9150611f6a60208401611c52565b90509250929050565b60208082526018908201527f4f6e6c79207468652043454f2063616e20646f20746861740000000000000000604082015260600190565b6020808252601b908201527f43616e277420757365207a65726f206164647265737320686572650000000000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561076c5761076c611fe1565b808202811582820484141761076c5761076c611fe1565b60008261203e57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600181815b8085111561209457816000190482111561207a5761207a611fe1565b8085161561208757918102915b93841c939080029061205e565b509250929050565b6000826120ab5750600161076c565b816120b85750600061076c565b81600181146120ce57600281146120d8576120f4565b600191505061076c565b60ff8411156120e9576120e9611fe1565b50506001821b61076c565b5060208310610133831016604e8410600b8410161715612117575081810a61076c565b6121218383612059565b806000190482111561213557612135611fe1565b029392505050565b6000610b4a60ff84168361209c565b60006001820161215e5761215e611fe1565b5060010190565b604080825283519082018190526000906020906060840190828701845b828110156121a75781516001600160a01b031684529284019290840190600101612182565b5050508381038285015284518082528583019183019060005b818110156121dc578351835292840192918401916001016121c0565b5090979650505050505050565b8181038181111561076c5761076c611fe1565b60006020828403121561220e57600080fd5b5051919050565b60006020828403121561222757600080fd5b8151610b4a81611efb565b600060a082018783526020878185015260a0604085015281875480845260c0860191508860005282600020935060005b818110156122875784546001600160a01b031683526001948501949284019201612262565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212204fca15e2b7009a08c650c87275d804e8a6f085024ed04851313c44b055e7a23664736f6c63430008110033

Deployed Bytecode Sourcemap

1585:11771:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13123:230;;;;;;;;;;;;;:::i;:::-;;4381:76;;;;;;;;;;-1:-1:-1;4450:5:0;;;;;;;;;;;;-1:-1:-1;;;4450:5:0;;;;4381:76;;;;;;;:::i;:::-;;;;;;;;5083:288;;;;;;;;;;-1:-1:-1;5083:288:0;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;5083:288:0;1004:187:1;4463:84:0;;;;;;;;;;-1:-1:-1;4516:7:0;4533:12;4463:84;;;1342:25:1;;;1330:2;1315:18;4463:84:0;1196:177:1;8232:536:0;;;;;;;;;;-1:-1:-1;8232:536:0;;;;;:::i;:::-;;:::i;9374:493::-;;;;;;;;;;-1:-1:-1;9374:493:0;;;;;:::i;:::-;;:::i;6402:481::-;;;;;;;;;;-1:-1:-1;6402:481:0;;;;;:::i;:::-;;:::i;7720:339::-;;;;;;;;;;-1:-1:-1;7720:339:0;;;;;:::i;:::-;;:::i;8776:348::-;;;;;;;;;;-1:-1:-1;8776:348:0;;;;;:::i;:::-;;:::i;4553:76::-;;;;;;;;;;-1:-1:-1;4553:76:0;;1724:1;5174:36:1;;5162:2;5147:18;4553:76:0;5032:184:1;2037:41:0;;;;;;;;;;-1:-1:-1;2037:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5379:357;;;;;;;;;;-1:-1:-1;5379:357:0;;;;;:::i;:::-;;:::i;4965:106::-;;;;;;;;;;-1:-1:-1;4965:106:0;;;;;:::i;:::-;;:::i;4721:103::-;;;;;;;;;;-1:-1:-1;4721:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;4804:18:0;4787:7;4804:18;;;:9;:18;;;;;;;4721:103;1849:49;;;;;;;;;;;;;;;;2798:75;;;;;;;;;;-1:-1:-1;2798:75:0;;;;-1:-1:-1;;;;;2798:75:0;;;;;;-1:-1:-1;;;;;5385:32:1;;;5367:51;;5355:2;5340:18;2798:75:0;5221:203:1;4635:80:0;;;;;;;;;;-1:-1:-1;4706:7:0;;;;;;;;;;;;-1:-1:-1;;;4706:7:0;;;;4635:80;;2087:22;;;;;;;;;;;;;;;;6891:130;;;;;;;;;;;;;:::i;2463:72::-;;;;;;;;;;;;2493:42;2463:72;;5744:482;;;;;;;;;;-1:-1:-1;5744:482:0;;;;;:::i;:::-;;:::i;2958:29::-;;;;;;;;;;;;;;;6238:156;;;;;;;;;;-1:-1:-1;6238:156:0;;;;;:::i;:::-;;:::i;7389:323::-;;;;;;;;;;-1:-1:-1;7389:323:0;;;;;:::i;:::-;;:::i;2880:71::-;;;;;;;;;;-1:-1:-1;2880:71:0;;;;-1:-1:-1;;;;;2880:71:0;;;9132:230;;;;;;;;;;-1:-1:-1;9132:230:0;;;;;:::i;:::-;;:::i;8067:157::-;;;;;;;;;;;;;:::i;7029:348::-;;;;;;;;;;-1:-1:-1;7029:348:0;;;;;:::i;:::-;;:::i;4830:129::-;;;;;;;;;;-1:-1:-1;4830:129:0;;;;;:::i;:::-;;:::i;2432:24::-;;;;;;;;;;-1:-1:-1;2432:24:0;;;;-1:-1:-1;;;;;2432:24:0;;;1791:51;;;;;;;;;;;;;;;;13123:230;3094:10;2493:42;3094:17;3085:55;;;;-1:-1:-1;;;3085:55:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;13176:10:0::1;;:31;13168:65;;;::::0;-1:-1:-1;;;13168:65:0;;7103:2:1;13168:65:0::1;::::0;::::1;7085:21:1::0;7142:2;7122:18;;;7115:30;-1:-1:-1;;;7161:18:1;;;7154:51;7222:18;;13168:65:0::1;6901:345:1::0;13168:65:0::1;13257:15;13244:10;:28:::0;;;13297:12:::1;13283:11;:26:::0;13325:20:::1;::::0;1342:25:1;;;13325:20:0::1;::::0;1330:2:1;1315:18;13325:20:0::1;;;;;;;13123:230::o:0;5083:288::-;5158:4;-1:-1:-1;;;;;5183:21:0;;5175:61;;;;-1:-1:-1;;;5175:61:0;;;;;;;:::i;:::-;5259:10;5247:23;;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5247:32:0;;;;;;;;;;;;:41;;;5304:37;1342:25:1;;;5247:32:0;;5259:10;5304:37;;1315:18:1;5304:37:0;;;;;;;;-1:-1:-1;5359:4:0;5083:288;;;;;:::o;8232:536::-;3094:10;2493:42;3094:17;3085:55;;;;-1:-1:-1;;;3085:55:0;;;;;;;:::i;:::-;8424:10:::1;:26:::0;;;8461:3:::1;:12:::0;;;8484:9:::1;:24:::0;;;8519:5:::1;:16:::0;;;8546:4:::1;:14:::0;;;8553:7;8527:8;8577:15:::1;8496:12:::0;8467:6;8577:15:::1;:::i;:::-;:23;;;;:::i;:::-;:30;;;;:::i;:::-;8571:3;:36:::0;8633:10:::1;::::0;8650:3:::1;::::0;8633:14:::1;::::0;8646:1:::1;8633:14;:::i;:::-;:20;;;;:::i;:::-;8626:3;;:27;;8618:68;;;::::0;-1:-1:-1;;;8618:68:0;;8466:2:1;8618:68:0::1;::::0;::::1;8448:21:1::0;8505:2;8485:18;;;8478:30;8544;8524:18;;;8517:58;8592:18;;8618:68:0::1;8264:352:1::0;8618:68:0::1;8715:3;::::0;8720::::1;::::0;8725:9:::1;::::0;8736:5:::1;::::0;8743:4:::1;::::0;8749:10:::1;::::0;8702:58:::1;::::0;;8908:25:1;;;8964:2;8949:18;;8942:34;;;;8992:18;;;8985:34;;;;9050:2;9035:18;;9028:34;9093:3;9078:19;;9071:35;9137:3;9122:19;;9115:35;8702:58:0::1;::::0;8895:3:1;8880:19;8702:58:0::1;;;;;;;8232:536:::0;;;;;:::o;9374:493::-;3094:10;2493:42;3094:17;3085:55;;;;-1:-1:-1;;;3085:55:0;;;;;;;:::i;:::-;-1:-1:-1;;9494:10:0::1;;:31;9486:74;;;::::0;-1:-1:-1;;;9486:74:0;;9363:2:1;9486:74:0::1;::::0;::::1;9345:21:1::0;9402:2;9382:18;;;9375:30;9441:32;9421:18;;;9414:60;9491:18;;9486:74:0::1;9161:354:1::0;9486:74:0::1;9576:9;9571:237;9595:14;:21;9591:1;:25;9571:237;;;9638:14;9655;9670:1;9655:17;;;;;;;;:::i;:::-;;;;;;;9638:34;;9687:21;1724:1;9724:2;:13;;;;:::i;:::-;9711:6;9718:1;9711:9;;;;;;;;:::i;:::-;;;;;;;:27;;;;:::i;:::-;9687:51;;9753:43;2493:42;9774:6;9782:13;9753:15;:43::i;:::-;;9623:185;;9618:3;;;;;:::i;:::-;;;;9571:237;;;;9823:36;9836:14;9852:6;9823:36;;;;;;;:::i;:::-;;;;;;;;9374:493:::0;;:::o;6402:481::-;-1:-1:-1;;;;;6524:19:0;;6503:4;6524:19;;;:11;:19;;;;;;;;6544:10;6524:31;;;;;;;;-1:-1:-1;;6524:52:0;6520:298;;-1:-1:-1;;;;;6601:19:0;;;;;;:11;:19;;;;;;;;6621:10;6601:31;;;;;;;;:41;-1:-1:-1;6601:41:0;6593:76;;;;-1:-1:-1;;;6593:76:0;;12560:2:1;6593:76:0;;;12542:21:1;12599:2;12579:18;;;12572:30;-1:-1:-1;;;12618:18:1;;;12611:52;12680:18;;6593:76:0;12358:346:1;6593:76:0;-1:-1:-1;;;;;6684:19:0;;;;;;:11;:19;;;;;;;;6704:10;6684:31;;;;;;;:41;;6719:6;;6684:19;:41;;6719:6;;6684:41;:::i;:::-;;;;-1:-1:-1;;;;;;;6745:61:0;;6774:19;;;;:11;:19;;;;;;;;6762:10;6774:31;;;;;;;;;;;6745:61;;1342:25:1;;;6762:10:0;;6745:61;;;1315:18:1;6745:61:0;;;;;;;6520:298;6835:40;6849:6;6857:9;6868:6;6835:13;:40::i;:::-;6828:47;;6402:481;;;;;;:::o;7720:339::-;3094:10;2493:42;3094:17;3085:55;;;;-1:-1:-1;;;3085:55:0;;;;;;;:::i;:::-;7828:4:::1;-1:-1:-1::0;;;;;7803:30:0;::::1;::::0;7795:64:::1;;;::::0;-1:-1:-1;;;7795:64:0;;13044:2:1;7795:64:0::1;::::0;::::1;13026:21:1::0;13083:2;13063:18;;;13056:30;-1:-1:-1;;;13102:18:1;;;13095:51;13163:18;;7795:64:0::1;12842:345:1::0;7795:64:0::1;7903:46;::::0;-1:-1:-1;;;7903:46:0;;7943:4:::1;7903:46;::::0;::::1;5367:51:1::0;7875:75:0::1;::::0;7888:13;;-1:-1:-1;;;;;7903:31:0;::::1;::::0;::::1;::::0;5340:18:1;;7903:46:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7875:75;::::0;;-1:-1:-1;;;;;13573:32:1;;;13555:51;;13637:2;13622:18;;13615:34;;;;13528:18;7875:75:0::1;;;;;;;8004:46;::::0;-1:-1:-1;;;8004:46:0;;8044:4:::1;8004:46;::::0;::::1;5367:51:1::0;-1:-1:-1;;;;;7961:30:0;::::1;::::0;::::1;::::0;7992:10:::1;::::0;7961:30;;8004:31:::1;::::0;5340:18:1;;8004:46:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7961:90;::::0;-1:-1:-1;;;;;;7961:90:0::1;::::0;;;;;;-1:-1:-1;;;;;13573:32:1;;;7961:90:0::1;::::0;::::1;13555:51:1::0;13622:18;;;13615:34;13528:18;;7961:90:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7720:339:::0;:::o;8776:348::-;3094:10;2493:42;3094:17;3085:55;;;;-1:-1:-1;;;3085:55:0;;;;;;;:::i;:::-;8900:3:::1;8885:12;;:18;;;;:::i;:::-;8875:6;:28;;8867:86;;;::::0;-1:-1:-1;;;8867:86:0;;14112:2:1;8867:86:0::1;::::0;::::1;14094:21:1::0;14151:2;14131:18;;;14124:30;14190:34;14170:18;;;14163:62;-1:-1:-1;;;14241:18:1;;;14234:43;14294:19;;8867:86:0::1;13910:409:1::0;8867:86:0::1;9001:3;8986:12;;:18;;;;:::i;:::-;8972:10;:32;;8964:94;;;::::0;-1:-1:-1;;;8964:94:0;;14526:2:1;8964:94:0::1;::::0;::::1;14508:21:1::0;14565:2;14545:18;;;14538:30;14604:34;14584:18;;;14577:62;-1:-1:-1;;;14655:18:1;;;14648:47;14712:19;;8964:94:0::1;14324:413:1::0;8964:94:0::1;9069:5;:14:::0;;;;9094:9:::1;:22:::0;8776:348::o;5379:357::-;5459:4;-1:-1:-1;;;;;5484:21:0;;5476:61;;;;-1:-1:-1;;;5476:61:0;;;;;;;:::i;:::-;5617:10;5584:30;5594:10;5606:7;5584:9;:30::i;:::-;:43;;;;:::i;:::-;5560:10;5548:23;;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5548:32:0;;;;;;;;;;;;:79;;;5643:63;1342:25:1;;;5548:32:0;;5643:63;;1315:18:1;5643:63:0;1196:177:1;4965:106:0;5020:4;5034:35;5042:7;-1:-1:-1;;5034:7:0;:35::i;6891:130::-;3094:10;2493:42;3094:17;3085:55;;;;-1:-1:-1;;;3085:55:0;;;;;;;:::i;:::-;6975:4:::1;6957:24;::::0;;;:9:::1;:24;::::0;;;;;;;;;6946:36;;1342:25:1;;;6946:36:0::1;::::0;1315:18:1;6946:36:0::1;;;;;;;6993:20;:18;:20::i;:::-;6891:130::o:0;5744:482::-;5829:4;-1:-1:-1;;;;;5854:21:0;;5846:61;;;;-1:-1:-1;;;5846:61:0;;;;;;;:::i;:::-;5960:15;5926:30;5936:10;5948:7;5926:9;:30::i;:::-;:49;;5918:104;;;;-1:-1:-1;;;5918:104:0;;14944:2:1;5918:104:0;;;14926:21:1;14983:2;14963:18;;;14956:30;15022:34;15002:18;;;14995:62;-1:-1:-1;;;15073:18:1;;;15066:40;15123:19;;5918:104:0;14742:406:1;5918:104:0;6102:15;6069:30;6079:10;6091:7;6069:9;:30::i;:::-;:48;;;;:::i;6238:156::-;6318:4;6342:44;6356:10;6368:9;6379:6;6342:13;:44::i;7389:323::-;3094:10;2493:42;3094:17;3085:55;;;;-1:-1:-1;;;3085:55:0;;;;;;;:::i;:::-;7538:2:::1;7523:12;;:17;;;;:::i;:::-;7503:16;:37;;7470:136;;;::::0;-1:-1:-1;;;7470:136:0;;15355:2:1;7470:136:0::1;::::0;::::1;15337:21:1::0;15394:2;15374:18;;;15367:30;15433:34;15413:18;;;15406:62;15504:31;15484:18;;;15477:59;15553:19;;7470:136:0::1;15153:425:1::0;7470:136:0::1;7619:15;:34:::0;;;7669:35:::1;::::0;1342:25:1;;;7669:35:0::1;::::0;1330:2:1;1315:18;7669:35:0::1;;;;;;;7389:323:::0;:::o;9132:230::-;3094:10;2493:42;3094:17;3085:55;;;;-1:-1:-1;;;3085:55:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9218:17:0;::::1;;::::0;;;:9:::1;:17;::::0;;;;:26;;-1:-1:-1;;9218:26:0::1;::::0;::::1;::::0;::::1;::::0;;;::::1;::::0;;;9255:99:::1;;9271:30;::::0;-1:-1:-1;;;;;5385:32:1;;5367:51;;9271:30:0::1;::::0;5355:2:1;5340:18;9271:30:0::1;5221:203:1::0;9255:99:0::1;9322:32;::::0;-1:-1:-1;;;;;5385:32:1;;5367:51;;9322:32:0::1;::::0;5355:2:1;5340:18;9322:32:0::1;5221:203:1::0;8067:157:0;3094:10;2493:42;3094:17;3085:55;;;;-1:-1:-1;;;3085:55:0;;;;;;;:::i;:::-;8121:33:::1;::::0;8132:21:::1;1342:25:1::0;;8121:33:0::1;::::0;1330:2:1;1315:18;8121:33:0::1;;;;;;;8165:51;::::0;8173:10:::1;::::0;8194:21:::1;8165:51:::0;::::1;;;::::0;::::1;::::0;;;8194:21;8173:10;8165:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;8067:157::o:0;7029:348::-;3094:10;2493:42;3094:17;3085:55;;;;-1:-1:-1;;;3085:55:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7133:30:0;::::1;::::0;;::::1;::::0;:60:::1;;-1:-1:-1::0;;;;;;7167:26:0;::::1;::::0;::::1;7133:60;7125:102;;;::::0;-1:-1:-1;;;7125:102:0;;15785:2:1;7125:102:0::1;::::0;::::1;15767:21:1::0;15824:2;15804:18;;;15797:30;15863:31;15843:18;;;15836:59;15912:18;;7125:102:0::1;15583:353:1::0;7125:102:0::1;7238:15;:34:::0;;-1:-1:-1;;;;;7238:34:0;;::::1;-1:-1:-1::0;;;;;;7238:34:0;;::::1;::::0;::::1;::::0;;;7283:11:::1;:26:::0;;;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;7325:44:::1;::::0;;16153:34:1;;;16218:2;16203:18;;16196:43;;;;7325:44:0::1;::::0;16088:18:1;7325:44:0::1;15941:304:1::0;4830:129:0;-1:-1:-1;;;;;4929:19:0;;;4912:7;4929:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;4830:129::o;11865:481::-;11959:4;-1:-1:-1;;;;;11984:20:0;;;;;;:47;;-1:-1:-1;;;;;;12008:23:0;;;;11984:47;11976:89;;;;-1:-1:-1;;;11976:89:0;;15785:2:1;11976:89:0;;;15767:21:1;15824:2;15804:18;;;15797:30;15863:31;15843:18;;;15836:59;15912:18;;11976:89:0;15583:353:1;11976:89:0;-1:-1:-1;;;;;12094:17:0;;;;;;:9;:17;;;;;;12084:27;;;12076:72;;;;-1:-1:-1;;;12076:72:0;;16452:2:1;12076:72:0;;;16434:21:1;;;16471:18;;;16464:30;16530:34;16510:18;;;16503:62;16582:18;;12076:72:0;16250:356:1;12076:72:0;12162:6;12172:1;12162:11;12159:27;;-1:-1:-1;12182:4:0;12175:11;;12159:27;-1:-1:-1;;;;;12197:17:0;;;;;;:9;:17;;;;;:27;;12218:6;;12197:17;:27;;12218:6;;12197:27;:::i;:::-;;;;-1:-1:-1;;;;;;;12235:20:0;;;;;;:9;:20;;;;;:30;;12259:6;;12235:20;:30;;12259:6;;12235:30;:::i;:::-;;;;;;;;12298:9;-1:-1:-1;;;;;12281:35:0;12290:6;-1:-1:-1;;;;;12281:35:0;;12309:6;12281:35;;;;1342:25:1;;1330:2;1315:18;;1196:177;12281:35:0;;;;;;;;-1:-1:-1;12334:4:0;11865:481;;;;;:::o;9875:534::-;9967:4;9987:6;9997:1;9987:11;9984:27;;-1:-1:-1;10007:4:0;10000:11;;9984:27;-1:-1:-1;;;;;10026:17:0;;;;;;:9;:17;;;;;;;;;:41;;-1:-1:-1;;;;;;10047:20:0;;;;;;:9;:20;;;;;;;;10026:41;10022:96;;;10076:42;10092:6;10100:9;10111:6;10076:15;:42::i;:::-;10069:49;;;;10022:96;10153:15;10139:10;;:29;;10131:67;;;;-1:-1:-1;;;10131:67:0;;16813:2:1;10131:67:0;;;16795:21:1;16852:2;16832:18;;;16825:30;16891:27;16871:18;;;16864:55;16936:18;;10131:67:0;16611:349:1;10131:67:0;10215:30;10238:6;10215:22;:30::i;:::-;10211:56;;;10247:20;:18;:20::i;:::-;10287:3;;:8;:54;;10307:34;10315:6;10323:9;10334:6;10307:7;:34::i;:::-;10287:54;;;10298:6;10287:54;10278:63;;10359:42;10375:6;10383:9;10394:6;10359:15;:42::i;12354:761::-;12407:9;;:14;:26;;;;-1:-1:-1;12425:3:0;;:8;12407:26;12404:38;;;12354:761::o;12404:38::-;12452:26;12533:3;;12521:9;;:15;;;;:::i;:::-;12508:9;;12499:4;12481:24;;;;:9;:24;;;;;;:36;;12508:9;12481:36;:::i;:::-;:56;;;;:::i;:::-;12452:85;-1:-1:-1;12561:22:0;;12558:240;;12594:6;;:204;;-1:-1:-1;;;12594:204:0;;-1:-1:-1;;;;;12594:6:0;;;;:57;;:204;;12666:18;;12594:6;;12715:14;;12752:4;;12772:15;;12594:204;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12558:240;12832:4;12841:1;12814:24;;;:9;:24;;;;;;:28;12811:157;;12882:4;12895:24;;;;:9;:24;;;;;;12858:62;;12882:4;12889;;12858:15;:62::i;:::-;;12944:4;-1:-1:-1;;;;;12935:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12811:157;13006:15;;12998:63;;12981:12;;-1:-1:-1;;;;;13006:15:0;;13035:21;;12981:12;12998:63;12981:12;12998:63;13035:21;13006:15;12998:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12980:81;;;13075:7;13072:35;;;13089:18;;;;;;;12393:722;;12354:761::o;11693:164::-;11764:4;11798;-1:-1:-1;;;;;11788:14:0;:6;-1:-1:-1;;;;;11788:14:0;;;:61;;;;-1:-1:-1;11834:15:0;;11824:4;4787:7;4804:18;;;:9;:18;;;;;;11806:43;;11781:68;11693:164;-1:-1:-1;;11693:164:0:o;10417:1268::-;10503:7;10523:17;10558:10;;10552:3;;10543:6;:12;;;;:::i;:::-;:25;;;;:::i;:::-;10523:45;;10600:10;;10613:7;10600:20;;;;:::i;:::-;10582:15;:38;10579:594;;;10652:4;-1:-1:-1;;;;;10639:17:0;:9;-1:-1:-1;;;;;10639:17:0;;10636:92;;10720:7;10706:10;;10688:15;:28;;;;:::i;:::-;10687:40;;;;:::i;:::-;10683:44;;:1;:44;:::i;:::-;10670:58;;:9;:58;:::i;:::-;10658:70;;10636:92;10756:4;-1:-1:-1;;;;;10746:14:0;:6;-1:-1:-1;;;;;10746:14:0;;:58;;;;-1:-1:-1;10782:10:0;;:22;;10795:9;10782:22;:::i;:::-;10764:15;:40;10746:58;10743:419;;;10837:1;10825:13;;10869:5;;10860:6;:14;10857:189;;;10899:23;10934:5;;10925:6;:14;;;;:::i;:::-;11021:5;;;-1:-1:-1;10899:40:0;-1:-1:-1;;10857:189:0;11142:3;11126:11;;11111:12;:26;;;;:::i;:::-;11108:30;;:1;:30;:::i;:::-;11103:35;;:2;:35;:::i;:::-;11093:46;;:6;:46;:::i;:::-;:52;;;;:::i;:::-;11080:65;;;;:::i;:::-;;;10743:419;11198:4;-1:-1:-1;;;;;11188:14:0;:6;-1:-1:-1;;;;;11188:14:0;;11185:102;;11245:9;;-1:-1:-1;;;;;11212:20:0;;;;;;:9;:20;;;;;;:29;;11235:6;;11212:29;:::i;:::-;:42;;11204:83;;;;-1:-1:-1;;;11204:83:0;;18385:2:1;11204:83:0;;;18367:21:1;18424:2;18404:18;;;18397:30;18463;18443:18;;;18436:58;18511:18;;11204:83:0;18183:352:1;11204:83:0;11319:5;;11309:6;:15;;11301:52;;;;-1:-1:-1;;;11301:52:0;;18742:2:1;11301:52:0;;;18724:21:1;18781:2;18761:18;;;18754:30;18820:26;18800:18;;;18793:54;18864:18;;11301:52:0;18540:348:1;11301:52:0;11377:4;;:8;11374:66;;11387:53;11403:6;2574:42;11436:3;;11429:4;;11417:9;:16;;;;:::i;:::-;:22;;;;:::i;:::-;11387:15;:53::i;:::-;;11374:66;11454:5;;:9;11451:75;;11489:11;;11522:3;;11514:5;;11465:61;;11481:6;;-1:-1:-1;;;;;11489:11:0;;;;11502:17;;:9;:17;:::i;11465:61::-;;11451:75;11546:1;11540:3;;:7;:24;;;;11563:1;11551:9;;:13;11540:24;11537:104;;;11566:75;11582:6;11598:4;11637:3;;11630;;11618:9;;:15;;;;:::i;:::-;11605:29;;:9;:29;:::i;11566:75::-;;11537:104;11659:18;11668:9;11659:6;:18;:::i;:::-;11652:25;10417:1268;-1:-1:-1;;;;;10417:1268:0:o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1378:454::-;1473:6;1481;1489;1497;1505;1558:3;1546:9;1537:7;1533:23;1529:33;1526:53;;;1575:1;1572;1565:12;1526:53;-1:-1:-1;;1598:23:1;;;1668:2;1653:18;;1640:32;;-1:-1:-1;1719:2:1;1704:18;;1691:32;;1770:2;1755:18;;1742:32;;-1:-1:-1;1821:3:1;1806:19;1793:33;;-1:-1:-1;1378:454:1;-1:-1:-1;1378:454:1:o;1837:127::-;1898:10;1893:3;1889:20;1886:1;1879:31;1929:4;1926:1;1919:15;1953:4;1950:1;1943:15;1969:275;2040:2;2034:9;2105:2;2086:13;;-1:-1:-1;;2082:27:1;2070:40;;2140:18;2125:34;;2161:22;;;2122:62;2119:88;;;2187:18;;:::i;:::-;2223:2;2216:22;1969:275;;-1:-1:-1;1969:275:1:o;2249:183::-;2309:4;2342:18;2334:6;2331:30;2328:56;;;2364:18;;:::i;:::-;-1:-1:-1;2409:1:1;2405:14;2421:4;2401:25;;2249:183::o;2437:662::-;2491:5;2544:3;2537:4;2529:6;2525:17;2521:27;2511:55;;2562:1;2559;2552:12;2511:55;2598:6;2585:20;2624:4;2648:60;2664:43;2704:2;2664:43;:::i;:::-;2648:60;:::i;:::-;2742:15;;;2828:1;2824:10;;;;2812:23;;2808:32;;;2773:12;;;;2852:15;;;2849:35;;;2880:1;2877;2870:12;2849:35;2916:2;2908:6;2904:15;2928:142;2944:6;2939:3;2936:15;2928:142;;;3010:17;;2998:30;;3048:12;;;;2961;;2928:142;;;-1:-1:-1;3088:5:1;2437:662;-1:-1:-1;;;;;;2437:662:1:o;3104:1146::-;3222:6;3230;3283:2;3271:9;3262:7;3258:23;3254:32;3251:52;;;3299:1;3296;3289:12;3251:52;3339:9;3326:23;3368:18;3409:2;3401:6;3398:14;3395:34;;;3425:1;3422;3415:12;3395:34;3463:6;3452:9;3448:22;3438:32;;3508:7;3501:4;3497:2;3493:13;3489:27;3479:55;;3530:1;3527;3520:12;3479:55;3566:2;3553:16;3588:4;3612:60;3628:43;3668:2;3628:43;:::i;3612:60::-;3706:15;;;3788:1;3784:10;;;;3776:19;;3772:28;;;3737:12;;;;3812:19;;;3809:39;;;3844:1;3841;3834:12;3809:39;3868:11;;;;3888:148;3904:6;3899:3;3896:15;3888:148;;;3970:23;3989:3;3970:23;:::i;:::-;3958:36;;3921:12;;;;4014;;;;3888:148;;;4055:5;-1:-1:-1;;4098:18:1;;4085:32;;-1:-1:-1;;4129:16:1;;;4126:36;;;4158:1;4155;4148:12;4126:36;;4181:63;4236:7;4225:8;4214:9;4210:24;4181:63;:::i;:::-;4171:73;;;3104:1146;;;;;:::o;4255:328::-;4332:6;4340;4348;4401:2;4389:9;4380:7;4376:23;4372:32;4369:52;;;4417:1;4414;4407:12;4369:52;4440:29;4459:9;4440:29;:::i;:::-;4430:39;;4488:38;4522:2;4511:9;4507:18;4488:38;:::i;:::-;4478:48;;4573:2;4562:9;4558:18;4545:32;4535:42;;4255:328;;;;;:::o;4588:186::-;4647:6;4700:2;4688:9;4679:7;4675:23;4671:32;4668:52;;;4716:1;4713;4706:12;4668:52;4739:29;4758:9;4739:29;:::i;4779:248::-;4847:6;4855;4908:2;4896:9;4887:7;4883:23;4879:32;4876:52;;;4924:1;4921;4914:12;4876:52;-1:-1:-1;;4947:23:1;;;5017:2;5002:18;;;4989:32;;-1:-1:-1;4779:248:1:o;5429:180::-;5488:6;5541:2;5529:9;5520:7;5516:23;5512:32;5509:52;;;5557:1;5554;5547:12;5509:52;-1:-1:-1;5580:23:1;;5429:180;-1:-1:-1;5429:180:1:o;5614:118::-;5700:5;5693:13;5686:21;5679:5;5676:32;5666:60;;5722:1;5719;5712:12;5737:315;5802:6;5810;5863:2;5851:9;5842:7;5838:23;5834:32;5831:52;;;5879:1;5876;5869:12;5831:52;5902:29;5921:9;5902:29;:::i;:::-;5892:39;;5981:2;5970:9;5966:18;5953:32;5994:28;6016:5;5994:28;:::i;:::-;6041:5;6031:15;;;5737:315;;;;;:::o;6057:260::-;6125:6;6133;6186:2;6174:9;6165:7;6161:23;6157:32;6154:52;;;6202:1;6199;6192:12;6154:52;6225:29;6244:9;6225:29;:::i;:::-;6215:39;;6273:38;6307:2;6296:9;6292:18;6273:38;:::i;:::-;6263:48;;6057:260;;;;;:::o;6548:348::-;6750:2;6732:21;;;6789:2;6769:18;;;6762:30;6828:26;6823:2;6808:18;;6801:54;6887:2;6872:18;;6548:348::o;7251:351::-;7453:2;7435:21;;;7492:2;7472:18;;;7465:30;7531:29;7526:2;7511:18;;7504:57;7593:2;7578:18;;7251:351::o;7607:127::-;7668:10;7663:3;7659:20;7656:1;7649:31;7699:4;7696:1;7689:15;7723:4;7720:1;7713:15;7739:125;7804:9;;;7825:10;;;7822:36;;;7838:18;;:::i;7869:168::-;7942:9;;;7973;;7990:15;;;7984:22;;7970:37;7960:71;;8011:18;;:::i;8042:217::-;8082:1;8108;8098:132;;8152:10;8147:3;8143:20;8140:1;8133:31;8187:4;8184:1;8177:15;8215:4;8212:1;8205:15;8098:132;-1:-1:-1;8244:9:1;;8042:217::o;9520:127::-;9581:10;9576:3;9572:20;9569:1;9562:31;9612:4;9609:1;9602:15;9636:4;9633:1;9626:15;9652:422;9741:1;9784:5;9741:1;9798:270;9819:7;9809:8;9806:21;9798:270;;;9878:4;9874:1;9870:6;9866:17;9860:4;9857:27;9854:53;;;9887:18;;:::i;:::-;9937:7;9927:8;9923:22;9920:55;;;9957:16;;;;9920:55;10036:22;;;;9996:15;;;;9798:270;;;9802:3;9652:422;;;;;:::o;10079:806::-;10128:5;10158:8;10148:80;;-1:-1:-1;10199:1:1;10213:5;;10148:80;10247:4;10237:76;;-1:-1:-1;10284:1:1;10298:5;;10237:76;10329:4;10347:1;10342:59;;;;10415:1;10410:130;;;;10322:218;;10342:59;10372:1;10363:10;;10386:5;;;10410:130;10447:3;10437:8;10434:17;10431:43;;;10454:18;;:::i;:::-;-1:-1:-1;;10510:1:1;10496:16;;10525:5;;10322:218;;10624:2;10614:8;10611:16;10605:3;10599:4;10596:13;10592:36;10586:2;10576:8;10573:16;10568:2;10562:4;10559:12;10555:35;10552:77;10549:159;;;-1:-1:-1;10661:19:1;;;10693:5;;10549:159;10740:34;10765:8;10759:4;10740:34;:::i;:::-;10810:6;10806:1;10802:6;10798:19;10789:7;10786:32;10783:58;;;10821:18;;:::i;:::-;10859:20;;10079:806;-1:-1:-1;;;10079:806:1:o;10890:140::-;10948:5;10977:47;11018:4;11008:8;11004:19;10998:4;10977:47;:::i;11035:135::-;11074:3;11095:17;;;11092:43;;11115:18;;:::i;:::-;-1:-1:-1;11162:1:1;11151:13;;11035:135::o;11175:1178::-;11443:2;11455:21;;;11525:13;;11428:18;;;11547:22;;;11395:4;;11622;;11600:2;11585:18;;;11649:15;;;11395:4;11692:195;11706:6;11703:1;11700:13;11692:195;;;11771:13;;-1:-1:-1;;;;;11767:39:1;11755:52;;11827:12;;;;11862:15;;;;11803:1;11721:9;11692:195;;;-1:-1:-1;;;11923:19:1;;;11903:18;;;11896:47;11993:13;;12015:21;;;12091:15;;;;12054:12;;;12126:1;12136:189;12152:8;12147:3;12144:17;12136:189;;;12221:15;;12207:30;;12298:17;;;;12259:14;;;;12180:1;12171:11;12136:189;;;-1:-1:-1;12342:5:1;;11175:1178;-1:-1:-1;;;;;;;11175:1178:1:o;12709:128::-;12776:9;;;12797:11;;;12794:37;;;12811:18;;:::i;13192:184::-;13262:6;13315:2;13303:9;13294:7;13290:23;13286:32;13283:52;;;13331:1;13328;13321:12;13283:52;-1:-1:-1;13354:16:1;;13192:184;-1:-1:-1;13192:184:1:o;13660:245::-;13727:6;13780:2;13768:9;13759:7;13755:23;13751:32;13748:52;;;13796:1;13793;13786:12;13748:52;13828:9;13822:16;13847:28;13869:5;13847:28;:::i;16965:1003::-;17224:4;17272:3;17261:9;17257:19;17303:6;17292:9;17285:25;17329:2;17367:6;17362:2;17351:9;17347:18;17340:34;17410:3;17405:2;17394:9;17390:18;17383:31;17434:6;17469;17463:13;17500:6;17492;17485:22;17538:3;17527:9;17523:19;17516:26;;17561:6;17558:1;17551:17;17604:2;17601:1;17591:16;17577:30;;17625:1;17635:194;17649:6;17646:1;17643:13;17635:194;;;17714:13;;-1:-1:-1;;;;;17710:39:1;17698:52;;17746:1;17805:14;;;;17770:12;;;;17664:9;17635:194;;;-1:-1:-1;;;;;;;17885:32:1;;;;17880:2;17865:18;;17858:60;-1:-1:-1;;;17949:3:1;17934:19;17927:35;17846:3;16965:1003;-1:-1:-1;;;16965:1003:1:o

Swarm Source

ipfs://4fca15e2b7009a08c650c87275d804e8a6f085024ed04851313c44b055e7a236

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.