ETH Price: $2,967.05 (-1.51%)
Gas: 4 Gwei

Contract

0xc7d4515Ba4c82c98a5a81d2A5eF98dcf35314314
 

Overview

ETH Balance

1.615792224805303615 ETH

Eth Value

$4,794.13 (@ $2,967.05/ETH)

Token Holdings

Transaction Hash
Method
Block
From
To
Value
Transfer202539622024-07-07 10:12:474 hrs ago1720347167IN
0xc7d4515B...f35314314
0 ETH0.000132291.43857944
Transfer202538102024-07-07 9:42:234 hrs ago1720345343IN
0xc7d4515B...f35314314
0 ETH0.000143581.56114114
Transfer202368642024-07-05 0:56:472 days ago1720141007IN
0xc7d4515B...f35314314
0.00147451 ETH0.000374548.91771509
Transfer202318392024-07-04 8:04:473 days ago1720080287IN
0xc7d4515B...f35314314
0 ETH0.00026355.36067984
Transfer202318382024-07-04 8:04:353 days ago1720080275IN
0xc7d4515B...f35314314
0.002 ETH0.000308825.09727833
Transfer202318362024-07-04 8:04:113 days ago1720080251IN
0xc7d4515B...f35314314
0 ETH0.000281945.22669859
Transfer202318332024-07-04 8:03:353 days ago1720080215IN
0xc7d4515B...f35314314
0 ETH0.000295185.47221146
Transfer202318092024-07-04 7:58:473 days ago1720079927IN
0xc7d4515B...f35314314
0.255 ETH0.000416444.30083943
Transfer202314602024-07-04 6:48:353 days ago1720075715IN
0xc7d4515B...f35314314
0.05 ETH0.000316933.27320947
Transfer202304952024-07-04 3:34:233 days ago1720064063IN
0xc7d4515B...f35314314
0 ETH0.000331763.60721348
Transfer202304732024-07-04 3:29:593 days ago1720063799IN
0xc7d4515B...f35314314
0 ETH0.000297313.23268549
Transfer202302842024-07-04 2:52:113 days ago1720061531IN
0xc7d4515B...f35314314
0 ETH0.000399664.34545344
Transfer202297212024-07-04 0:59:113 days ago1720054751IN
0xc7d4515B...f35314314
0.05 ETH0.000226292.33712923
Transfer202275482024-07-03 17:43:113 days ago1720028591IN
0xc7d4515B...f35314314
0 ETH0.0010622711.55
Transfer202264362024-07-03 13:59:474 days ago1720015187IN
0xc7d4515B...f35314314
0 ETH0.002413719.1302577
Transfer202264292024-07-03 13:58:234 days ago1720015103IN
0xc7d4515B...f35314314
0 ETH0.001634617.76825716
Transfer202252532024-07-03 10:01:354 days ago1720000895IN
0xc7d4515B...f35314314
0.05 ETH0.000345463.56777306
Transfer202235792024-07-03 4:24:594 days ago1719980699IN
0xc7d4515B...f35314314
0 ETH0.000501633.8304688
Transfer202230112024-07-03 2:30:354 days ago1719973835IN
0xc7d4515B...f35314314
0 ETH0.000418254.54649788
Transfer202048372024-06-30 13:35:357 days ago1719754535IN
0xc7d4515B...f35314314
0 ETH0.000455174.70420454
Transfer201870662024-06-28 2:01:359 days ago1719540095IN
0xc7d4515B...f35314314
0.05 ETH0.000550615.68647869
Transfer201814212024-06-27 7:05:5910 days ago1719471959IN
0xc7d4515B...f35314314
0 ETH0.000448444.87466466
Transfer201753482024-06-26 10:44:5911 days ago1719398699IN
0xc7d4515B...f35314314
0 ETH0.00025872.81287302
Transfer201750752024-06-26 9:50:1111 days ago1719395411IN
0xc7d4515B...f35314314
0 ETH0.000391033.09920768
Transfer201699802024-06-25 16:45:5911 days ago1719333959IN
0xc7d4515B...f35314314
0 ETH0.00045169.18504067
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
202539622024-07-07 10:12:474 hrs ago1720347167
0xc7d4515B...f35314314
0.01037454 ETH
202539622024-07-07 10:12:474 hrs ago1720347167
0xc7d4515B...f35314314
0.00032086 ETH
202538102024-07-07 9:42:234 hrs ago1720345343
0xc7d4515B...f35314314
0.1921329 ETH
202538102024-07-07 9:42:234 hrs ago1720345343
0xc7d4515B...f35314314
0.00594225 ETH
202368642024-07-05 0:56:472 days ago1720141007
0xc7d4515B...f35314314
0.00004423 ETH
202318382024-07-04 8:04:353 days ago1720080275
0xc7d4515B...f35314314
0.00006 ETH
202318092024-07-04 7:58:473 days ago1720079927
0xc7d4515B...f35314314
0.00765 ETH
202314602024-07-04 6:48:353 days ago1720075715
0xc7d4515B...f35314314
0.0015 ETH
202304952024-07-04 3:34:233 days ago1720064063
0xc7d4515B...f35314314
0.10463782 ETH
202304952024-07-04 3:34:233 days ago1720064063
0xc7d4515B...f35314314
0.00323622 ETH
202304732024-07-04 3:29:593 days ago1720063799
0xc7d4515B...f35314314
0.15183536 ETH
202304732024-07-04 3:29:593 days ago1720063799
0xc7d4515B...f35314314
0.00469593 ETH
202302842024-07-04 2:52:113 days ago1720061531
0xc7d4515B...f35314314
0.05483056 ETH
202302842024-07-04 2:52:113 days ago1720061531
0xc7d4515B...f35314314
0.00169579 ETH
202297212024-07-04 0:59:113 days ago1720054751
0xc7d4515B...f35314314
0.0015 ETH
202275482024-07-03 17:43:113 days ago1720028591
0xc7d4515B...f35314314
0.06784307 ETH
202275482024-07-03 17:43:113 days ago1720028591
0xc7d4515B...f35314314
0.00209823 ETH
202264362024-07-03 13:59:474 days ago1720015187
0xc7d4515B...f35314314
0.05849181 ETH
202264362024-07-03 13:59:474 days ago1720015187
0xc7d4515B...f35314314
0.00180902 ETH
202264292024-07-03 13:58:234 days ago1720015103
0xc7d4515B...f35314314
0.18243557 ETH
202264292024-07-03 13:58:234 days ago1720015103
0xc7d4515B...f35314314
0.00564233 ETH
202252532024-07-03 10:01:354 days ago1720000895
0xc7d4515B...f35314314
0.0015 ETH
202235792024-07-03 4:24:594 days ago1719980699
0xc7d4515B...f35314314
0.01395714 ETH
202235792024-07-03 4:24:594 days ago1719980699
0xc7d4515B...f35314314
0.00043166 ETH
202230112024-07-03 2:30:354 days ago1719973835
0xc7d4515B...f35314314
0.24433954 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ERC314Token

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-04-28
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

interface IEERC314 {
  event Transfer(address indexed from, address indexed to, uint256 value);
  event AddLiquidity(uint32 _blockToUnlockLiquidity, uint256 value);
  event RemoveLiquidity(uint256 value);
  event Swap(address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out);
}

abstract contract ERC314 is IEERC314 {
    mapping(address account => uint256) private _balances;
    mapping(address account => uint256) private _lastTxTime;
    mapping(address account => uint32) private lastTransaction;
    mapping(address => mapping(address => uint256)) private _allowances;
    uint256 private _totalSupply;
    uint256 public _maxWallet;
    uint32 public blockToUnlockLiquidity;

    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );

    string private _name;
    string private _symbol;

    address public owner;
    address public liquidityProvider;

    bool public tradingEnable;
    bool public liquidityAdded;
    bool public maxWalletEnable;

  modifier onlyOwner() {
    require(msg.sender == owner, 'Ownable: caller is not the owner');
    _;
  }

  modifier onlyLiquidityProvider() {
    require(msg.sender == liquidityProvider, 'You are not the liquidity provider');
    _;
  }

 address payable public feeReceiver;
  constructor(string memory name_, string memory symbol_, uint256 totalSupply_) {
    _name = name_;
    _symbol = symbol_;
    _totalSupply = totalSupply_;
    _maxWallet = totalSupply_ * 100 / 100;
    address receiver = 0xb33aE298655042AEB1A8172875B56C02B6c358B4;
    feeReceiver = payable(0x9D2D4178785A8f05e28d5F2733cA4F30A23Fe795);
    owner = receiver;
    tradingEnable = false;
    maxWalletEnable = true;

    // _balances[receiver] = totalSupply_ * 50 / 100;
    uint256 liquidityAmount = 0 * 10 ** 18;
    // uint256 liquidityAmount = totalSupply_ / 2; // for test
    _balances[address(this)] = liquidityAmount;
    _balances[receiver] = totalSupply_ - liquidityAmount;
    emit Transfer(address(0), address(this), liquidityAmount);
    emit Transfer(address(0), receiver, totalSupply_ - liquidityAmount);

    liquidityAdded = false;

    excludeOf[receiver] = true;
    excludeOf[feeReceiver] = true;
    excludeOf[address(this)] = true;

    // excludeCoolingOf[receiver] =true;
    
  }

  function name() public view virtual returns (string memory) {
    return _name;
  }

  function symbol() public view virtual returns (string memory) {
    return _symbol;
  }

  function decimals() public view virtual returns (uint8) {
    return 18;
  }

  function totalSupply() public view virtual returns (uint256) {
    return _totalSupply;
  }

  function balanceOf(address account) public view virtual returns (uint256) {
    return _balances[account];
  }

    function allowance(
        address _owner,
        address spender
    ) public view virtual returns (uint256) {
        return _allowances[_owner][spender];
    }

    function approve(
        address spender,
        uint256 amount
    ) public virtual returns (bool) {
        address _owner = msg.sender;
        _approve(_owner, spender, amount);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual returns (bool) {
        address spender = msg.sender;
        _spendAllowance(from, spender, amount);

        if (to == address(this)) {
            sell(from, amount);
        } else {
            _transfer(from, to, amount);
        }

        return true;
    }


    // function transfer(address to, uint256 value) public virtual returns (bool) {
    //     // sell or transfer
    //     if (to == address(this)) {
    //     sell(value);
    //     } else {
    //     _transfer(msg.sender, to, value);
    //     }
    //     return true;
    // }

    function transfer(address to, uint256 value) public virtual returns (bool) {
        // sell or transfer
        if (to == address(this)) {
            sell(msg.sender, value);
        } else {
            _transfer(msg.sender, to, value);
        }
        return true;
    }

    function _approve(
        address _owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(_owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[_owner][spender] = amount;
        emit Approval(_owner, spender, amount);
    }

    function _spendAllowance(
        address _owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(_owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(
                currentAllowance >= amount,
                "ERC20: insufficient allowance"
            );
            unchecked {
                _approve(_owner, spender, currentAllowance - amount);
            }
        }
    }


    uint256 public cooldownSec = 5;
    function setCooldownSec(uint256 newValue) public onlyOwner{
        require(newValue <= 60,"too long");
        cooldownSec = newValue;
    }

    mapping(address => bool) public excludeCoolingOf;
    function setExcludeCoolingOf(
        address[] memory accounts,
        bool _ok
    ) external onlyOwner {
        for (uint i = 0; i < accounts.length; i++) {
            excludeCoolingOf[accounts[i]] = _ok;
        }
    }

    mapping(address => bool) public excludeOf;
    function setExcludeOf(
        address[] memory accounts,
        bool _ok
    ) external onlyOwner {
        for (uint i = 0; i < accounts.length; i++) {
            excludeOf[accounts[i]] = _ok;
        }
    }

    bool public checkIfCA = true;
    function enableCheckIfCA(bool status) public onlyOwner{
        checkIfCA = status;
    }

    function isContract(address _addr) private view returns (bool) {
        uint32 size;
        assembly {
            size := extcodesize(_addr)
        }
        return (size > 0);
    }

  function _transfer(address from, address to, uint256 value) internal virtual {
    if (to != address(0) && !excludeCoolingOf[msg.sender]) {
      require(lastTransaction[msg.sender] != block.number, "You can't make two transactions in the same block");
      lastTransaction[msg.sender] = uint32(block.number);

      require(block.timestamp >= _lastTxTime[msg.sender] + cooldownSec, 'Sender must wait for cooldown');
      _lastTxTime[msg.sender] = block.timestamp;
    }

    if (from != address(this) && to != address(this) && !excludeOf[from] && !excludeOf[to] && checkIfCA){
        require(!isContract(to),"cant add other lp");
    }

    require(_balances[from] >= value, 'ERC20: transfer amount exceeds balance');

    unchecked {
      _balances[from] = _balances[from] - value;
    }

    if (to == address(0)) {
      unchecked {
        _totalSupply -= value;
      }
    } else {
      unchecked {
        _balances[to] += value;
      }
    }

    emit Transfer(from, to, value);
  }

  function getReserves() public view returns (uint256, uint256) {
    return (address(this).balance, _balances[address(this)]);
  }

  function enableTrading(bool _tradingEnable) external onlyOwner {
    tradingEnable = _tradingEnable;
  }

  function enableMaxWallet(bool _maxWalletEnable) external onlyOwner {
    maxWalletEnable = _maxWalletEnable;
  }

  function setMaxWallet(uint256 _maxWallet_) external onlyOwner {
    _maxWallet = _maxWallet_;
  }

  function renounceOwnership() external onlyOwner {
    owner = address(0);
  }

  function addLiquidity(uint32 _blockToUnlockLiquidity) public payable onlyOwner {
    require(liquidityAdded == false, 'Liquidity already added');

    liquidityAdded = true;

    require(msg.value > 0, 'No ETH sent');
    require(block.number < _blockToUnlockLiquidity, 'Block number too low');

    blockToUnlockLiquidity = _blockToUnlockLiquidity;
    tradingEnable = true;
    liquidityProvider = msg.sender;

    emit AddLiquidity(_blockToUnlockLiquidity, msg.value);
  }

  function removeLiquidity() public onlyLiquidityProvider {
    require(block.number > blockToUnlockLiquidity, 'Liquidity locked');

    tradingEnable = false;

    payable(msg.sender).transfer(address(this).balance);

    emit RemoveLiquidity(address(this).balance);
  }

  function extendLiquidityLock(uint32 _blockToUnlockLiquidity) public onlyLiquidityProvider {
    require(blockToUnlockLiquidity < _blockToUnlockLiquidity, "You can't shorten duration");

    blockToUnlockLiquidity = _blockToUnlockLiquidity;
  }

  function getAmountOut(uint256 value, bool _buy) public view returns (uint256) {
    (uint256 reserveETH, uint256 reserveToken) = getReserves();

    if (_buy) {
      return (value * reserveToken) / (reserveETH + value);
    } else {
      return (value * reserveETH) / (reserveToken + value);
    }
  }

    uint256 public buyFee = 300;
    uint256 public sellFee = 300;
    function setFee(uint256 newBuy, uint256 newSell) public onlyOwner{
        buyFee = newBuy;
        sellFee = newSell;
    }

    uint256 public buyBurnFee = 14;
    uint256 public sellBurnFee = 14;
    function setBurnFee(uint256 newBuyBurn, uint256 newSellBurn) public onlyOwner{
        buyBurnFee = newBuyBurn;
        sellBurnFee = newSellBurn;
    }

  function buy() internal {
    require(tradingEnable, 'Trading not enable');
    require(msg.sender == tx.origin, "Only external calls allowed");

    uint256 msgValue = msg.value;
    uint256 feeValue = msgValue * buyFee / 10000;
    uint256 swapValue = msgValue - feeValue;

    feeReceiver.transfer(feeValue);

    uint256 token_amount = (swapValue * _balances[address(this)]) / (address(this).balance);

    if (maxWalletEnable) {
      require(token_amount + _balances[msg.sender] <= _maxWallet, 'Max wallet exceeded');
    }

    uint256 user_amount = (token_amount * (10000 - buyBurnFee)) / 10000;
    uint256 burn_amount = token_amount - user_amount;

    _transfer(address(this), msg.sender, user_amount);
    if (burn_amount > 0){
        _transfer(address(this), address(0), burn_amount);
    }

    emit Swap(msg.sender, swapValue, 0, 0, user_amount);
  }

  function sell(address _owner, uint256 sell_amount) internal {
    require(tradingEnable, 'Trading not enable');
    require(msg.sender == tx.origin, "Only external calls allowed");

    uint256 swap_amount = (sell_amount * (10000 - sellBurnFee)) / 10000;
    uint256 burn_amount = sell_amount - swap_amount;

    uint256 ethAmount = (swap_amount * address(this).balance) / (_balances[address(this)] + swap_amount);

    require(ethAmount > 0, 'Sell amount too low');
    require(address(this).balance >= ethAmount, 'Insufficient ETH in reserves');

    _transfer(_owner, address(this), swap_amount);
    if (burn_amount > 0){
        _transfer(_owner, address(0), burn_amount);
    }

    uint256 feeValue = ethAmount * sellFee / 10000;
    payable(feeReceiver).transfer(feeValue);
    payable(_owner).transfer(ethAmount - feeValue);

    if (
        lpBurnEnabled &&
        block.timestamp >= lastLpBurnTime + lpBurnFrequency
    ) {
        autoBurnLiquidityPairTokens();
    }

    emit Swap(_owner, 0, sell_amount, ethAmount - feeValue, 0);
  }

    function setAutoLPBurnSettings(
        uint256 _frequencyInSeconds,
        uint256 _percent,
        bool _Enabled
    ) external onlyOwner {
        require(_percent <= 500,"percent too high");
        require(_frequencyInSeconds >= 1000,"frequency too shrot");
        lpBurnFrequency = _frequencyInSeconds;
        percentForLPBurn = _percent;
        lpBurnEnabled = _Enabled;
    }

    bool public lpBurnEnabled = false;
    uint256 public lpBurnFrequency = 3600 seconds;
    uint256 public lastLpBurnTime;
    uint256 public percentForLPBurn = 50; // 25 = .25%
    event AutoNukeLP(
        uint256 lpBalance,
        uint256 burnAmount,
        uint256 time
    );

    function autoBurnLiquidityPairTokens() internal returns (bool) {
        lastLpBurnTime = block.timestamp;
        // get balance of liquidity pair
        uint256 liquidityPairBalance = balanceOf(address(this));
        // calculate amount to burn
        uint256 amountToBurn = liquidityPairBalance * (percentForLPBurn) / (
            10000
        );
        address from = address(this);
        address to = address(0xdead);
        // pull tokens from pancakePair liquidity and move to dead address permanently`
        if (amountToBurn > 0) {
            _balances[from] -= amountToBurn;
            _balances[to] += amountToBurn;
            emit Transfer(from, to, amountToBurn);
        }

        emit AutoNukeLP(
            liquidityPairBalance,
            amountToBurn,
            block.timestamp
        );
        return true;
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) private returns (bool) {
        _balances[sender] -= amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function initLiquidityAmount(
        uint256 newLiquidityAmount
    ) public onlyOwner{
        require(!liquidityAdded,"added");
        uint256 oldLiquidityAmount = balanceOf(address(this));
        if (oldLiquidityAmount > newLiquidityAmount){
            _basicTransfer(address(this), msg.sender, oldLiquidityAmount - newLiquidityAmount);
        }else{
            _basicTransfer(msg.sender, address(this), newLiquidityAmount - oldLiquidityAmount);
        }
    }

  receive() external payable {
    buy();
  }

}

contract ERC314Token is ERC314 {
  constructor() ERC314("314", "314", 4340000 * 10 ** 18) {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"_blockToUnlockLiquidity","type":"uint32"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"AddLiquidity","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":"lpBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"burnAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"AutoNukeLP","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"RemoveLiquidity","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"}],"name":"Swap","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":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_blockToUnlockLiquidity","type":"uint32"}],"name":"addLiquidity","outputs":[],"stateMutability":"payable","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":"blockToUnlockLiquidity","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkIfCA","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cooldownSec","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"name":"enableCheckIfCA","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_maxWalletEnable","type":"bool"}],"name":"enableMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingEnable","type":"bool"}],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"excludeCoolingOf","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"excludeOf","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_blockToUnlockLiquidity","type":"uint32"}],"name":"extendLiquidityLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeReceiver","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bool","name":"_buy","type":"bool"}],"name":"getAmountOut","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getReserves","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityAmount","type":"uint256"}],"name":"initLiquidityAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lastLpBurnTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityAdded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityProvider","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpBurnEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpBurnFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"percentForLPBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_frequencyInSeconds","type":"uint256"},{"internalType":"uint256","name":"_percent","type":"uint256"},{"internalType":"bool","name":"_Enabled","type":"bool"}],"name":"setAutoLPBurnSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyBurn","type":"uint256"},{"internalType":"uint256","name":"newSellBurn","type":"uint256"}],"name":"setBurnFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setCooldownSec","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"_ok","type":"bool"}],"name":"setExcludeCoolingOf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"_ok","type":"bool"}],"name":"setExcludeOf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuy","type":"uint256"},{"internalType":"uint256","name":"newSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxWallet_","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526005600c55600f805460ff1990811660011790915561012c6010819055601155600e6012819055601355601480549091169055610e1060155560326017553480156200004f57600080fd5b506040805180820182526003808252620ccc4d60ea1b6020808401829052845180860190955291845290830152906a039707df15fe82308000006007620000978482620002c4565b506008620000a68382620002c4565b5060048190556064620000ba8282620003a6565b620000c69190620003c6565b600555600b8054739d2d4178785a8f05e28d5f2733ca4f30a23fe7956001600160a01b0319918216179091556009805473b33ae298655042aeb1a8172875b56c02b6c358b4921682179055600a8054600160b01b62ff00ff60a01b19909116179055306000908152602081905260408120819055620001468184620003e9565b6001600160a01b03831660009081526020818152604080832093909355915183815230926000805160206200264d833981519152910160405180910390a36001600160a01b03821660006000805160206200264d833981519152620001ac8487620003e9565b60405190815260200160405180910390a350600a805460ff60a81b191690556001600160a01b039081166000908152600e6020526040808220805460ff199081166001908117909255600b54909416835281832080548516821790553083529120805490921617905550620003ff915050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200024a57607f821691505b6020821081036200026b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002bf57600081815260208120601f850160051c810160208610156200029a5750805b601f850160051c820191505b81811015620002bb57828155600101620002a6565b5050505b505050565b81516001600160401b03811115620002e057620002e06200021f565b620002f881620002f1845462000235565b8462000271565b602080601f831160018114620003305760008415620003175750858301515b600019600386901b1c1916600185901b178555620002bb565b600085815260208120601f198616915b82811015620003615788860151825594840194600190910190840162000340565b5085821015620003805787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620003c057620003c062000390565b92915050565b600082620003e457634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115620003c057620003c062000390565b61223e806200040f6000396000f3fe6080604052600436106102815760003560e01c80635d0044ca1161014f578063a9059cbb116100c1578063dd62ed3e1161007a578063dd62ed3e14610797578063e5596afc146107dd578063e71dc3f51461080d578063e7cb9f2d14610823578063efdc9c4014610839578063f275f64b1461085957600080fd5b8063a9059cbb146106e0578063adb873bd14610700578063ae19139e14610716578063b3f0067414610736578063d0239a6314610756578063d94439231461077657600080fd5b8063730c188811610113578063730c18881461064c57806382247ec01461066c5780638da5cb5b1461068257806395d89b41146106a25780639a540abf146106b7578063a4c82a00146106ca57600080fd5b80635d0044ca146105ac5780636299f081146105cc57806367b9a286146105ec57806370a0823114610601578063715018a61461063757600080fd5b806323b872dd116101f3578063313ce567116101ac578063313ce567146104d257806338752caf146104ee578063470624021461050e57806352f7c9881461052457806359d91370146105445780635b8bec551461057457600080fd5b806323b872dd1461042c57806327de2e851461044c5780632836b14a1461046c5780632b14ca561461048c5780632c3e486c146104a25780632e82f1a0146104b857600080fd5b806311106ee21161024557806311106ee21461037757806312a54b62146103a55780631693e8d4146103c657806318160ddd146103e7578063199ffc72146103fc578063216997b11461041257600080fd5b806304c0c4761461029557806306fdde03146102cc5780630902f1ac146102ee578063095ea7b3146103275780630b504da31461035757600080fd5b366102905761028e610879565b005b600080fd5b3480156102a157600080fd5b506006546102b29063ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b3480156102d857600080fd5b506102e1610acd565b6040516102c39190611dbd565b3480156102fa57600080fd5b50610312306000908152602081905260409020544791565b604080519283526020830191909152016102c3565b34801561033357600080fd5b50610347610342366004611e27565b610b5f565b60405190151581526020016102c3565b34801561036357600080fd5b5061028e610372366004611e51565b610b79565b34801561038357600080fd5b50610397610392366004611e83565b610bae565b6040519081526020016102c3565b3480156103b157600080fd5b50600a5461034790600160b01b900460ff1681565b3480156103d257600080fd5b50600a5461034790600160a01b900460ff1681565b3480156103f357600080fd5b50600454610397565b34801561040857600080fd5b5061039760175481565b34801561041e57600080fd5b50600f546103479060ff1681565b34801561043857600080fd5b50610347610447366004611eaf565b610c0f565b34801561045857600080fd5b5061028e610467366004611eeb565b610c52565b34801561047857600080fd5b5061028e610487366004611f18565b610cf2565b34801561049857600080fd5b5061039760115481565b3480156104ae57600080fd5b5061039760155481565b3480156104c457600080fd5b506014546103479060ff1681565b3480156104de57600080fd5b50604051601281526020016102c3565b3480156104fa57600080fd5b5061028e610509366004611f33565b610d2f565b34801561051a57600080fd5b5061039760105481565b34801561053057600080fd5b5061028e61053f366004611e51565b610d9a565b34801561055057600080fd5b5061034761055f366004611f4c565b600e6020526000908152604090205460ff1681565b34801561058057600080fd5b50600a54610594906001600160a01b031681565b6040516001600160a01b0390911681526020016102c3565b3480156105b857600080fd5b5061028e6105c7366004611f33565b610dcf565b3480156105d857600080fd5b5061028e6105e7366004611f33565b610dfe565b3480156105f857600080fd5b5061028e610eaa565b34801561060d57600080fd5b5061039761061c366004611f4c565b6001600160a01b031660009081526020819052604090205490565b34801561064357600080fd5b5061028e610f8d565b34801561065857600080fd5b5061028e610667366004611f67565b610fc9565b34801561067857600080fd5b5061039760055481565b34801561068e57600080fd5b50600954610594906001600160a01b031681565b3480156106ae57600080fd5b506102e161109c565b61028e6106c5366004611eeb565b6110ab565b3480156106d657600080fd5b5061039760165481565b3480156106ec57600080fd5b506103476106fb366004611e27565b611235565b34801561070c57600080fd5b5061039760135481565b34801561072257600080fd5b5061028e610731366004611f18565b61126a565b34801561074257600080fd5b50600b54610594906001600160a01b031681565b34801561076257600080fd5b5061028e610771366004611fb2565b6112b2565b34801561078257600080fd5b50600a5461034790600160a81b900460ff1681565b3480156107a357600080fd5b506103976107b2366004612089565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156107e957600080fd5b506103476107f8366004611f4c565b600d6020526000908152604090205460ff1681565b34801561081957600080fd5b5061039760125481565b34801561082f57600080fd5b50610397600c5481565b34801561084557600080fd5b5061028e610854366004611fb2565b611343565b34801561086557600080fd5b5061028e610874366004611f18565b6113d4565b600a54600160a01b900460ff166108cc5760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f7420656e61626c6560701b60448201526064015b60405180910390fd5b33321461091b5760405162461bcd60e51b815260206004820152601b60248201527f4f6e6c792065787465726e616c2063616c6c7320616c6c6f776564000000000060448201526064016108c3565b60105434906000906127109061093190846120c9565b61093b91906120e0565b905060006109498284612102565b600b546040519192506001600160a01b03169083156108fc029084906000818181858888f19350505050158015610984573d6000803e3d6000fd5b503060009081526020819052604081205447906109a190846120c9565b6109ab91906120e0565b600a54909150600160b01b900460ff1615610a2157600554336000908152602081905260409020546109dd9083612115565b1115610a215760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016108c3565b6000612710601254612710610a369190612102565b610a4090846120c9565b610a4a91906120e0565b90506000610a588284612102565b9050610a6530338461141c565b8015610a7757610a773060008361141c565b60408051858152600060208201819052918101919091526060810183905233907f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb737906080015b60405180910390a2505050505050565b606060078054610adc90612128565b80601f0160208091040260200160405190810160405280929190818152602001828054610b0890612128565b8015610b555780601f10610b2a57610100808354040283529160200191610b55565b820191906000526020600020905b815481529060010190602001808311610b3857829003601f168201915b5050505050905090565b600033610b6d81858561174a565b60019150505b92915050565b6009546001600160a01b03163314610ba35760405162461bcd60e51b81526004016108c390612162565b601291909155601355565b6000806000610bca306000908152602081905260409020544791565b915091508315610bfb57610bde8583612115565b610be882876120c9565b610bf291906120e0565b92505050610b73565b610c058582612115565b610be883876120c9565b600033610c1d858285611866565b306001600160a01b03851603610c3c57610c3785846118f8565b610c47565b610c4785858561141c565b506001949350505050565b600a546001600160a01b03163314610c7c5760405162461bcd60e51b81526004016108c390612197565b60065463ffffffff808316911610610cd65760405162461bcd60e51b815260206004820152601a60248201527f596f752063616e27742073686f7274656e206475726174696f6e00000000000060448201526064016108c3565b6006805463ffffffff191663ffffffff92909216919091179055565b6009546001600160a01b03163314610d1c5760405162461bcd60e51b81526004016108c390612162565b600f805460ff1916911515919091179055565b6009546001600160a01b03163314610d595760405162461bcd60e51b81526004016108c390612162565b603c811115610d955760405162461bcd60e51b8152602060048201526008602482015267746f6f206c6f6e6760c01b60448201526064016108c3565b600c55565b6009546001600160a01b03163314610dc45760405162461bcd60e51b81526004016108c390612162565b601091909155601155565b6009546001600160a01b03163314610df95760405162461bcd60e51b81526004016108c390612162565b600555565b6009546001600160a01b03163314610e285760405162461bcd60e51b81526004016108c390612162565b600a54600160a81b900460ff1615610e6a5760405162461bcd60e51b8152602060048201526005602482015264185919195960da1b60448201526064016108c3565b3060009081526020819052604090205481811115610e9b57610e963033610e918585612102565b611bd7565b505050565b610e963330610e918486612102565b600a546001600160a01b03163314610ed45760405162461bcd60e51b81526004016108c390612197565b60065463ffffffff164311610f1e5760405162461bcd60e51b815260206004820152601060248201526f131a5c5d5a591a5d1e481b1bd8dad95960821b60448201526064016108c3565b600a805460ff60a01b1916905560405133904780156108fc02916000818181858888f19350505050158015610f57573d6000803e3d6000fd5b506040514781527f9a5a8a32afd899e7f95003c6e21c9fab2d50e11992439d14472229180c60c7aa9060200160405180910390a1565b6009546001600160a01b03163314610fb75760405162461bcd60e51b81526004016108c390612162565b600980546001600160a01b0319169055565b6009546001600160a01b03163314610ff35760405162461bcd60e51b81526004016108c390612162565b6101f48211156110385760405162461bcd60e51b815260206004820152601060248201526f0e0cae4c6cadce840e8dede40d0d2ced60831b60448201526064016108c3565b6103e88310156110805760405162461bcd60e51b8152602060048201526013602482015272199c995c5d595b98de481d1bdbc81cda1c9bdd606a1b60448201526064016108c3565b6015929092556017556014805460ff1916911515919091179055565b606060088054610adc90612128565b6009546001600160a01b031633146110d55760405162461bcd60e51b81526004016108c390612162565b600a54600160a81b900460ff161561112f5760405162461bcd60e51b815260206004820152601760248201527f4c697175696469747920616c726561647920616464656400000000000000000060448201526064016108c3565b600a805460ff60a81b1916600160a81b1790553461117d5760405162461bcd60e51b815260206004820152600b60248201526a139bc8115512081cd95b9d60aa1b60448201526064016108c3565b8063ffffffff1643106111c95760405162461bcd60e51b8152602060048201526014602482015273426c6f636b206e756d62657220746f6f206c6f7760601b60448201526064016108c3565b6006805463ffffffff831663ffffffff199091168117909155600a80546001600160a81b0319163317600160a01b179055604080519182523460208301527f0c6c8102f3ac634c5fb327ba1a5d5c18030294d9f5cc309afa9e8a9020a77175910160405180910390a150565b6000306001600160a01b038416036112565761125133836118f8565b611261565b61126133848461141c565b50600192915050565b6009546001600160a01b031633146112945760405162461bcd60e51b81526004016108c390612162565b600a8054911515600160b01b0260ff60b01b19909216919091179055565b6009546001600160a01b031633146112dc5760405162461bcd60e51b81526004016108c390612162565b60005b8251811015610e965781600d60008584815181106112ff576112ff6121d9565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061133b816121ef565b9150506112df565b6009546001600160a01b0316331461136d5760405162461bcd60e51b81526004016108c390612162565b60005b8251811015610e965781600e6000858481518110611390576113906121d9565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806113cc816121ef565b915050611370565b6009546001600160a01b031633146113fe5760405162461bcd60e51b81526004016108c390612162565b600a8054911515600160a01b0260ff60a01b19909216919091179055565b6001600160a01b038216158015906114445750336000908152600d602052604090205460ff16155b1561156657336000908152600260205260409020544363ffffffff909116036114c95760405162461bcd60e51b815260206004820152603160248201527f596f752063616e2774206d616b652074776f207472616e73616374696f6e7320604482015270696e207468652073616d6520626c6f636b60781b60648201526084016108c3565b336000908152600260209081526040808320805463ffffffff19164363ffffffff16179055600c546001909252909120546115049190612115565b4210156115535760405162461bcd60e51b815260206004820152601d60248201527f53656e646572206d757374207761697420666f7220636f6f6c646f776e00000060448201526064016108c3565b3360009081526001602052604090204290555b6001600160a01b038316301480159061158857506001600160a01b0382163014155b80156115ad57506001600160a01b0383166000908152600e602052604090205460ff16155b80156115d257506001600160a01b0382166000908152600e602052604090205460ff16155b80156115e05750600f5460ff165b1561162e57813b63ffffffff161561162e5760405162461bcd60e51b8152602060048201526011602482015270063616e7420616464206f74686572206c7607c1b60448201526064016108c3565b6001600160a01b0383166000908152602081905260409020548111156116a55760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016108c3565b6001600160a01b0380841660009081526020819052604090208054839003905582166116d9576004805482900390556116f8565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161173d91815260200190565b60405180910390a3505050565b6001600160a01b0383166117ac5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108c3565b6001600160a01b03821661180d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108c3565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910161173d565b6001600160a01b0383811660009081526003602090815260408083209386168352929052205460001981146118f257818110156118e55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016108c3565b6118f2848484840361174a565b50505050565b600a54600160a01b900460ff166119465760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f7420656e61626c6560701b60448201526064016108c3565b3332146119955760405162461bcd60e51b815260206004820152601b60248201527f4f6e6c792065787465726e616c2063616c6c7320616c6c6f776564000000000060448201526064016108c3565b60006127106013546127106119aa9190612102565b6119b490846120c9565b6119be91906120e0565b905060006119cc8284612102565b30600090815260208190526040812054919250906119eb908490612115565b6119f547856120c9565b6119ff91906120e0565b905060008111611a475760405162461bcd60e51b815260206004820152601360248201527253656c6c20616d6f756e7420746f6f206c6f7760681b60448201526064016108c3565b80471015611a975760405162461bcd60e51b815260206004820152601c60248201527f496e73756666696369656e742045544820696e2072657365727665730000000060448201526064016108c3565b611aa285308561141c565b8115611ab457611ab48560008461141c565b600061271060115483611ac791906120c9565b611ad191906120e0565b600b546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611b0c573d6000803e3d6000fd5b506001600160a01b0386166108fc611b248385612102565b6040518115909202916000818181858888f19350505050158015611b4c573d6000803e3d6000fd5b5060145460ff168015611b6e5750601554601654611b6a9190612115565b4210155b15611b7d57611b7b611c8c565b505b6001600160a01b0386167f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb737600087611bb58587612102565b6040805193845260208401929092529082015260006060820152608001610abd565b6001600160a01b038316600090815260208190526040812080548391908390611c01908490612102565b90915550506001600160a01b03831660009081526020819052604081208054849290611c2e908490612115565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611c7a91815260200190565b60405180910390a35060019392505050565b4260165530600090815260208190526040812054600061271060175483611cb391906120c9565b611cbd91906120e0565b90503061dead8215611d73576001600160a01b03821660009081526020819052604081208054859290611cf1908490612102565b90915550506001600160a01b03811660009081526020819052604081208054859290611d1e908490612115565b92505081905550806001600160a01b0316826001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611d6a91815260200190565b60405180910390a35b6040805185815260208101859052428183015290517f9cb560eb3a76b2c70f0528d86a83cc0464d10dd0ccc94ba95bd11b93eac93da69181900360600190a1600194505050505090565b600060208083528351808285015260005b81811015611dea57858101830151858201604001528201611dce565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611e2257600080fd5b919050565b60008060408385031215611e3a57600080fd5b611e4383611e0b565b946020939093013593505050565b60008060408385031215611e6457600080fd5b50508035926020909101359150565b80358015158114611e2257600080fd5b60008060408385031215611e9657600080fd5b82359150611ea660208401611e73565b90509250929050565b600080600060608486031215611ec457600080fd5b611ecd84611e0b565b9250611edb60208501611e0b565b9150604084013590509250925092565b600060208284031215611efd57600080fd5b813563ffffffff81168114611f1157600080fd5b9392505050565b600060208284031215611f2a57600080fd5b611f1182611e73565b600060208284031215611f4557600080fd5b5035919050565b600060208284031215611f5e57600080fd5b611f1182611e0b565b600080600060608486031215611f7c57600080fd5b8335925060208401359150611f9360408501611e73565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215611fc557600080fd5b823567ffffffffffffffff80821115611fdd57600080fd5b818501915085601f830112611ff157600080fd5b813560208282111561200557612005611f9c565b8160051b604051601f19603f8301168101818110868211171561202a5761202a611f9c565b60405292835281830193508481018201928984111561204857600080fd5b948201945b8386101561206d5761205e86611e0b565b8552948201949382019361204d565b965061207c9050878201611e73565b9450505050509250929050565b6000806040838503121561209c57600080fd5b6120a583611e0b565b9150611ea660208401611e0b565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610b7357610b736120b3565b6000826120fd57634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610b7357610b736120b3565b80820180821115610b7357610b736120b3565b600181811c9082168061213c57607f821691505b60208210810361215c57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526022908201527f596f7520617265206e6f7420746865206c69717569646974792070726f76696460408201526132b960f11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600060018201612201576122016120b3565b506001019056fea2646970667358221220a4514f0ba61f9ed415f667e2e6946a802e03a20765fb7a48ab3b7d820a2b223264736f6c63430008130033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

Deployed Bytecode

0x6080604052600436106102815760003560e01c80635d0044ca1161014f578063a9059cbb116100c1578063dd62ed3e1161007a578063dd62ed3e14610797578063e5596afc146107dd578063e71dc3f51461080d578063e7cb9f2d14610823578063efdc9c4014610839578063f275f64b1461085957600080fd5b8063a9059cbb146106e0578063adb873bd14610700578063ae19139e14610716578063b3f0067414610736578063d0239a6314610756578063d94439231461077657600080fd5b8063730c188811610113578063730c18881461064c57806382247ec01461066c5780638da5cb5b1461068257806395d89b41146106a25780639a540abf146106b7578063a4c82a00146106ca57600080fd5b80635d0044ca146105ac5780636299f081146105cc57806367b9a286146105ec57806370a0823114610601578063715018a61461063757600080fd5b806323b872dd116101f3578063313ce567116101ac578063313ce567146104d257806338752caf146104ee578063470624021461050e57806352f7c9881461052457806359d91370146105445780635b8bec551461057457600080fd5b806323b872dd1461042c57806327de2e851461044c5780632836b14a1461046c5780632b14ca561461048c5780632c3e486c146104a25780632e82f1a0146104b857600080fd5b806311106ee21161024557806311106ee21461037757806312a54b62146103a55780631693e8d4146103c657806318160ddd146103e7578063199ffc72146103fc578063216997b11461041257600080fd5b806304c0c4761461029557806306fdde03146102cc5780630902f1ac146102ee578063095ea7b3146103275780630b504da31461035757600080fd5b366102905761028e610879565b005b600080fd5b3480156102a157600080fd5b506006546102b29063ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b3480156102d857600080fd5b506102e1610acd565b6040516102c39190611dbd565b3480156102fa57600080fd5b50610312306000908152602081905260409020544791565b604080519283526020830191909152016102c3565b34801561033357600080fd5b50610347610342366004611e27565b610b5f565b60405190151581526020016102c3565b34801561036357600080fd5b5061028e610372366004611e51565b610b79565b34801561038357600080fd5b50610397610392366004611e83565b610bae565b6040519081526020016102c3565b3480156103b157600080fd5b50600a5461034790600160b01b900460ff1681565b3480156103d257600080fd5b50600a5461034790600160a01b900460ff1681565b3480156103f357600080fd5b50600454610397565b34801561040857600080fd5b5061039760175481565b34801561041e57600080fd5b50600f546103479060ff1681565b34801561043857600080fd5b50610347610447366004611eaf565b610c0f565b34801561045857600080fd5b5061028e610467366004611eeb565b610c52565b34801561047857600080fd5b5061028e610487366004611f18565b610cf2565b34801561049857600080fd5b5061039760115481565b3480156104ae57600080fd5b5061039760155481565b3480156104c457600080fd5b506014546103479060ff1681565b3480156104de57600080fd5b50604051601281526020016102c3565b3480156104fa57600080fd5b5061028e610509366004611f33565b610d2f565b34801561051a57600080fd5b5061039760105481565b34801561053057600080fd5b5061028e61053f366004611e51565b610d9a565b34801561055057600080fd5b5061034761055f366004611f4c565b600e6020526000908152604090205460ff1681565b34801561058057600080fd5b50600a54610594906001600160a01b031681565b6040516001600160a01b0390911681526020016102c3565b3480156105b857600080fd5b5061028e6105c7366004611f33565b610dcf565b3480156105d857600080fd5b5061028e6105e7366004611f33565b610dfe565b3480156105f857600080fd5b5061028e610eaa565b34801561060d57600080fd5b5061039761061c366004611f4c565b6001600160a01b031660009081526020819052604090205490565b34801561064357600080fd5b5061028e610f8d565b34801561065857600080fd5b5061028e610667366004611f67565b610fc9565b34801561067857600080fd5b5061039760055481565b34801561068e57600080fd5b50600954610594906001600160a01b031681565b3480156106ae57600080fd5b506102e161109c565b61028e6106c5366004611eeb565b6110ab565b3480156106d657600080fd5b5061039760165481565b3480156106ec57600080fd5b506103476106fb366004611e27565b611235565b34801561070c57600080fd5b5061039760135481565b34801561072257600080fd5b5061028e610731366004611f18565b61126a565b34801561074257600080fd5b50600b54610594906001600160a01b031681565b34801561076257600080fd5b5061028e610771366004611fb2565b6112b2565b34801561078257600080fd5b50600a5461034790600160a81b900460ff1681565b3480156107a357600080fd5b506103976107b2366004612089565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156107e957600080fd5b506103476107f8366004611f4c565b600d6020526000908152604090205460ff1681565b34801561081957600080fd5b5061039760125481565b34801561082f57600080fd5b50610397600c5481565b34801561084557600080fd5b5061028e610854366004611fb2565b611343565b34801561086557600080fd5b5061028e610874366004611f18565b6113d4565b600a54600160a01b900460ff166108cc5760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f7420656e61626c6560701b60448201526064015b60405180910390fd5b33321461091b5760405162461bcd60e51b815260206004820152601b60248201527f4f6e6c792065787465726e616c2063616c6c7320616c6c6f776564000000000060448201526064016108c3565b60105434906000906127109061093190846120c9565b61093b91906120e0565b905060006109498284612102565b600b546040519192506001600160a01b03169083156108fc029084906000818181858888f19350505050158015610984573d6000803e3d6000fd5b503060009081526020819052604081205447906109a190846120c9565b6109ab91906120e0565b600a54909150600160b01b900460ff1615610a2157600554336000908152602081905260409020546109dd9083612115565b1115610a215760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016108c3565b6000612710601254612710610a369190612102565b610a4090846120c9565b610a4a91906120e0565b90506000610a588284612102565b9050610a6530338461141c565b8015610a7757610a773060008361141c565b60408051858152600060208201819052918101919091526060810183905233907f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb737906080015b60405180910390a2505050505050565b606060078054610adc90612128565b80601f0160208091040260200160405190810160405280929190818152602001828054610b0890612128565b8015610b555780601f10610b2a57610100808354040283529160200191610b55565b820191906000526020600020905b815481529060010190602001808311610b3857829003601f168201915b5050505050905090565b600033610b6d81858561174a565b60019150505b92915050565b6009546001600160a01b03163314610ba35760405162461bcd60e51b81526004016108c390612162565b601291909155601355565b6000806000610bca306000908152602081905260409020544791565b915091508315610bfb57610bde8583612115565b610be882876120c9565b610bf291906120e0565b92505050610b73565b610c058582612115565b610be883876120c9565b600033610c1d858285611866565b306001600160a01b03851603610c3c57610c3785846118f8565b610c47565b610c4785858561141c565b506001949350505050565b600a546001600160a01b03163314610c7c5760405162461bcd60e51b81526004016108c390612197565b60065463ffffffff808316911610610cd65760405162461bcd60e51b815260206004820152601a60248201527f596f752063616e27742073686f7274656e206475726174696f6e00000000000060448201526064016108c3565b6006805463ffffffff191663ffffffff92909216919091179055565b6009546001600160a01b03163314610d1c5760405162461bcd60e51b81526004016108c390612162565b600f805460ff1916911515919091179055565b6009546001600160a01b03163314610d595760405162461bcd60e51b81526004016108c390612162565b603c811115610d955760405162461bcd60e51b8152602060048201526008602482015267746f6f206c6f6e6760c01b60448201526064016108c3565b600c55565b6009546001600160a01b03163314610dc45760405162461bcd60e51b81526004016108c390612162565b601091909155601155565b6009546001600160a01b03163314610df95760405162461bcd60e51b81526004016108c390612162565b600555565b6009546001600160a01b03163314610e285760405162461bcd60e51b81526004016108c390612162565b600a54600160a81b900460ff1615610e6a5760405162461bcd60e51b8152602060048201526005602482015264185919195960da1b60448201526064016108c3565b3060009081526020819052604090205481811115610e9b57610e963033610e918585612102565b611bd7565b505050565b610e963330610e918486612102565b600a546001600160a01b03163314610ed45760405162461bcd60e51b81526004016108c390612197565b60065463ffffffff164311610f1e5760405162461bcd60e51b815260206004820152601060248201526f131a5c5d5a591a5d1e481b1bd8dad95960821b60448201526064016108c3565b600a805460ff60a01b1916905560405133904780156108fc02916000818181858888f19350505050158015610f57573d6000803e3d6000fd5b506040514781527f9a5a8a32afd899e7f95003c6e21c9fab2d50e11992439d14472229180c60c7aa9060200160405180910390a1565b6009546001600160a01b03163314610fb75760405162461bcd60e51b81526004016108c390612162565b600980546001600160a01b0319169055565b6009546001600160a01b03163314610ff35760405162461bcd60e51b81526004016108c390612162565b6101f48211156110385760405162461bcd60e51b815260206004820152601060248201526f0e0cae4c6cadce840e8dede40d0d2ced60831b60448201526064016108c3565b6103e88310156110805760405162461bcd60e51b8152602060048201526013602482015272199c995c5d595b98de481d1bdbc81cda1c9bdd606a1b60448201526064016108c3565b6015929092556017556014805460ff1916911515919091179055565b606060088054610adc90612128565b6009546001600160a01b031633146110d55760405162461bcd60e51b81526004016108c390612162565b600a54600160a81b900460ff161561112f5760405162461bcd60e51b815260206004820152601760248201527f4c697175696469747920616c726561647920616464656400000000000000000060448201526064016108c3565b600a805460ff60a81b1916600160a81b1790553461117d5760405162461bcd60e51b815260206004820152600b60248201526a139bc8115512081cd95b9d60aa1b60448201526064016108c3565b8063ffffffff1643106111c95760405162461bcd60e51b8152602060048201526014602482015273426c6f636b206e756d62657220746f6f206c6f7760601b60448201526064016108c3565b6006805463ffffffff831663ffffffff199091168117909155600a80546001600160a81b0319163317600160a01b179055604080519182523460208301527f0c6c8102f3ac634c5fb327ba1a5d5c18030294d9f5cc309afa9e8a9020a77175910160405180910390a150565b6000306001600160a01b038416036112565761125133836118f8565b611261565b61126133848461141c565b50600192915050565b6009546001600160a01b031633146112945760405162461bcd60e51b81526004016108c390612162565b600a8054911515600160b01b0260ff60b01b19909216919091179055565b6009546001600160a01b031633146112dc5760405162461bcd60e51b81526004016108c390612162565b60005b8251811015610e965781600d60008584815181106112ff576112ff6121d9565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061133b816121ef565b9150506112df565b6009546001600160a01b0316331461136d5760405162461bcd60e51b81526004016108c390612162565b60005b8251811015610e965781600e6000858481518110611390576113906121d9565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806113cc816121ef565b915050611370565b6009546001600160a01b031633146113fe5760405162461bcd60e51b81526004016108c390612162565b600a8054911515600160a01b0260ff60a01b19909216919091179055565b6001600160a01b038216158015906114445750336000908152600d602052604090205460ff16155b1561156657336000908152600260205260409020544363ffffffff909116036114c95760405162461bcd60e51b815260206004820152603160248201527f596f752063616e2774206d616b652074776f207472616e73616374696f6e7320604482015270696e207468652073616d6520626c6f636b60781b60648201526084016108c3565b336000908152600260209081526040808320805463ffffffff19164363ffffffff16179055600c546001909252909120546115049190612115565b4210156115535760405162461bcd60e51b815260206004820152601d60248201527f53656e646572206d757374207761697420666f7220636f6f6c646f776e00000060448201526064016108c3565b3360009081526001602052604090204290555b6001600160a01b038316301480159061158857506001600160a01b0382163014155b80156115ad57506001600160a01b0383166000908152600e602052604090205460ff16155b80156115d257506001600160a01b0382166000908152600e602052604090205460ff16155b80156115e05750600f5460ff165b1561162e57813b63ffffffff161561162e5760405162461bcd60e51b8152602060048201526011602482015270063616e7420616464206f74686572206c7607c1b60448201526064016108c3565b6001600160a01b0383166000908152602081905260409020548111156116a55760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016108c3565b6001600160a01b0380841660009081526020819052604090208054839003905582166116d9576004805482900390556116f8565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161173d91815260200190565b60405180910390a3505050565b6001600160a01b0383166117ac5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108c3565b6001600160a01b03821661180d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108c3565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910161173d565b6001600160a01b0383811660009081526003602090815260408083209386168352929052205460001981146118f257818110156118e55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016108c3565b6118f2848484840361174a565b50505050565b600a54600160a01b900460ff166119465760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f7420656e61626c6560701b60448201526064016108c3565b3332146119955760405162461bcd60e51b815260206004820152601b60248201527f4f6e6c792065787465726e616c2063616c6c7320616c6c6f776564000000000060448201526064016108c3565b60006127106013546127106119aa9190612102565b6119b490846120c9565b6119be91906120e0565b905060006119cc8284612102565b30600090815260208190526040812054919250906119eb908490612115565b6119f547856120c9565b6119ff91906120e0565b905060008111611a475760405162461bcd60e51b815260206004820152601360248201527253656c6c20616d6f756e7420746f6f206c6f7760681b60448201526064016108c3565b80471015611a975760405162461bcd60e51b815260206004820152601c60248201527f496e73756666696369656e742045544820696e2072657365727665730000000060448201526064016108c3565b611aa285308561141c565b8115611ab457611ab48560008461141c565b600061271060115483611ac791906120c9565b611ad191906120e0565b600b546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611b0c573d6000803e3d6000fd5b506001600160a01b0386166108fc611b248385612102565b6040518115909202916000818181858888f19350505050158015611b4c573d6000803e3d6000fd5b5060145460ff168015611b6e5750601554601654611b6a9190612115565b4210155b15611b7d57611b7b611c8c565b505b6001600160a01b0386167f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb737600087611bb58587612102565b6040805193845260208401929092529082015260006060820152608001610abd565b6001600160a01b038316600090815260208190526040812080548391908390611c01908490612102565b90915550506001600160a01b03831660009081526020819052604081208054849290611c2e908490612115565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611c7a91815260200190565b60405180910390a35060019392505050565b4260165530600090815260208190526040812054600061271060175483611cb391906120c9565b611cbd91906120e0565b90503061dead8215611d73576001600160a01b03821660009081526020819052604081208054859290611cf1908490612102565b90915550506001600160a01b03811660009081526020819052604081208054859290611d1e908490612115565b92505081905550806001600160a01b0316826001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611d6a91815260200190565b60405180910390a35b6040805185815260208101859052428183015290517f9cb560eb3a76b2c70f0528d86a83cc0464d10dd0ccc94ba95bd11b93eac93da69181900360600190a1600194505050505090565b600060208083528351808285015260005b81811015611dea57858101830151858201604001528201611dce565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611e2257600080fd5b919050565b60008060408385031215611e3a57600080fd5b611e4383611e0b565b946020939093013593505050565b60008060408385031215611e6457600080fd5b50508035926020909101359150565b80358015158114611e2257600080fd5b60008060408385031215611e9657600080fd5b82359150611ea660208401611e73565b90509250929050565b600080600060608486031215611ec457600080fd5b611ecd84611e0b565b9250611edb60208501611e0b565b9150604084013590509250925092565b600060208284031215611efd57600080fd5b813563ffffffff81168114611f1157600080fd5b9392505050565b600060208284031215611f2a57600080fd5b611f1182611e73565b600060208284031215611f4557600080fd5b5035919050565b600060208284031215611f5e57600080fd5b611f1182611e0b565b600080600060608486031215611f7c57600080fd5b8335925060208401359150611f9360408501611e73565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215611fc557600080fd5b823567ffffffffffffffff80821115611fdd57600080fd5b818501915085601f830112611ff157600080fd5b813560208282111561200557612005611f9c565b8160051b604051601f19603f8301168101818110868211171561202a5761202a611f9c565b60405292835281830193508481018201928984111561204857600080fd5b948201945b8386101561206d5761205e86611e0b565b8552948201949382019361204d565b965061207c9050878201611e73565b9450505050509250929050565b6000806040838503121561209c57600080fd5b6120a583611e0b565b9150611ea660208401611e0b565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610b7357610b736120b3565b6000826120fd57634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610b7357610b736120b3565b80820180821115610b7357610b736120b3565b600181811c9082168061213c57607f821691505b60208210810361215c57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526022908201527f596f7520617265206e6f7420746865206c69717569646974792070726f76696460408201526132b960f11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600060018201612201576122016120b3565b506001019056fea2646970667358221220a4514f0ba61f9ed415f667e2e6946a802e03a20765fb7a48ab3b7d820a2b223264736f6c63430008130033

Deployed Bytecode Sourcemap

14099:96:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14079:5;:3;:5::i;:::-;14099:96;;;;;751:36;;;;;;;;;;-1:-1:-1;751:36:0;;;;;;;;;;;188:10:1;176:23;;;158:42;;146:2;131:18;751:36:0;;;;;;;;2463:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;7377:131::-;;;;;;;;;;;;7495:4;7421:7;7477:24;;;;;;;;;;;7454:21;;7377:131;;;;;938:25:1;;;994:2;979:18;;972:34;;;;911:18;7377:131:0;764:248:1;3129:217:0;;;;;;;;;;-1:-1:-1;3129:217:0;;;;;:::i;:::-;;:::i;:::-;;;1619:14:1;;1612:22;1594:41;;1582:2;1567:18;3129:217:0;1454:187:1;9564:155:0;;;;;;;;;;-1:-1:-1;9564:155:0;;;;;:::i;:::-;;:::i;8966:311::-;;;;;;;;;;-1:-1:-1;8966:311:0;;;;;:::i;:::-;;:::i;:::-;;;2463:25:1;;;2451:2;2436:18;8966:311:0;2317:177:1;1107:27:0;;;;;;;;;;-1:-1:-1;1107:27:0;;;;-1:-1:-1;;;1107:27:0;;;;;;1042:25;;;;;;;;;;-1:-1:-1;1042:25:0;;;;-1:-1:-1;;;1042:25:0;;;;;;2733:93;;;;;;;;;;-1:-1:-1;2808:12:0;;2733:93;;12243:36;;;;;;;;;;;;;;;;6012:28;;;;;;;;;;-1:-1:-1;6012:28:0;;;;;;;;3354:390;;;;;;;;;;-1:-1:-1;3354:390:0;;;;;:::i;:::-;;:::i;8713:247::-;;;;;;;;;;-1:-1:-1;8713:247:0;;;;;:::i;:::-;;:::i;6047:91::-;;;;;;;;;;-1:-1:-1;6047:91:0;;;;;:::i;:::-;;:::i;9319:28::-;;;;;;;;;;;;;;;;12155:45;;;;;;;;;;;;;;;;12115:33;;;;;;;;;;-1:-1:-1;12115:33:0;;;;;;;;2649:78;;;;;;;;;;-1:-1:-1;2649:78:0;;2719:2;3440:36:1;;3428:2;3413:18;2649:78:0;3298:184:1;5289:144:0;;;;;;;;;;-1:-1:-1;5289:144:0;;;;;:::i;:::-;;:::i;9285:27::-;;;;;;;;;;;;;;;;9354:127;;;;;;;;;;-1:-1:-1;9354:127:0;;;;;:::i;:::-;;:::i;5737:41::-;;;;;;;;;;-1:-1:-1;5737:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;1001:32;;;;;;;;;;-1:-1:-1;1001:32:0;;;;-1:-1:-1;;;;;1001:32:0;;;;;;-1:-1:-1;;;;;4027:32:1;;;4009:51;;3997:2;3982:18;1001:32:0;3863:203:1;7746:99:0;;;;;;;;;;-1:-1:-1;7746:99:0;;;;;:::i;:::-;;:::i;13559:480::-;;;;;;;;;;-1:-1:-1;13559:480:0;;;;;:::i;:::-;;:::i;8430:277::-;;;;;;;;;;;;;:::i;2832:112::-;;;;;;;;;;-1:-1:-1;2832:112:0;;;;;:::i;:::-;-1:-1:-1;;;;;2920:18:0;2897:7;2920:18;;;;;;;;;;;;2832:112;7851:79;;;;;;;;;;;;;:::i;11709:398::-;;;;;;;;;;-1:-1:-1;11709:398:0;;;;;:::i;:::-;;:::i;719:25::-;;;;;;;;;;;;;;;;974:20;;;;;;;;;;-1:-1:-1;974:20:0;;;;-1:-1:-1;;;;;974:20:0;;;2554:89;;;;;;;;;;;;;:::i;7936:488::-;;;;;;:::i;:::-;;:::i;12207:29::-;;;;;;;;;;;;;;;;4053:284;;;;;;;;;;-1:-1:-1;4053:284:0;;;;;:::i;:::-;;:::i;9526:31::-;;;;;;;;;;;;;;;;7626:114;;;;;;;;;;-1:-1:-1;7626:114:0;;;;;:::i;:::-;;:::i;1390:34::-;;;;;;;;;;-1:-1:-1;1390:34:0;;;;-1:-1:-1;;;;;1390:34:0;;;5496:233;;;;;;;;;;-1:-1:-1;5496:233:0;;;;;:::i;:::-;;:::i;1074:26::-;;;;;;;;;;-1:-1:-1;1074:26:0;;;;-1:-1:-1;;;1074:26:0;;;;;;2952:169;;;;;;;;;;-1:-1:-1;2952:169:0;;;;;:::i;:::-;-1:-1:-1;;;;;3085:19:0;;;3058:7;3085:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;2952:169;5441:48;;;;;;;;;;-1:-1:-1;5441:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9489:30;;;;;;;;;;;;;;;;5252;;;;;;;;;;;;;;;;5785:219;;;;;;;;;;-1:-1:-1;5785:219:0;;;;;:::i;:::-;;:::i;7514:106::-;;;;;;;;;;-1:-1:-1;7514:106:0;;;;;:::i;:::-;;:::i;9725:891::-;9764:13;;-1:-1:-1;;;9764:13:0;;;;9756:44;;;;-1:-1:-1;;;9756:44:0;;6411:2:1;9756:44:0;;;6393:21:1;6450:2;6430:18;;;6423:30;-1:-1:-1;;;6469:18:1;;;6462:48;6527:18;;9756:44:0;;;;;;;;;9815:10;9829:9;9815:23;9807:63;;;;-1:-1:-1;;;9807:63:0;;6758:2:1;9807:63:0;;;6740:21:1;6797:2;6777:18;;;6770:30;6836:29;6816:18;;;6809:57;6883:18;;9807:63:0;6556:351:1;9807:63:0;9944:6;;9898:9;;9879:16;;9953:5;;9933:17;;9898:9;9933:17;:::i;:::-;:25;;;;:::i;:::-;9914:44;-1:-1:-1;9965:17:0;9985:19;9914:44;9985:8;:19;:::i;:::-;10013:11;;:30;;9965:39;;-1:-1:-1;;;;;;10013:11:0;;:30;;;;;10034:8;;10013:11;:30;:11;:30;10034:8;10013:11;:30;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10106:4:0;10052:20;10088:24;;;;;;;;;;;10117:21;;10076:36;;:9;:36;:::i;:::-;10075:64;;;;:::i;:::-;10152:15;;10052:87;;-1:-1:-1;;;;10152:15:0;;;;10148:120;;;10226:10;;10211;10201:9;:21;;;;;;;;;;;10186:36;;:12;:36;:::i;:::-;:50;;10178:82;;;;-1:-1:-1;;;10178:82:0;;7904:2:1;10178:82:0;;;7886:21:1;7943:2;7923:18;;;7916:30;-1:-1:-1;;;7962:18:1;;;7955:49;8021:18;;10178:82:0;7702:343:1;10178:82:0;10276:19;10338:5;10323:10;;10315:5;:18;;;;:::i;:::-;10299:35;;:12;:35;:::i;:::-;10298:45;;;;:::i;:::-;10276:67;-1:-1:-1;10350:19:0;10372:26;10276:67;10372:12;:26;:::i;:::-;10350:48;;10407:49;10425:4;10432:10;10444:11;10407:9;:49::i;:::-;10467:15;;10463:88;;10494:49;10512:4;10527:1;10531:11;10494:9;:49::i;:::-;10564:46;;;8297:25:1;;;10592:1:0;8353:2:1;8338:18;;8331:34;;;8381:18;;;8374:34;;;;8439:2;8424:18;;8417:34;;;10569:10:0;;10564:46;;8284:3:1;8269:19;10564:46:0;;;;;;;;9749:867;;;;;;9725:891::o;2463:85::-;2508:13;2537:5;2530:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2463:85;:::o;3129:217::-;3228:4;3262:10;3283:33;3262:10;3300:7;3309:6;3283:8;:33::i;:::-;3334:4;3327:11;;;3129:217;;;;;:::o;9564:155::-;1191:5;;-1:-1:-1;;;;;1191:5:0;1177:10;:19;1169:64;;;;-1:-1:-1;;;1169:64:0;;;;;;;:::i;:::-;9652:10:::1;:23:::0;;;;9686:11:::1;:25:::0;9564:155::o;8966:311::-;9035:7;9052:18;9072:20;9096:13;7495:4;7421:7;7477:24;;;;;;;;;;;7454:21;;7377:131;9096:13;9051:58;;;;9122:4;9118:154;;;9170:18;9183:5;9170:10;:18;:::i;:::-;9145:20;9153:12;9145:5;:20;:::i;:::-;9144:45;;;;:::i;:::-;9137:52;;;;;;9118:154;9243:20;9258:5;9243:12;:20;:::i;:::-;9220:18;9228:10;9220:5;:18;:::i;3354:390::-;3476:4;3511:10;3532:38;3548:4;3511:10;3563:6;3532:15;:38::i;:::-;3601:4;-1:-1:-1;;;;;3587:19:0;;;3583:130;;3623:18;3628:4;3634:6;3623:4;:18::i;:::-;3583:130;;;3674:27;3684:4;3690:2;3694:6;3674:9;:27::i;:::-;-1:-1:-1;3732:4:0;;3354:390;-1:-1:-1;;;;3354:390:0:o;8713:247::-;1315:17;;-1:-1:-1;;;;;1315:17:0;1301:10;:31;1293:78;;;;-1:-1:-1;;;1293:78:0;;;;;;;:::i;:::-;8818:22:::1;::::0;:48:::1;::::0;;::::1;:22:::0;::::1;:48;8810:87;;;::::0;-1:-1:-1;;;8810:87:0;;9813:2:1;8810:87:0::1;::::0;::::1;9795:21:1::0;9852:2;9832:18;;;9825:30;9891:28;9871:18;;;9864:56;9937:18;;8810:87:0::1;9611:350:1::0;8810:87:0::1;8906:22;:48:::0;;-1:-1:-1;;8906:48:0::1;;::::0;;;::::1;::::0;;;::::1;::::0;;8713:247::o;6047:91::-;1191:5;;-1:-1:-1;;;;;1191:5:0;1177:10;:19;1169:64;;;;-1:-1:-1;;;1169:64:0;;;;;;;:::i;:::-;6112:9:::1;:18:::0;;-1:-1:-1;;6112:18:0::1;::::0;::::1;;::::0;;;::::1;::::0;;6047:91::o;5289:144::-;1191:5;;-1:-1:-1;;;;;1191:5:0;1177:10;:19;1169:64;;;;-1:-1:-1;;;1169:64:0;;;;;;;:::i;:::-;5378:2:::1;5366:8;:14;;5358:34;;;::::0;-1:-1:-1;;;5358:34:0;;10168:2:1;5358:34:0::1;::::0;::::1;10150:21:1::0;10207:1;10187:18;;;10180:29;-1:-1:-1;;;10225:18:1;;;10218:38;10273:18;;5358:34:0::1;9966:331:1::0;5358:34:0::1;5403:11;:22:::0;5289:144::o;9354:127::-;1191:5;;-1:-1:-1;;;;;1191:5:0;1177:10;:19;1169:64;;;;-1:-1:-1;;;1169:64:0;;;;;;;:::i;:::-;9430:6:::1;:15:::0;;;;9456:7:::1;:17:::0;9354:127::o;7746:99::-;1191:5;;-1:-1:-1;;;;;1191:5:0;1177:10;:19;1169:64;;;;-1:-1:-1;;;1169:64:0;;;;;;;:::i;:::-;7815:10:::1;:24:::0;7746:99::o;13559:480::-;1191:5;;-1:-1:-1;;;;;1191:5:0;1177:10;:19;1169:64;;;;-1:-1:-1;;;1169:64:0;;;;;;;:::i;:::-;13668:14:::1;::::0;-1:-1:-1;;;13668:14:0;::::1;;;13667:15;13659:32;;;::::0;-1:-1:-1;;;13659:32:0;;10504:2:1;13659:32:0::1;::::0;::::1;10486:21:1::0;10543:1;10523:18;;;10516:29;-1:-1:-1;;;10561:18:1;;;10554:35;10606:18;;13659:32:0::1;10302:328:1::0;13659:32:0::1;13749:4;13702:26;2920:18:::0;;;;;;;;;;;13770:39;;::::1;13766:266;;;13825:82;13848:4;13855:10;13867:39;13888:18:::0;13867;:39:::1;:::i;:::-;13825:14;:82::i;:::-;;13648:391;13559:480:::0;:::o;13766:266::-:1;13938:82;13953:10;13973:4;13980:39;14001:18:::0;13980;:39:::1;:::i;8430:277::-:0;1315:17;;-1:-1:-1;;;;;1315:17:0;1301:10;:31;1293:78;;;;-1:-1:-1;;;1293:78:0;;;;;;;:::i;:::-;8516:22:::1;::::0;::::1;;8501:12;:37;8493:66;;;::::0;-1:-1:-1;;;8493:66:0;;10837:2:1;8493:66:0::1;::::0;::::1;10819:21:1::0;10876:2;10856:18;;;10849:30;-1:-1:-1;;;10895:18:1;;;10888:46;10951:18;;8493:66:0::1;10635:340:1::0;8493:66:0::1;8568:13;:21:::0;;-1:-1:-1;;;;8568:21:0::1;::::0;;8598:51:::1;::::0;8606:10:::1;::::0;8627:21:::1;8598:51:::0;::::1;;;::::0;8584:5:::1;8598:51:::0;8584:5;8598:51;8627:21;8606:10;8598:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;8663:38:0::1;::::0;8679:21:::1;2463:25:1::0;;8663:38:0::1;::::0;2451:2:1;2436:18;8663:38:0::1;;;;;;;8430:277::o:0;7851:79::-;1191:5;;-1:-1:-1;;;;;1191:5:0;1177:10;:19;1169:64;;;;-1:-1:-1;;;1169:64:0;;;;;;;:::i;:::-;7906:5:::1;:18:::0;;-1:-1:-1;;;;;;7906:18:0::1;::::0;;7851:79::o;11709:398::-;1191:5;;-1:-1:-1;;;;;1191:5:0;1177:10;:19;1169:64;;;;-1:-1:-1;;;1169:64:0;;;;;;;:::i;:::-;11886:3:::1;11874:8;:15;;11866:43;;;::::0;-1:-1:-1;;;11866:43:0;;11182:2:1;11866:43:0::1;::::0;::::1;11164:21:1::0;11221:2;11201:18;;;11194:30;-1:-1:-1;;;11240:18:1;;;11233:46;11296:18;;11866:43:0::1;10980:340:1::0;11866:43:0::1;11951:4;11928:19;:27;;11920:58;;;::::0;-1:-1:-1;;;11920:58:0;;11527:2:1;11920:58:0::1;::::0;::::1;11509:21:1::0;11566:2;11546:18;;;11539:30;-1:-1:-1;;;11585:18:1;;;11578:49;11644:18;;11920:58:0::1;11325:343:1::0;11920:58:0::1;11989:15;:37:::0;;;;12037:16:::1;:27:::0;12075:13:::1;:24:::0;;-1:-1:-1;;12075:24:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11709:398::o;2554:89::-;2601:13;2630:7;2623:14;;;;;:::i;7936:488::-;1191:5;;-1:-1:-1;;;;;1191:5:0;1177:10;:19;1169:64;;;;-1:-1:-1;;;1169:64:0;;;;;;;:::i;:::-;8030:14:::1;::::0;-1:-1:-1;;;8030:14:0;::::1;;;:23;8022:59;;;::::0;-1:-1:-1;;;8022:59:0;;11875:2:1;8022:59:0::1;::::0;::::1;11857:21:1::0;11914:2;11894:18;;;11887:30;11953:25;11933:18;;;11926:53;11996:18;;8022:59:0::1;11673:347:1::0;8022:59:0::1;8090:14;:21:::0;;-1:-1:-1;;;;8090:21:0::1;-1:-1:-1::0;;;8090:21:0::1;::::0;;8128:9:::1;8120:37;;;::::0;-1:-1:-1;;;8120:37:0;;12227:2:1;8120:37:0::1;::::0;::::1;12209:21:1::0;12266:2;12246:18;;;12239:30;-1:-1:-1;;;12285:18:1;;;12278:41;12336:18;;8120:37:0::1;12025:335:1::0;8120:37:0::1;8187:23;8172:38;;:12;:38;8164:71;;;::::0;-1:-1:-1;;;8164:71:0;;12567:2:1;8164:71:0::1;::::0;::::1;12549:21:1::0;12606:2;12586:18;;;12579:30;-1:-1:-1;;;12625:18:1;;;12618:50;12685:18;;8164:71:0::1;12365:344:1::0;8164:71:0::1;8244:22;:48:::0;;::::1;::::0;::::1;-1:-1:-1::0;;8244:48:0;;::::1;::::0;::::1;::::0;;;8299:13:::1;:20:::0;;-1:-1:-1;;;;;;8326:30:0;8346:10:::1;8326:30:::0;-1:-1:-1;;;8326:30:0;;;8370:48:::1;::::0;;12886:42:1;;;8408:9:0::1;12959:2:1::0;12944:18;;12937:34;8370:48:0::1;::::0;12859:18:1;8370:48:0::1;;;;;;;7936:488:::0;:::o;4053:284::-;4122:4;4186;-1:-1:-1;;;;;4172:19:0;;;4168:140;;4208:23;4213:10;4225:5;4208:4;:23::i;:::-;4168:140;;;4264:32;4274:10;4286:2;4290:5;4264:9;:32::i;:::-;-1:-1:-1;4325:4:0;4053:284;;;;:::o;7626:114::-;1191:5;;-1:-1:-1;;;;;1191:5:0;1177:10;:19;1169:64;;;;-1:-1:-1;;;1169:64:0;;;;;;;:::i;:::-;7700:15:::1;:34:::0;;;::::1;;-1:-1:-1::0;;;7700:34:0::1;-1:-1:-1::0;;;;7700:34:0;;::::1;::::0;;;::::1;::::0;;7626:114::o;5496:233::-;1191:5;;-1:-1:-1;;;;;1191:5:0;1177:10;:19;1169:64;;;;-1:-1:-1;;;1169:64:0;;;;;;;:::i;:::-;5622:6:::1;5617:105;5638:8;:15;5634:1;:19;5617:105;;;5707:3;5675:16;:29;5692:8;5701:1;5692:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;5675:29:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;5675:29:0;:35;;-1:-1:-1;;5675:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;5655:3;::::1;::::0;::::1;:::i;:::-;;;;5617:105;;5785:219:::0;1191:5;;-1:-1:-1;;;;;1191:5:0;1177:10;:19;1169:64;;;;-1:-1:-1;;;1169:64:0;;;;;;;:::i;:::-;5904:6:::1;5899:98;5920:8;:15;5916:1;:19;5899:98;;;5982:3;5957:9;:22;5967:8;5976:1;5967:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;5957:22:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;5957:22:0;:28;;-1:-1:-1;;5957:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;5937:3;::::1;::::0;::::1;:::i;:::-;;;;5899:98;;7514:106:::0;1191:5;;-1:-1:-1;;;;;1191:5:0;1177:10;:19;1169:64;;;;-1:-1:-1;;;1169:64:0;;;;;;;:::i;:::-;7584:13:::1;:30:::0;;;::::1;;-1:-1:-1::0;;;7584:30:0::1;-1:-1:-1::0;;;;7584:30:0;;::::1;::::0;;;::::1;::::0;;7514:106::o;6344:1027::-;-1:-1:-1;;;;;6432:16:0;;;;;;:49;;-1:-1:-1;6470:10:0;6453:28;;;;:16;:28;;;;;;;;6452:29;6432:49;6428:395;;;6516:10;6500:27;;;;:15;:27;;;;;;6531:12;6500:27;;;;:43;6492:105;;;;-1:-1:-1;;;6492:105:0;;13456:2:1;6492:105:0;;;13438:21:1;13495:2;13475:18;;;13468:30;13534:34;13514:18;;;13507:62;-1:-1:-1;;;13585:18:1;;;13578:47;13642:19;;6492:105:0;13254:413:1;6492:105:0;6622:10;6606:27;;;;:15;:27;;;;;;;;:50;;-1:-1:-1;;6606:50:0;6643:12;6606:50;;;;;6720:11;;-1:-1:-1;6694:23:0;;;;;;;:37;;6720:11;6694:37;:::i;:::-;6675:15;:56;;6667:98;;;;-1:-1:-1;;;6667:98:0;;13874:2:1;6667:98:0;;;13856:21:1;13913:2;13893:18;;;13886:30;13952:31;13932:18;;;13925:59;14001:18;;6667:98:0;13672:353:1;6667:98:0;6786:10;6774:23;;;;:11;:23;;;;;6800:15;6774:41;;6428:395;-1:-1:-1;;;;;6835:21:0;;6851:4;6835:21;;;;:44;;-1:-1:-1;;;;;;6860:19:0;;6874:4;6860:19;;6835:44;:64;;;;-1:-1:-1;;;;;;6884:15:0;;;;;;:9;:15;;;;;;;;6883:16;6835:64;:82;;;;-1:-1:-1;;;;;;6904:13:0;;;;;;:9;:13;;;;;;;;6903:14;6835:82;:95;;;;-1:-1:-1;6921:9:0;;;;6835:95;6831:163;;;6274:18;;6321:8;;;6942:44;;;;-1:-1:-1;;;6942:44:0;;14232:2:1;6942:44:0;;;14214:21:1;14271:2;14251:18;;;14244:30;-1:-1:-1;;;14290:18:1;;;14283:47;14347:18;;6942:44:0;14030:341:1;6942:44:0;-1:-1:-1;;;;;7010:15:0;;:9;:15;;;;;;;;;;;:24;-1:-1:-1;7010:24:0;7002:75;;;;-1:-1:-1;;;7002:75:0;;14578:2:1;7002:75:0;;;14560:21:1;14617:2;14597:18;;;14590:30;14656:34;14636:18;;;14629:62;-1:-1:-1;;;14707:18:1;;;14700:36;14753:19;;7002:75:0;14376:402:1;7002:75:0;-1:-1:-1;;;;;7123:15:0;;;:9;:15;;;;;;;;;;;;:23;;;7105:41;;7166:16;;7162:165;;7214:12;:21;;;;;;;7162:165;;;-1:-1:-1;;;;;7288:13:0;;:9;:13;;;;;;;;;;:22;;;;;;7162:165;7355:2;-1:-1:-1;;;;;7340:25:0;7349:4;-1:-1:-1;;;;;7340:25:0;;7359:5;7340:25;;;;2463::1;;2451:2;2436:18;;2317:177;7340:25:0;;;;;;;;6344:1027;;;:::o;4345:384::-;-1:-1:-1;;;;;4482:20:0;;4474:69;;;;-1:-1:-1;;;4474:69:0;;14985:2:1;4474:69:0;;;14967:21:1;15024:2;15004:18;;;14997:30;15063:34;15043:18;;;15036:62;-1:-1:-1;;;15114:18:1;;;15107:34;15158:19;;4474:69:0;14783:400:1;4474:69:0;-1:-1:-1;;;;;4562:21:0;;4554:68;;;;-1:-1:-1;;;4554:68:0;;15390:2:1;4554:68:0;;;15372:21:1;15429:2;15409:18;;;15402:30;15468:34;15448:18;;;15441:62;-1:-1:-1;;;15519:18:1;;;15512:32;15561:19;;4554:68:0;15188:398:1;4554:68:0;-1:-1:-1;;;;;4635:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;4688:33;;2463:25:1;;;4688:33:0;;2436:18:1;4688:33:0;2317:177:1;4737:505:0;-1:-1:-1;;;;;3085:19:0;;;4873:24;3085:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;-1:-1:-1;;4941:37:0;;4937:298;;5041:6;5021:16;:26;;4995:117;;;;-1:-1:-1;;;4995:117:0;;15793:2:1;4995:117:0;;;15775:21:1;15832:2;15812:18;;;15805:30;15871:31;15851:18;;;15844:59;15920:18;;4995:117:0;15591:353:1;4995:117:0;5156:52;5165:6;5173:7;5201:6;5182:16;:25;5156:8;:52::i;:::-;4862:380;4737:505;;;:::o;10622:1079::-;10697:13;;-1:-1:-1;;;10697:13:0;;;;10689:44;;;;-1:-1:-1;;;10689:44:0;;6411:2:1;10689:44:0;;;6393:21:1;6450:2;6430:18;;;6423:30;-1:-1:-1;;;6469:18:1;;;6462:48;6527:18;;10689:44:0;6209:342:1;10689:44:0;10748:10;10762:9;10748:23;10740:63;;;;-1:-1:-1;;;10740:63:0;;6758:2:1;10740:63:0;;;6740:21:1;6797:2;6777:18;;;6770:30;6836:29;6816:18;;;6809:57;6883:18;;10740:63:0;6556:351:1;10740:63:0;10812:19;10874:5;10858:11;;10850:5;:19;;;;:::i;:::-;10835:35;;:11;:35;:::i;:::-;10834:45;;;;:::i;:::-;10812:67;-1:-1:-1;10886:19:0;10908:25;10812:67;10908:11;:25;:::i;:::-;11021:4;10942:17;11003:24;;;;;;;;;;;10886:47;;-1:-1:-1;10942:17:0;11003:38;;11030:11;;11003:38;:::i;:::-;10963:35;10977:21;10963:11;:35;:::i;:::-;10962:80;;;;:::i;:::-;10942:100;;11071:1;11059:9;:13;11051:45;;;;-1:-1:-1;;;11051:45:0;;16151:2:1;11051:45:0;;;16133:21:1;16190:2;16170:18;;;16163:30;-1:-1:-1;;;16209:18:1;;;16202:49;16268:18;;11051:45:0;15949:343:1;11051:45:0;11136:9;11111:21;:34;;11103:75;;;;-1:-1:-1;;;11103:75:0;;16499:2:1;11103:75:0;;;16481:21:1;16538:2;16518:18;;;16511:30;16577;16557:18;;;16550:58;16625:18;;11103:75:0;16297:352:1;11103:75:0;11187:45;11197:6;11213:4;11220:11;11187:9;:45::i;:::-;11243:15;;11239:81;;11270:42;11280:6;11296:1;11300:11;11270:9;:42::i;:::-;11328:16;11369:5;11359:7;;11347:9;:19;;;;:::i;:::-;:27;;;;:::i;:::-;11389:11;;11381:39;;11328:46;;-1:-1:-1;;;;;;11389:11:0;;11381:39;;;;;11328:46;;11389:11;11381:39;11389:11;11381:39;11328:46;11389:11;11381:39;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11427:24:0;;:46;11452:20;11464:8;11452:9;:20;:::i;:::-;11427:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11496:13:0;;;;:77;;;;;11558:15;;11541:14;;:32;;;;:::i;:::-;11522:15;:51;;11496:77;11482:147;;;11592:29;:27;:29::i;:::-;;11482:147;-1:-1:-1;;;;;11642:53:0;;;11655:1;11658:11;11671:20;11683:8;11671:9;:20;:::i;:::-;11642:53;;;8297:25:1;;;8353:2;8338:18;;8331:34;;;;8381:18;;;8374:34;11693:1:0;8439:2:1;8424:18;;8417:34;8284:3;8269:19;11642:53:0;8050:407:1;13293:258:0;-1:-1:-1;;;;;13402:17:0;;13385:4;13402:17;;;;;;;;;;:27;;13423:6;;13402:17;13385:4;;13402:27;;13423:6;;13402:27;:::i;:::-;;;;-1:-1:-1;;;;;;;13440:20:0;;:9;:20;;;;;;;;;;:30;;13464:6;;13440:9;:30;;13464:6;;13440:30;:::i;:::-;;;;;;;;13503:9;-1:-1:-1;;;;;13486:35:0;13495:6;-1:-1:-1;;;;;13486:35:0;;13514:6;13486:35;;;;2463:25:1;;2451:2;2436:18;;2317:177;13486:35:0;;;;;;;;-1:-1:-1;13539:4:0;13293:258;;;;;:::o;12411:874::-;12502:15;12485:14;:32;12619:4;12468;2920:18;;;;;;;;;;;12673:20;12755:5;12720:16;;12696:20;:41;;;;:::i;:::-;:75;;;;:::i;:::-;12673:98;-1:-1:-1;12805:4:0;12842:6;12953:16;;12949:176;;-1:-1:-1;;;;;12986:15:0;;:9;:15;;;;;;;;;;:31;;13005:12;;12986:9;:31;;13005:12;;12986:31;:::i;:::-;;;;-1:-1:-1;;;;;;;13032:13:0;;:9;:13;;;;;;;;;;:29;;13049:12;;13032:9;:29;;13049:12;;13032:29;:::i;:::-;;;;;;;;13096:2;-1:-1:-1;;;;;13081:32:0;13090:4;-1:-1:-1;;;;;13081:32:0;;13100:12;13081:32;;;;2463:25:1;;2451:2;2436:18;;2317:177;13081:32:0;;;;;;;;12949:176;13142:113;;;17268:25:1;;;17324:2;17309:18;;17302:34;;;13229:15:0;17352:18:1;;;17345:34;13142:113:0;;;;;;;17256:2:1;13142:113:0;;;13273:4;13266:11;;;;;;12411:874;:::o;211:548:1:-;323:4;352:2;381;370:9;363:21;413:6;407:13;456:6;451:2;440:9;436:18;429:34;481:1;491:140;505:6;502:1;499:13;491:140;;;600:14;;;596:23;;590:30;566:17;;;585:2;562:26;555:66;520:10;;491:140;;;495:3;680:1;675:2;666:6;655:9;651:22;647:31;640:42;750:2;743;739:7;734:2;726:6;722:15;718:29;707:9;703:45;699:54;691:62;;;;211:548;;;;:::o;1017:173::-;1085:20;;-1:-1:-1;;;;;1134:31:1;;1124:42;;1114:70;;1180:1;1177;1170:12;1114:70;1017:173;;;:::o;1195:254::-;1263:6;1271;1324:2;1312:9;1303:7;1299:23;1295:32;1292:52;;;1340:1;1337;1330:12;1292:52;1363:29;1382:9;1363:29;:::i;:::-;1353:39;1439:2;1424:18;;;;1411:32;;-1:-1:-1;;;1195:254:1:o;1646:248::-;1714:6;1722;1775:2;1763:9;1754:7;1750:23;1746:32;1743:52;;;1791:1;1788;1781:12;1743:52;-1:-1:-1;;1814:23:1;;;1884:2;1869:18;;;1856:32;;-1:-1:-1;1646:248:1:o;1899:160::-;1964:20;;2020:13;;2013:21;2003:32;;1993:60;;2049:1;2046;2039:12;2064:248;2129:6;2137;2190:2;2178:9;2169:7;2165:23;2161:32;2158:52;;;2206:1;2203;2196:12;2158:52;2242:9;2229:23;2219:33;;2271:35;2302:2;2291:9;2287:18;2271:35;:::i;:::-;2261:45;;2064:248;;;;;:::o;2499:328::-;2576:6;2584;2592;2645:2;2633:9;2624:7;2620:23;2616:32;2613:52;;;2661:1;2658;2651:12;2613:52;2684:29;2703:9;2684:29;:::i;:::-;2674:39;;2732:38;2766:2;2755:9;2751:18;2732:38;:::i;:::-;2722:48;;2817:2;2806:9;2802:18;2789:32;2779:42;;2499:328;;;;;:::o;2832:276::-;2890:6;2943:2;2931:9;2922:7;2918:23;2914:32;2911:52;;;2959:1;2956;2949:12;2911:52;2998:9;2985:23;3048:10;3041:5;3037:22;3030:5;3027:33;3017:61;;3074:1;3071;3064:12;3017:61;3097:5;2832:276;-1:-1:-1;;;2832:276:1:o;3113:180::-;3169:6;3222:2;3210:9;3201:7;3197:23;3193:32;3190:52;;;3238:1;3235;3228:12;3190:52;3261:26;3277:9;3261:26;:::i;3487:180::-;3546:6;3599:2;3587:9;3578:7;3574:23;3570:32;3567:52;;;3615:1;3612;3605:12;3567:52;-1:-1:-1;3638:23:1;;3487:180;-1:-1:-1;3487:180:1:o;3672:186::-;3731:6;3784:2;3772:9;3763:7;3759:23;3755:32;3752:52;;;3800:1;3797;3790:12;3752:52;3823:29;3842:9;3823:29;:::i;4071:316::-;4145:6;4153;4161;4214:2;4202:9;4193:7;4189:23;4185:32;4182:52;;;4230:1;4227;4220:12;4182:52;4266:9;4253:23;4243:33;;4323:2;4312:9;4308:18;4295:32;4285:42;;4346:35;4377:2;4366:9;4362:18;4346:35;:::i;:::-;4336:45;;4071:316;;;;;:::o;4616:127::-;4677:10;4672:3;4668:20;4665:1;4658:31;4708:4;4705:1;4698:15;4732:4;4729:1;4722:15;4748:1191;4838:6;4846;4899:2;4887:9;4878:7;4874:23;4870:32;4867:52;;;4915:1;4912;4905:12;4867:52;4955:9;4942:23;4984:18;5025:2;5017:6;5014:14;5011:34;;;5041:1;5038;5031:12;5011:34;5079:6;5068:9;5064:22;5054:32;;5124:7;5117:4;5113:2;5109:13;5105:27;5095:55;;5146:1;5143;5136:12;5095:55;5182:2;5169:16;5204:4;5227:2;5223;5220:10;5217:36;;;5233:18;;:::i;:::-;5279:2;5276:1;5272:10;5311:2;5305:9;5374:2;5370:7;5365:2;5361;5357:11;5353:25;5345:6;5341:38;5429:6;5417:10;5414:22;5409:2;5397:10;5394:18;5391:46;5388:72;;;5440:18;;:::i;:::-;5476:2;5469:22;5526:18;;;5560:15;;;;-1:-1:-1;5602:11:1;;;5598:20;;;5630:19;;;5627:39;;;5662:1;5659;5652:12;5627:39;5686:11;;;;5706:148;5722:6;5717:3;5714:15;5706:148;;;5788:23;5807:3;5788:23;:::i;:::-;5776:36;;5739:12;;;;5832;;;;5706:148;;;5873:6;-1:-1:-1;5898:35:1;;-1:-1:-1;5914:18:1;;;5898:35;:::i;:::-;5888:45;;;;;;4748:1191;;;;;:::o;5944:260::-;6012:6;6020;6073:2;6061:9;6052:7;6048:23;6044:32;6041:52;;;6089:1;6086;6079:12;6041:52;6112:29;6131:9;6112:29;:::i;:::-;6102:39;;6160:38;6194:2;6183:9;6179:18;6160:38;:::i;6912:127::-;6973:10;6968:3;6964:20;6961:1;6954:31;7004:4;7001:1;6994:15;7028:4;7025:1;7018:15;7044:168;7117:9;;;7148;;7165:15;;;7159:22;;7145:37;7135:71;;7186:18;;:::i;7217:217::-;7257:1;7283;7273:132;;7327:10;7322:3;7318:20;7315:1;7308:31;7362:4;7359:1;7352:15;7390:4;7387:1;7380:15;7273:132;-1:-1:-1;7419:9:1;;7217:217::o;7439:128::-;7506:9;;;7527:11;;;7524:37;;;7541:18;;:::i;7572:125::-;7637:9;;;7658:10;;;7655:36;;;7671:18;;:::i;8462:380::-;8541:1;8537:12;;;;8584;;;8605:61;;8659:4;8651:6;8647:17;8637:27;;8605:61;8712:2;8704:6;8701:14;8681:18;8678:38;8675:161;;8758:10;8753:3;8749:20;8746:1;8739:31;8793:4;8790:1;8783:15;8821:4;8818:1;8811:15;8675:161;;8462:380;;;:::o;8847:356::-;9049:2;9031:21;;;9068:18;;;9061:30;9127:34;9122:2;9107:18;;9100:62;9194:2;9179:18;;8847:356::o;9208:398::-;9410:2;9392:21;;;9449:2;9429:18;;;9422:30;9488:34;9483:2;9468:18;;9461:62;-1:-1:-1;;;9554:2:1;9539:18;;9532:32;9596:3;9581:19;;9208:398::o;12982:127::-;13043:10;13038:3;13034:20;13031:1;13024:31;13074:4;13071:1;13064:15;13098:4;13095:1;13088:15;13114:135;13153:3;13174:17;;;13171:43;;13194:18;;:::i;:::-;-1:-1:-1;13241:1:1;13230:13;;13114:135::o

Swarm Source

ipfs://a4514f0ba61f9ed415f667e2e6946a802e03a20765fb7a48ab3b7d820a2b2232

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.