ETH Price: $3,383.99 (-1.56%)
Gas: 2 Gwei

Contract

0x8F43Ee50942E96D84052253AB13f59C1D942fb98
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00
Transaction Hash
Method
Block
From
To
Value
Approve201947892024-06-29 3:54:355 hrs ago1719633275IN
Paragon Network: PARA Token
0 ETH0.000111052.38721234
Approve201890202024-06-28 8:34:3525 hrs ago1719563675IN
Paragon Network: PARA Token
0 ETH0.000264955.69535396
Approve201717952024-06-25 22:51:113 days ago1719355871IN
Paragon Network: PARA Token
0 ETH0.000216374.65108649
Approve201639532024-06-24 20:33:354 days ago1719261215IN
Paragon Network: PARA Token
0 ETH0.000327437.03851289
Approve201639262024-06-24 20:28:114 days ago1719260891IN
Paragon Network: PARA Token
0 ETH0.000299716.47589063
Approve201622012024-06-24 14:40:594 days ago1719240059IN
Paragon Network: PARA Token
0 ETH0.000376128.08512502
Approve201608212024-06-24 10:03:234 days ago1719223403IN
Paragon Network: PARA Token
0 ETH0.0005450511.71641734
Transfer201556372024-06-23 16:39:235 days ago1719160763IN
Paragon Network: PARA Token
0 ETH0.000582877.48105386
Approve201488472024-06-22 17:51:236 days ago1719078683IN
Paragon Network: PARA Token
0 ETH0.000200114.30158265
Approve201424582024-06-21 20:23:237 days ago1719001403IN
Paragon Network: PARA Token
0 ETH0.000253565.45062273
Approve201401132024-06-21 12:31:237 days ago1718973083IN
Paragon Network: PARA Token
0 ETH0.000187534.0259711
Approve201365402024-06-21 0:33:358 days ago1718930015IN
Paragon Network: PARA Token
0 ETH0.000210824.53188871
Approve201339212024-06-20 15:45:478 days ago1718898347IN
Paragon Network: PARA Token
0 ETH0.0005183311.19963263
Approve201232722024-06-19 4:01:1110 days ago1718769671IN
Paragon Network: PARA Token
0 ETH0.000216354.65079044
Approve201206062024-06-18 19:03:3510 days ago1718737415IN
Paragon Network: PARA Token
0 ETH0.0005201411.18077091
Approve201200112024-06-18 17:04:3510 days ago1718730275IN
Paragon Network: PARA Token
0 ETH0.00044119.53112452
Approve201124522024-06-17 15:38:2311 days ago1718638703IN
Paragon Network: PARA Token
0 ETH0.0002458510.11872237
Approve201114562024-06-17 12:18:2311 days ago1718626703IN
Paragon Network: PARA Token
0 ETH0.000204234.41870401
Approve201005232024-06-15 23:38:5913 days ago1718494739IN
Paragon Network: PARA Token
0 ETH0.000139042.98876956
Approve200998692024-06-15 21:27:2313 days ago1718486843IN
Paragon Network: PARA Token
0 ETH0.00015593.34694372
Transfer200846152024-06-13 18:14:1115 days ago1718302451IN
Paragon Network: PARA Token
0 ETH0.0010012412.79501994
Approve200742472024-06-12 7:26:4717 days ago1718177207IN
Paragon Network: PARA Token
0 ETH0.000371957.99540491
Approve200720392024-06-12 0:02:1117 days ago1718150531IN
Paragon Network: PARA Token
0 ETH0.000323796.99617963
Approve200719872024-06-11 23:51:4717 days ago1718149907IN
Paragon Network: PARA Token
0 ETH0.000412388.8644363
Approve200718212024-06-11 23:18:3517 days ago1718147915IN
Paragon Network: PARA Token
0 ETH0.000460269.94509219
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
201947912024-06-29 3:54:595 hrs ago1719633299
Paragon Network: PARA Token
0.00165756 ETH
201947912024-06-29 3:54:595 hrs ago1719633299
Paragon Network: PARA Token
0.00165096 ETH
201947912024-06-29 3:54:595 hrs ago1719633299
Paragon Network: PARA Token
0.00330853 ETH
201890242024-06-28 8:35:2325 hrs ago1719563723
Paragon Network: PARA Token
0.0016693 ETH
201890242024-06-28 8:35:2325 hrs ago1719563723
Paragon Network: PARA Token
0.00166265 ETH
201890242024-06-28 8:35:2325 hrs ago1719563723
Paragon Network: PARA Token
0.00333196 ETH
201717952024-06-25 22:51:113 days ago1719355871
Paragon Network: PARA Token
0.00166636 ETH
201717952024-06-25 22:51:113 days ago1719355871
Paragon Network: PARA Token
0.00165972 ETH
201717952024-06-25 22:51:113 days ago1719355871
Paragon Network: PARA Token
0.00332608 ETH
201639542024-06-24 20:33:474 days ago1719261227
Paragon Network: PARA Token
0.00167064 ETH
201639542024-06-24 20:33:474 days ago1719261227
Paragon Network: PARA Token
0.00166399 ETH
201639542024-06-24 20:33:474 days ago1719261227
Paragon Network: PARA Token
0.00333463 ETH
201639262024-06-24 20:28:114 days ago1719260891
Paragon Network: PARA Token
0.00167064 ETH
201639262024-06-24 20:28:114 days ago1719260891
Paragon Network: PARA Token
0.00166399 ETH
201639262024-06-24 20:28:114 days ago1719260891
Paragon Network: PARA Token
0.00333463 ETH
201629982024-06-24 17:20:594 days ago1719249659
Paragon Network: PARA Token
0.0017098 ETH
201629982024-06-24 17:20:594 days ago1719249659
Paragon Network: PARA Token
0.00170299 ETH
201629982024-06-24 17:20:594 days ago1719249659
Paragon Network: PARA Token
0.00341279 ETH
201622032024-06-24 14:41:234 days ago1719240083
Paragon Network: PARA Token
0.00171626 ETH
201622032024-06-24 14:41:234 days ago1719240083
Paragon Network: PARA Token
0.00170943 ETH
201622032024-06-24 14:41:234 days ago1719240083
Paragon Network: PARA Token
0.0034257 ETH
201488472024-06-22 17:51:236 days ago1719078683
Paragon Network: PARA Token
0.00167815 ETH
201488472024-06-22 17:51:236 days ago1719078683
Paragon Network: PARA Token
0.00167147 ETH
201488472024-06-22 17:51:236 days ago1719078683
Paragon Network: PARA Token
0.00334962 ETH
201459672024-06-22 8:11:117 days ago1719043871
Paragon Network: PARA Token
0.00168079 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PARAGON

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

//
// Website: https://networkparagon.io/
// Telegram: https://t.me/Network_Paragon
// Twitter: https://twitter.com/Network_Paragon
// SPDX-License-Identifier: MIT
 
pragma solidity 0.8.19;
 
 
library SafeMath {
 
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }
 
    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }
 
    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }
 
    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }
 
    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }
 
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }
 
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }
 
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }
 
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }
 
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }
 
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }
 
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }
 
    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}
 
interface IERC20 {
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);}
 
abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {owner = _owner;}
    modifier onlyOwner() {require(isOwner(msg.sender), "!OWNER"); _;}
    function isOwner(address account) public view returns (bool) {return account == owner;}
    function transferOwnership(address payable adr) public onlyOwner {owner = adr; emit OwnershipTransferred(adr);}
    event OwnershipTransferred(address owner);
}
 
interface IFactory{
        function createPair(address tokenA, address tokenB) external returns (address pair);
        function getPair(address tokenA, address tokenB) external view returns (address pair);
}
 
interface IRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
 
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline) external;
}
 
contract PARAGON is IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = 'Paragon Network';
    string private constant _symbol = unicode'PARA';
    uint8 private constant _decimals = 9;
    uint256 private _totalSupply = 1000000000 * (10 ** _decimals);
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) private isBot;
    IRouter router;
    address public pair;
    bool private tradingAllowed = false;
    bool private swapEnabled = true;
    uint256 private swapTimes;
    bool private swapping;
    uint256 swapAmount = 1;
    uint256 private swapThreshold = ( _totalSupply * 1000 ) / 100000; 
    uint256 private minTokenAmount = ( _totalSupply * 500 ) / 100000; 
    modifier lockTheSwap {swapping = true; _; swapping = false;}
    uint256 private liquidityFee = 0;
    uint256 private marketingFee = 2000;
    uint256 private developmentFee = 2000;
    uint256 private burnFee = 0;
    uint256 private totalFee = 4000;
    uint256 private sellFee = 4000;
    uint256 private transferFee = 4000;
    uint256 private denominator = 10000;
    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address internal development_receiver = 0xce9053A9941A8740392B3e859534EFF7790BAc12; 
    address internal marketing_receiver = 0x2de1ba38f44b0aeD75b14CaB20A120A1FC276c42;
    address internal liquidity_receiver = 0xce9053A9941A8740392B3e859534EFF7790BAc12;
    uint256 public _maxTxAmount = ( _totalSupply * 125 ) / 10000; 
    uint256 public _maxSellAmount = ( _totalSupply * 125 ) / 10000;
    uint256 public _maxWalletToken = ( _totalSupply * 125 ) / 10000;
 
    constructor() Ownable(msg.sender) {
        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());
        router = _router; pair = _pair;
        isFeeExempt[address(this)] = true;
        isFeeExempt[liquidity_receiver] = true;
        isFeeExempt[marketing_receiver] = true;
        isFeeExempt[development_receiver] = true;
        isFeeExempt[msg.sender] = true;
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }
 
    receive() external payable {}
    function name() public pure returns (string memory) {return _name;}
    function symbol() public pure returns (string memory) {return _symbol;}
    function decimals() public pure returns (uint8) {return _decimals;}
    function startTrading() external onlyOwner {tradingAllowed = true;}
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) {return _balances[account];}
    function transfer(address recipient, uint256 amount) public override returns (bool) {_transfer(msg.sender, recipient, amount);return true;}
    function allowance(address owner, address spender) public view override returns (uint256) {return _allowances[owner][spender];}
    function setisExempt(address _address, bool _enabled) external onlyOwner {isFeeExempt[_address] = _enabled;}
    function approve(address spender, uint256 amount) public override returns (bool) {_approve(msg.sender, spender, amount);return true;}
    function totalSupply() public view override returns (uint256) {return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));}
 
    function shouldContractSwap(address sender, address recipient, uint256 amount) internal view returns (bool) {
        bool aboveMin = amount >= minTokenAmount;
        bool aboveThreshold = balanceOf(address(this)) >= swapThreshold;
        return !swapping && swapEnabled && tradingAllowed && aboveMin && !isFeeExempt[sender] && recipient == pair && swapTimes >= swapAmount && aboveThreshold;
    }
 
    function SetContractSwapSettings(uint256 _swapAmount, uint256 _swapThreshold, uint256 _minTokenAmount) external onlyOwner {
        swapAmount = _swapAmount; swapThreshold = _totalSupply.mul(_swapThreshold).div(uint256(100000)); 
        minTokenAmount = _totalSupply.mul(_minTokenAmount).div(uint256(100000));
    }
 
    function SetFees(uint256 _liquidity, uint256 _marketing, uint256 _burn, uint256 _development, uint256 _total, uint256 _sell, uint256 _trans) external onlyOwner {
        liquidityFee = _liquidity; marketingFee = _marketing; burnFee = _burn; developmentFee = _development; totalFee = _total; sellFee = _sell; transferFee = _trans;
        require(totalFee <= denominator && sellFee <= denominator && transferFee <= denominator, "totalFee and sellFee cannot be more than 100%");
    }
 
    function SetMaxTxAndMaxWallet(uint256 _buy, uint256 _sell, uint256 _wallet) external onlyOwner {
        uint256 newTx = _totalSupply.mul(_buy).div(10000); uint256 newTransfer = _totalSupply.mul(_sell).div(10000); uint256 newWallet = _totalSupply.mul(_wallet).div(10000);
        _maxTxAmount = newTx; _maxSellAmount = newTransfer; _maxWalletToken = newWallet;
        uint256 limit = totalSupply().mul(5).div(1000);
        require(newTx >= limit && newTransfer >= limit && newWallet >= limit, "Max TXs and Max Wallet cannot be less than .5%");
    }
 
    function setWallets(address _marketing, address _liquidity, address _development) external onlyOwner {
        marketing_receiver = _marketing; liquidity_receiver = _liquidity; development_receiver = _development;
        isFeeExempt[_marketing] = true; isFeeExempt[_liquidity] = true; isFeeExempt[_development] = true;
    }
 
    function setisBot(address[] calldata addresses, bool _enabled) external onlyOwner {
        for(uint i=0; i < addresses.length; i++){
        isBot[addresses[i]] = _enabled; }
    }
 
    function manualSwap() external onlyOwner {
        swapAndLiquify(swapThreshold);
    }
 
    function rescueERC20(address _address, uint256 percent) external onlyOwner {
        uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100);
        IERC20(_address).transfer(development_receiver, _amount);
    }
 
    function swapAndLiquify(uint256 tokens) private lockTheSwap {
        uint256 _denominator = (liquidityFee.add(1).add(marketingFee).add(developmentFee)).mul(2);
        uint256 tokensToAddLiquidityWith = tokens.mul(liquidityFee).div(_denominator);
        uint256 toSwap = tokens.sub(tokensToAddLiquidityWith);
        uint256 initialBalance = address(this).balance;
        swapTokensForETH(toSwap);
        uint256 deltaBalance = address(this).balance.sub(initialBalance);
        uint256 unitBalance= deltaBalance.div(_denominator.sub(liquidityFee));
        uint256 ETHToAddLiquidityWith = unitBalance.mul(liquidityFee);
        if(ETHToAddLiquidityWith > uint256(0)){addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); }
        uint256 marketingAmt = unitBalance.mul(2).mul(marketingFee);
        if(marketingAmt > 0){payable(marketing_receiver).transfer(marketingAmt);}
        uint256 contractBalance = address(this).balance;
        if(contractBalance > uint256(0)){payable(development_receiver).transfer(contractBalance);}
    }
 
    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
        _approve(address(this), address(router), tokenAmount);
        router.addLiquidityETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            liquidity_receiver,
            block.timestamp);
    }
 
    function swapTokensForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        _approve(address(this), address(router), tokenAmount);
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp);
    }
 
    function shouldTakeFee(address sender, address recipient) internal view returns (bool) {
        return !isFeeExempt[sender] && !isFeeExempt[recipient];
    }
 
    function getTotalFee(address sender, address recipient) internal view returns (uint256) {
        if(isBot[sender] || isBot[recipient]){return denominator.sub(uint256(100));}
        if(recipient == pair){return sellFee;}
        if(sender == pair){return totalFee;}
        return transferFee;
    }
 
    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        if(getTotalFee(sender, recipient) > 0){
        uint256 feeAmount = amount.div(denominator).mul(getTotalFee(sender, recipient));
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        if(burnFee > uint256(0) && getTotalFee(sender, recipient) > burnFee){_transfer(address(this), address(DEAD), amount.div(denominator).mul(burnFee));}
        return amount.sub(feeAmount);} return amount;
    }
 
    function _transfer(address sender, address recipient, uint256 amount) private {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount <= balanceOf(sender),"You are trying to transfer more than your balance");
        if(!isFeeExempt[sender] && !isFeeExempt[recipient]){require(tradingAllowed, "tradingAllowed");}
        if(!isFeeExempt[sender] && !isFeeExempt[recipient] && recipient != address(pair) && recipient != address(DEAD)){
        require((_balances[recipient].add(amount)) <= _maxWalletToken, "Exceeds maximum wallet amount.");}
        if(sender != pair){require(amount <= _maxSellAmount || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded");}
        require(amount <= _maxTxAmount || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded"); 
        if(recipient == pair && !isFeeExempt[sender]){swapTimes += uint256(1);}
        if(shouldContractSwap(sender, recipient, amount)){swapAndLiquify(swapThreshold); swapTimes = uint256(0);}
        _balances[sender] = _balances[sender].sub(amount);
        uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
    }
 
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
 
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
 
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"_swapAmount","type":"uint256"},{"internalType":"uint256","name":"_swapThreshold","type":"uint256"},{"internalType":"uint256","name":"_minTokenAmount","type":"uint256"}],"name":"SetContractSwapSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"},{"internalType":"uint256","name":"_development","type":"uint256"},{"internalType":"uint256","name":"_total","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"SetFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_wallet","type":"uint256"}],"name":"SetMaxTxAndMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxSellAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","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":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketing","type":"address"},{"internalType":"address","name":"_liquidity","type":"address"},{"internalType":"address","name":"_development","type":"address"}],"name":"setWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a620004e6565b6200002290633b9aca00620004fe565b60018181556007805461ffff60a01b1916600160a81b179055600a55620186a09062000051906103e8620004fe565b6200005d919062000518565b600b55620186a06001546101f4620000769190620004fe565b62000082919062000518565b600c556000600d8190556107d0600e819055600f55601055610fa0601181905560128190556013556127106014819055601580546001600160a01b031990811673ce9053a9941a8740392b3e859534eff7790bac12908117909255601680548216732de1ba38f44b0aed75b14cab20a120a1fc276c421790556017805490911690911790556001546200011790607d620004fe565b62000123919062000518565b601855612710600154607d6200013a9190620004fe565b62000146919062000518565b601955612710600154607d6200015d9190620004fe565b62000169919062000518565b601a553480156200017957600080fd5b50600080546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa158015620001e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020791906200053b565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b91906200053b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002c9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ef91906200053b565b600680546001600160a01b038581166001600160a01b031992831617909255600780548484169216919091179055306000908152600460209081526040808320805460ff19908116600190811790925560175486168552828520805482168317905560165486168552828520805482168317905560155490951684528184208054861682179055338085528285208054909616821790955554600283528184208190559051908152939450919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505062000566565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004285781600019048211156200040c576200040c620003d1565b808516156200041a57918102915b93841c9390800290620003ec565b509250929050565b6000826200044157506001620004e0565b816200045057506000620004e0565b8160018114620004695760028114620004745762000494565b6001915050620004e0565b60ff841115620004885762000488620003d1565b50506001821b620004e0565b5060208310610133831016604e8410600b8410161715620004b9575081810a620004e0565b620004c58383620003e7565b8060001904821115620004dc57620004dc620003d1565b0290505b92915050565b6000620004f760ff84168362000430565b9392505050565b8082028115828204841417620004e057620004e0620003d1565b6000826200053657634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200054e57600080fd5b81516001600160a01b0381168114620004f757600080fd5b611e3880620005766000396000f3fe6080604052600436106101855760003560e01c806375cb1bd1116100d157806395d89b411161008a578063dd62ed3e11610064578063dd62ed3e146104ac578063e4d9a99b146104f2578063f2fde38b14610512578063f9c7cd7e1461053257600080fd5b806395d89b411461043f578063a8aa1b311461046c578063a9059cbb1461048c57600080fd5b806375cb1bd11461038b57806378109e54146103ab5780637cca52fe146103c15780637d1db4a5146103d7578063893d20e8146103ed5780638cd4426d1461041f57600080fd5b8063293230b81161013e5780633f4218e0116101185780633f4218e0146102f057806348ff2b8b1461032057806351bc3c851461034057806370a082311461035557600080fd5b8063293230b8146102905780632f54bf6e146102a5578063313ce567146102d457600080fd5b806306fdde0314610191578063095ea7b3146101db578063167a3d441461020b57806318160ddd1461022d578063229b6a5e1461025057806323b872dd1461027057600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b5060408051808201909152600f81526e50617261676f6e204e6574776f726b60881b60208201525b6040516101d29190611981565b60405180910390f35b3480156101e757600080fd5b506101fb6101f63660046119e7565b610552565b60405190151581526020016101d2565b34801561021757600080fd5b5061022b610226366004611a13565b610569565b005b34801561023957600080fd5b50610242610650565b6040519081526020016101d2565b34801561025c57600080fd5b5061022b61026b366004611a6d565b6106c1565b34801561027c57600080fd5b506101fb61028b366004611af3565b610762565b34801561029c57600080fd5b5061022b6107cc565b3480156102b157600080fd5b506101fb6102c0366004611b34565b6000546001600160a01b0391821691161490565b3480156102e057600080fd5b50604051600981526020016101d2565b3480156102fc57600080fd5b506101fb61030b366004611b34565b60046020526000908152604090205460ff1681565b34801561032c57600080fd5b5061022b61033b366004611b51565b61080b565b34801561034c57600080fd5b5061022b610860565b34801561036157600080fd5b50610242610370366004611b34565b6001600160a01b031660009081526002602052604090205490565b34801561039757600080fd5b5061022b6103a6366004611b8a565b610897565b3480156103b757600080fd5b50610242601a5481565b3480156103cd57600080fd5b5061024260195481565b3480156103e357600080fd5b5061024260185481565b3480156103f957600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101d2565b34801561042b57600080fd5b5061022b61043a3660046119e7565b61093d565b34801561044b57600080fd5b506040805180820190915260048152635041524160e01b60208201526101c5565b34801561047857600080fd5b50600754610407906001600160a01b031681565b34801561049857600080fd5b506101fb6104a73660046119e7565b610a64565b3480156104b857600080fd5b506102426104c7366004611bca565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156104fe57600080fd5b5061022b61050d366004611bf8565b610a71565b34801561051e57600080fd5b5061022b61052d366004611b34565b610b9d565b34801561053e57600080fd5b5061022b61054d366004611bf8565b610c1b565b600061055f338484610c81565b5060015b92915050565b6000546001600160a01b0316331461059c5760405162461bcd60e51b815260040161059390611c24565b60405180910390fd5b600d879055600e8690556010859055600f84905560118390556012829055601381905560145483118015906105d5575060145460125411155b80156105e5575060145460135411155b6106475760405162461bcd60e51b815260206004820152602d60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526c6f7265207468616e203130302560981b6064820152608401610593565b50505050505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5460015491926106bc9290916106b69190610da5565b90610da5565b905090565b6000546001600160a01b031633146106eb5760405162461bcd60e51b815260040161059390611c24565b60005b8281101561075c57816005600086868581811061070d5761070d611c44565b90506020020160208101906107229190611b34565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061075481611c70565b9150506106ee565b50505050565b600061076f848484610db1565b6107c184336107bc85604051806060016040528060288152602001611ddb602891396001600160a01b038a16600090815260036020908152604080832033845290915290205491906112fe565b610c81565b5060015b9392505050565b6000546001600160a01b031633146107f65760405162461bcd60e51b815260040161059390611c24565b6007805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146108355760405162461bcd60e51b815260040161059390611c24565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461088a5760405162461bcd60e51b815260040161059390611c24565b610895600b5461132a565b565b6000546001600160a01b031633146108c15760405162461bcd60e51b815260040161059390611c24565b601680546001600160a01b039485166001600160a01b031991821681179092556017805494861694821685179055601580549390951692168217909355600092835260046020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b6000546001600160a01b031633146109675760405162461bcd60e51b815260040161059390611c24565b6040516370a0823160e01b81523060048201526000906109eb906064906109e59085906001600160a01b038816906370a0823190602401602060405180830381865afa1580156109bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109df9190611c89565b906114a7565b906114b3565b60155460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303816000875af1158015610a40573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075c9190611ca2565b600061055f338484610db1565b6000546001600160a01b03163314610a9b5760405162461bcd60e51b815260040161059390611c24565b6000610ab86127106109e5866001546114a790919063ffffffff16565b90506000610ad76127106109e5866001546114a790919063ffffffff16565b90506000610af66127106109e5866001546114a790919063ffffffff16565b60188490556019839055601a81905590506000610b1c6103e86109e560056109df610650565b9050808410158015610b2e5750808310155b8015610b3a5750808210155b6106475760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610593565b6000546001600160a01b03163314610bc75760405162461bcd60e51b815260040161059390611c24565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6000546001600160a01b03163314610c455760405162461bcd60e51b815260040161059390611c24565b600a839055600154610c6090620186a0906109e590856114a7565b600b55600154610c7990620186a0906109e590846114a7565b600c55505050565b6001600160a01b038316610ce35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610593565b6001600160a01b038216610d445760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610593565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006107c58284611cbf565b6001600160a01b038316610e155760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610593565b6001600160a01b038216610e775760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610593565b6001600160a01b038316600090815260026020526040902054811115610ef95760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610593565b6001600160a01b03831660009081526004602052604090205460ff16158015610f3b57506001600160a01b03821660009081526004602052604090205460ff16155b15610f8a57600754600160a01b900460ff16610f8a5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b6044820152606401610593565b6001600160a01b03831660009081526004602052604090205460ff16158015610fcc57506001600160a01b03821660009081526004602052604090205460ff16155b8015610fe657506007546001600160a01b03838116911614155b8015610ffd57506001600160a01b03821661dead14155b1561107657601a546001600160a01b03831660009081526002602052604090205461102890836114bf565b11156110765760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610593565b6007546001600160a01b0384811691161461111757601954811115806110b457506001600160a01b03831660009081526004602052604090205460ff165b806110d757506001600160a01b03821660009081526004602052604090205460ff165b6111175760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610593565b6018548111158061114057506001600160a01b03831660009081526004602052604090205460ff165b8061116357506001600160a01b03821660009081526004602052604090205460ff165b6111a35760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610593565b6007546001600160a01b0383811691161480156111d957506001600160a01b03831660009081526004602052604090205460ff16155b156111f7576001600860008282546111f19190611cd2565b90915550505b6112028383836114cb565b1561121857611212600b5461132a565b60006008555b6001600160a01b03831660009081526002602052604090205461123b9082610da5565b6001600160a01b0384166000908152600260205260408120919091556112618484611585565b61126b5781611276565b6112768484846115cb565b6001600160a01b03841660009081526002602052604090205490915061129c90826114bf565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112f09085815260200190565b60405180910390a350505050565b600081848411156113225760405162461bcd60e51b81526004016105939190611981565b505050900390565b6009805460ff19166001908117909155600f54600e54600d54600093611364936002936109df93919261135e9283916114bf565b906114bf565b90506000611381826109e5600d54866114a790919063ffffffff16565b9050600061138f8483610da5565b90504761139b826116d2565b60006113a74783610da5565b905060006113ca6113c3600d5488610da590919063ffffffff16565b83906114b3565b905060006113e3600d54836114a790919063ffffffff16565b905080156113f5576113f5868261182c565b600e5460009061140a906109df8560026114a7565b9050801561144e576016546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561144c573d6000803e3d6000fd5b505b478015611491576015546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561148f573d6000803e3d6000fd5b505b50506009805460ff191690555050505050505050565b60006107c58284611ce5565b60006107c58284611cfc565b60006107c58284611cd2565b600c54600b543060009081526002602052604081205460095491938510159211159060ff161580156115065750600754600160a81b900460ff165b801561151b5750600754600160a01b900460ff165b80156115245750815b801561154957506001600160a01b03861660009081526004602052604090205460ff16155b801561156257506007546001600160a01b038681169116145b80156115725750600a5460085410155b801561157b5750805b9695505050505050565b6001600160a01b03821660009081526004602052604081205460ff161580156107c55750506001600160a01b031660009081526004602052604090205460ff1615919050565b6000806115d885856118e0565b11156116cb5760006115fb6115ed86866118e0565b6014546109df9086906114b3565b3060009081526002602052604090205490915061161890826114bf565b30600081815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116699085815260200190565b60405180910390a3600060105411801561168d575060105461168b86866118e0565b115b156116b9576116b93061dead6116b46010546109df601454896114b390919063ffffffff16565b610db1565b6116c38382610da5565b9150506107c5565b5092915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061170757611707611c44565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611760573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117849190611d1e565b8160018151811061179757611797611c44565b6001600160a01b0392831660209182029290920101526006546117bd9130911684610c81565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906117f6908590600090869030904290600401611d3b565b600060405180830381600087803b15801561181057600080fd5b505af1158015611824573d6000803e3d6000fd5b505050505050565b6006546118449030906001600160a01b031684610c81565b60065460175460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156118b4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118d99190611dac565b5050505050565b6001600160a01b03821660009081526005602052604081205460ff168061191f57506001600160a01b03821660009081526005602052604090205460ff165b1561193957601454611932906064610da5565b9050610563565b6007546001600160a01b03908116908316036119585750601254610563565b6007546001600160a01b03908116908416036119775750601154610563565b5060135492915050565b600060208083528351808285015260005b818110156119ae57858101830151858201604001528201611992565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146119e457600080fd5b50565b600080604083850312156119fa57600080fd5b8235611a05816119cf565b946020939093013593505050565b600080600080600080600060e0888a031215611a2e57600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b80151581146119e457600080fd5b600080600060408486031215611a8257600080fd5b833567ffffffffffffffff80821115611a9a57600080fd5b818601915086601f830112611aae57600080fd5b813581811115611abd57600080fd5b8760208260051b8501011115611ad257600080fd5b60209283019550935050840135611ae881611a5f565b809150509250925092565b600080600060608486031215611b0857600080fd5b8335611b13816119cf565b92506020840135611b23816119cf565b929592945050506040919091013590565b600060208284031215611b4657600080fd5b81356107c5816119cf565b60008060408385031215611b6457600080fd5b8235611b6f816119cf565b91506020830135611b7f81611a5f565b809150509250929050565b600080600060608486031215611b9f57600080fd5b8335611baa816119cf565b92506020840135611bba816119cf565b91506040840135611ae8816119cf565b60008060408385031215611bdd57600080fd5b8235611be8816119cf565b91506020830135611b7f816119cf565b600080600060608486031215611c0d57600080fd5b505081359360208301359350604090920135919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611c8257611c82611c5a565b5060010190565b600060208284031215611c9b57600080fd5b5051919050565b600060208284031215611cb457600080fd5b81516107c581611a5f565b8181038181111561056357610563611c5a565b8082018082111561056357610563611c5a565b808202811582820484141761056357610563611c5a565b600082611d1957634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611d3057600080fd5b81516107c5816119cf565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d8b5784516001600160a01b031683529383019391830191600101611d66565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611dc157600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205f9c610f32c9bfe95ea53232b536b5de26106532dffcc150135bf7a725d3b83264736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101855760003560e01c806375cb1bd1116100d157806395d89b411161008a578063dd62ed3e11610064578063dd62ed3e146104ac578063e4d9a99b146104f2578063f2fde38b14610512578063f9c7cd7e1461053257600080fd5b806395d89b411461043f578063a8aa1b311461046c578063a9059cbb1461048c57600080fd5b806375cb1bd11461038b57806378109e54146103ab5780637cca52fe146103c15780637d1db4a5146103d7578063893d20e8146103ed5780638cd4426d1461041f57600080fd5b8063293230b81161013e5780633f4218e0116101185780633f4218e0146102f057806348ff2b8b1461032057806351bc3c851461034057806370a082311461035557600080fd5b8063293230b8146102905780632f54bf6e146102a5578063313ce567146102d457600080fd5b806306fdde0314610191578063095ea7b3146101db578063167a3d441461020b57806318160ddd1461022d578063229b6a5e1461025057806323b872dd1461027057600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b5060408051808201909152600f81526e50617261676f6e204e6574776f726b60881b60208201525b6040516101d29190611981565b60405180910390f35b3480156101e757600080fd5b506101fb6101f63660046119e7565b610552565b60405190151581526020016101d2565b34801561021757600080fd5b5061022b610226366004611a13565b610569565b005b34801561023957600080fd5b50610242610650565b6040519081526020016101d2565b34801561025c57600080fd5b5061022b61026b366004611a6d565b6106c1565b34801561027c57600080fd5b506101fb61028b366004611af3565b610762565b34801561029c57600080fd5b5061022b6107cc565b3480156102b157600080fd5b506101fb6102c0366004611b34565b6000546001600160a01b0391821691161490565b3480156102e057600080fd5b50604051600981526020016101d2565b3480156102fc57600080fd5b506101fb61030b366004611b34565b60046020526000908152604090205460ff1681565b34801561032c57600080fd5b5061022b61033b366004611b51565b61080b565b34801561034c57600080fd5b5061022b610860565b34801561036157600080fd5b50610242610370366004611b34565b6001600160a01b031660009081526002602052604090205490565b34801561039757600080fd5b5061022b6103a6366004611b8a565b610897565b3480156103b757600080fd5b50610242601a5481565b3480156103cd57600080fd5b5061024260195481565b3480156103e357600080fd5b5061024260185481565b3480156103f957600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101d2565b34801561042b57600080fd5b5061022b61043a3660046119e7565b61093d565b34801561044b57600080fd5b506040805180820190915260048152635041524160e01b60208201526101c5565b34801561047857600080fd5b50600754610407906001600160a01b031681565b34801561049857600080fd5b506101fb6104a73660046119e7565b610a64565b3480156104b857600080fd5b506102426104c7366004611bca565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156104fe57600080fd5b5061022b61050d366004611bf8565b610a71565b34801561051e57600080fd5b5061022b61052d366004611b34565b610b9d565b34801561053e57600080fd5b5061022b61054d366004611bf8565b610c1b565b600061055f338484610c81565b5060015b92915050565b6000546001600160a01b0316331461059c5760405162461bcd60e51b815260040161059390611c24565b60405180910390fd5b600d879055600e8690556010859055600f84905560118390556012829055601381905560145483118015906105d5575060145460125411155b80156105e5575060145460135411155b6106475760405162461bcd60e51b815260206004820152602d60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526c6f7265207468616e203130302560981b6064820152608401610593565b50505050505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5460015491926106bc9290916106b69190610da5565b90610da5565b905090565b6000546001600160a01b031633146106eb5760405162461bcd60e51b815260040161059390611c24565b60005b8281101561075c57816005600086868581811061070d5761070d611c44565b90506020020160208101906107229190611b34565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061075481611c70565b9150506106ee565b50505050565b600061076f848484610db1565b6107c184336107bc85604051806060016040528060288152602001611ddb602891396001600160a01b038a16600090815260036020908152604080832033845290915290205491906112fe565b610c81565b5060015b9392505050565b6000546001600160a01b031633146107f65760405162461bcd60e51b815260040161059390611c24565b6007805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146108355760405162461bcd60e51b815260040161059390611c24565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461088a5760405162461bcd60e51b815260040161059390611c24565b610895600b5461132a565b565b6000546001600160a01b031633146108c15760405162461bcd60e51b815260040161059390611c24565b601680546001600160a01b039485166001600160a01b031991821681179092556017805494861694821685179055601580549390951692168217909355600092835260046020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b6000546001600160a01b031633146109675760405162461bcd60e51b815260040161059390611c24565b6040516370a0823160e01b81523060048201526000906109eb906064906109e59085906001600160a01b038816906370a0823190602401602060405180830381865afa1580156109bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109df9190611c89565b906114a7565b906114b3565b60155460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303816000875af1158015610a40573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075c9190611ca2565b600061055f338484610db1565b6000546001600160a01b03163314610a9b5760405162461bcd60e51b815260040161059390611c24565b6000610ab86127106109e5866001546114a790919063ffffffff16565b90506000610ad76127106109e5866001546114a790919063ffffffff16565b90506000610af66127106109e5866001546114a790919063ffffffff16565b60188490556019839055601a81905590506000610b1c6103e86109e560056109df610650565b9050808410158015610b2e5750808310155b8015610b3a5750808210155b6106475760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610593565b6000546001600160a01b03163314610bc75760405162461bcd60e51b815260040161059390611c24565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6000546001600160a01b03163314610c455760405162461bcd60e51b815260040161059390611c24565b600a839055600154610c6090620186a0906109e590856114a7565b600b55600154610c7990620186a0906109e590846114a7565b600c55505050565b6001600160a01b038316610ce35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610593565b6001600160a01b038216610d445760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610593565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006107c58284611cbf565b6001600160a01b038316610e155760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610593565b6001600160a01b038216610e775760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610593565b6001600160a01b038316600090815260026020526040902054811115610ef95760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610593565b6001600160a01b03831660009081526004602052604090205460ff16158015610f3b57506001600160a01b03821660009081526004602052604090205460ff16155b15610f8a57600754600160a01b900460ff16610f8a5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b6044820152606401610593565b6001600160a01b03831660009081526004602052604090205460ff16158015610fcc57506001600160a01b03821660009081526004602052604090205460ff16155b8015610fe657506007546001600160a01b03838116911614155b8015610ffd57506001600160a01b03821661dead14155b1561107657601a546001600160a01b03831660009081526002602052604090205461102890836114bf565b11156110765760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610593565b6007546001600160a01b0384811691161461111757601954811115806110b457506001600160a01b03831660009081526004602052604090205460ff165b806110d757506001600160a01b03821660009081526004602052604090205460ff165b6111175760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610593565b6018548111158061114057506001600160a01b03831660009081526004602052604090205460ff165b8061116357506001600160a01b03821660009081526004602052604090205460ff165b6111a35760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610593565b6007546001600160a01b0383811691161480156111d957506001600160a01b03831660009081526004602052604090205460ff16155b156111f7576001600860008282546111f19190611cd2565b90915550505b6112028383836114cb565b1561121857611212600b5461132a565b60006008555b6001600160a01b03831660009081526002602052604090205461123b9082610da5565b6001600160a01b0384166000908152600260205260408120919091556112618484611585565b61126b5781611276565b6112768484846115cb565b6001600160a01b03841660009081526002602052604090205490915061129c90826114bf565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112f09085815260200190565b60405180910390a350505050565b600081848411156113225760405162461bcd60e51b81526004016105939190611981565b505050900390565b6009805460ff19166001908117909155600f54600e54600d54600093611364936002936109df93919261135e9283916114bf565b906114bf565b90506000611381826109e5600d54866114a790919063ffffffff16565b9050600061138f8483610da5565b90504761139b826116d2565b60006113a74783610da5565b905060006113ca6113c3600d5488610da590919063ffffffff16565b83906114b3565b905060006113e3600d54836114a790919063ffffffff16565b905080156113f5576113f5868261182c565b600e5460009061140a906109df8560026114a7565b9050801561144e576016546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561144c573d6000803e3d6000fd5b505b478015611491576015546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561148f573d6000803e3d6000fd5b505b50506009805460ff191690555050505050505050565b60006107c58284611ce5565b60006107c58284611cfc565b60006107c58284611cd2565b600c54600b543060009081526002602052604081205460095491938510159211159060ff161580156115065750600754600160a81b900460ff165b801561151b5750600754600160a01b900460ff165b80156115245750815b801561154957506001600160a01b03861660009081526004602052604090205460ff16155b801561156257506007546001600160a01b038681169116145b80156115725750600a5460085410155b801561157b5750805b9695505050505050565b6001600160a01b03821660009081526004602052604081205460ff161580156107c55750506001600160a01b031660009081526004602052604090205460ff1615919050565b6000806115d885856118e0565b11156116cb5760006115fb6115ed86866118e0565b6014546109df9086906114b3565b3060009081526002602052604090205490915061161890826114bf565b30600081815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116699085815260200190565b60405180910390a3600060105411801561168d575060105461168b86866118e0565b115b156116b9576116b93061dead6116b46010546109df601454896114b390919063ffffffff16565b610db1565b6116c38382610da5565b9150506107c5565b5092915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061170757611707611c44565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611760573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117849190611d1e565b8160018151811061179757611797611c44565b6001600160a01b0392831660209182029290920101526006546117bd9130911684610c81565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906117f6908590600090869030904290600401611d3b565b600060405180830381600087803b15801561181057600080fd5b505af1158015611824573d6000803e3d6000fd5b505050505050565b6006546118449030906001600160a01b031684610c81565b60065460175460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156118b4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118d99190611dac565b5050505050565b6001600160a01b03821660009081526005602052604081205460ff168061191f57506001600160a01b03821660009081526005602052604090205460ff165b1561193957601454611932906064610da5565b9050610563565b6007546001600160a01b03908116908316036119585750601254610563565b6007546001600160a01b03908116908416036119775750601154610563565b5060135492915050565b600060208083528351808285015260005b818110156119ae57858101830151858201604001528201611992565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146119e457600080fd5b50565b600080604083850312156119fa57600080fd5b8235611a05816119cf565b946020939093013593505050565b600080600080600080600060e0888a031215611a2e57600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b80151581146119e457600080fd5b600080600060408486031215611a8257600080fd5b833567ffffffffffffffff80821115611a9a57600080fd5b818601915086601f830112611aae57600080fd5b813581811115611abd57600080fd5b8760208260051b8501011115611ad257600080fd5b60209283019550935050840135611ae881611a5f565b809150509250925092565b600080600060608486031215611b0857600080fd5b8335611b13816119cf565b92506020840135611b23816119cf565b929592945050506040919091013590565b600060208284031215611b4657600080fd5b81356107c5816119cf565b60008060408385031215611b6457600080fd5b8235611b6f816119cf565b91506020830135611b7f81611a5f565b809150509250929050565b600080600060608486031215611b9f57600080fd5b8335611baa816119cf565b92506020840135611bba816119cf565b91506040840135611ae8816119cf565b60008060408385031215611bdd57600080fd5b8235611be8816119cf565b91506020830135611b7f816119cf565b600080600060608486031215611c0d57600080fd5b505081359360208301359350604090920135919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611c8257611c82611c5a565b5060010190565b600060208284031215611c9b57600080fd5b5051919050565b600060208284031215611cb457600080fd5b81516107c581611a5f565b8181038181111561056357610563611c5a565b8082018082111561056357610563611c5a565b808202811582820484141761056357610563611c5a565b600082611d1957634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611d3057600080fd5b81516107c5816119cf565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d8b5784516001600160a01b031683529383019391830191600101611d66565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611dc157600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205f9c610f32c9bfe95ea53232b536b5de26106532dffcc150135bf7a725d3b83264736f6c63430008130033

Deployed Bytecode Sourcemap

4827:11349:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7287:67;;;;;;;;;;-1:-1:-1;7347:5:0;;;;;;;;;;;;-1:-1:-1;;;7347:5:0;;;;7287:67;;;;;;;:::i;:::-;;;;;;;;8168:133;;;;;;;;;;-1:-1:-1;8168:133:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;8168:133:0;1023:187:1;9188:485:0;;;;;;;;;;-1:-1:-1;9188:485:0;;;;;:::i;:::-;;:::i;:::-;;8307:132;;;;;;;;;;;;;:::i;:::-;;;1958:25:1;;;1946:2;1931:18;8307:132:0;1812:177:1;10584:184:0;;;;;;;;;;-1:-1:-1;10584:184:0;;;;;:::i;:::-;;:::i;15517:309::-;;;;;;;;;;-1:-1:-1;15517:309:0;;;;;:::i;:::-;;:::i;7510:67::-;;;;;;;;;;;;;:::i;3727:87::-;;;;;;;;;;-1:-1:-1;3727:87:0;;;;;:::i;:::-;3782:4;3807:5;-1:-1:-1;;;;;3796:16:0;;;3807:5;;3796:16;;3727:87;7437:67;;;;;;;;;;-1:-1:-1;7437:67:0;;5048:1;3727:36:1;;3715:2;3700:18;7437:67:0;3585:184:1;5245:44:0;;;;;;;;;;-1:-1:-1;5245:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8054:108;;;;;;;;;;-1:-1:-1;8054:108:0;;;;;:::i;:::-;;:::i;10777:89::-;;;;;;;;;;;;;:::i;7667:103::-;;;;;;;;;;-1:-1:-1;7667:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7750:18:0;7733:7;7750:18;;;:9;:18;;;;;;;7667:103;10247:328;;;;;;;;;;-1:-1:-1;10247:328:0;;;;;:::i;:::-;;:::i;6568:63::-;;;;;;;;;;;;;;;;6499:62;;;;;;;;;;;;;;;;6431:60;;;;;;;;;;;;;;;;7583:78;;;;;;;;;;-1:-1:-1;7635:7:0;7653:5;-1:-1:-1;;;;;7653:5:0;7583:78;;;-1:-1:-1;;;;;4859:32:1;;;4841:51;;4829:2;4814:18;7583:78:0;4695:203:1;10875:242:0;;;;;;;;;;-1:-1:-1;10875:242:0;;;;;:::i;:::-;;:::i;7360:71::-;;;;;;;;;;-1:-1:-1;7422:7:0;;;;;;;;;;;;-1:-1:-1;;;7422:7:0;;;;7360:71;;5363:19;;;;;;;;;;-1:-1:-1;5363:19:0;;;;-1:-1:-1;;;;;5363:19:0;;;7776:139;;;;;;;;;;-1:-1:-1;7776:139:0;;;;;:::i;:::-;;:::i;7921:127::-;;;;;;;;;;-1:-1:-1;7921:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;8019:18:0;;;8002:7;8019:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7921:127;9682:556;;;;;;;;;;-1:-1:-1;9682:556:0;;;;;:::i;:::-;;:::i;3820:111::-;;;;;;;;;;-1:-1:-1;3820:111:0;;;;;:::i;:::-;;:::i;8860:319::-;;;;;;;;;;-1:-1:-1;8860:319:0;;;;;:::i;:::-;;:::i;8168:133::-;8243:4;8250:37;8259:10;8271:7;8280:6;8250:8;:37::i;:::-;-1:-1:-1;8295:4:0;8168:133;;;;;:::o;9188:485::-;3782:4;3807:5;-1:-1:-1;;;;;3807:5:0;3694:10;3796:16;3678:38;;;;-1:-1:-1;;;3678:38:0;;;;;;;:::i;:::-;;;;;;;;;9359:12:::1;:25:::0;;;9386:12:::1;:25:::0;;;9413:7:::1;:15:::0;;;9430:14:::1;:29:::0;;;9461:8:::1;:17:::0;;;9480:7:::1;:15:::0;;;9497:11:::1;:20:::0;;;9548:11:::1;::::0;9536:23;::::1;::::0;::::1;::::0;:49:::1;;;9574:11;;9563:7;;:22;;9536:49;:79;;;;;9604:11;;9589;;:26;;9536:79;9528:137;;;::::0;-1:-1:-1;;;9528:137:0;;6413:2:1;9528:137:0::1;::::0;::::1;6395:21:1::0;6452:2;6432:18;;;6425:30;6491:34;6471:18;;;6464:62;-1:-1:-1;;;6542:18:1;;;6535:43;6595:19;;9528:137:0::1;6211:409:1::0;9528:137:0::1;9188:485:::0;;;;;;;:::o;8307:132::-;7750:9;:18;;;;6118:42;8360:7;7750:18;;;;;8377:12;;8360:7;;8377:60;;7750:18;;8377:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;8370:67;;8307:132;:::o;10584:184::-;3782:4;3807:5;-1:-1:-1;;;;;3807:5:0;3694:10;3796:16;3678:38;;;;-1:-1:-1;;;3678:38:0;;;;;;;:::i;:::-;10681:6:::1;10677:84;10691:20:::0;;::::1;10677:84;;;10750:8;10728:5;:19;10734:9;;10744:1;10734:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10728:19:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;10728:19:0;:30;;-1:-1:-1;;10728:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10713:3;::::1;::::0;::::1;:::i;:::-;;;;10677:84;;;;10584:184:::0;;;:::o;15517:309::-;15615:4;15632:36;15642:6;15650:9;15661:6;15632:9;:36::i;:::-;15679:117;15688:6;15696:10;15708:87;15744:6;15708:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15708:19:0;;;;;;:11;:19;;;;;;;;15728:10;15708:31;;;;;;;;;:87;:35;:87::i;:::-;15679:8;:117::i;:::-;-1:-1:-1;15814:4:0;15517:309;;;;;;:::o;7510:67::-;3782:4;3807:5;-1:-1:-1;;;;;3807:5:0;3694:10;3796:16;3678:38;;;;-1:-1:-1;;;3678:38:0;;;;;;;:::i;:::-;7554:14:::1;:21:::0;;-1:-1:-1;;;;7554:21:0::1;-1:-1:-1::0;;;7554:21:0::1;::::0;;7510:67::o;8054:108::-;3782:4;3807:5;-1:-1:-1;;;;;3807:5:0;3694:10;3796:16;3678:38;;;;-1:-1:-1;;;3678:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8128:21:0;;;::::1;;::::0;;;:11:::1;:21;::::0;;;;:32;;-1:-1:-1;;8128:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8054:108::o;10777:89::-;3782:4;3807:5;-1:-1:-1;;;;;3807:5:0;3694:10;3796:16;3678:38;;;;-1:-1:-1;;;3678:38:0;;;;;;;:::i;:::-;10829:29:::1;10844:13;;10829:14;:29::i;:::-;10777:89::o:0;10247:328::-;3782:4;3807:5;-1:-1:-1;;;;;3807:5:0;3694:10;3796:16;3678:38;;;;-1:-1:-1;;;3678:38:0;;;;;;;:::i;:::-;10359:18:::1;:31:::0;;-1:-1:-1;;;;;10359:31:0;;::::1;-1:-1:-1::0;;;;;;10359:31:0;;::::1;::::0;::::1;::::0;;;10392:18:::1;:31:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;10425:20:::1;:35:::0;;;;;::::1;::::0;::::1;::::0;::::1;::::0;;;10359:18:::1;10471:23:::0;;;:11:::1;:23;::::0;;;;;:30;;-1:-1:-1;;10471:30:0;;::::1;10359:31:::0;10471:30;;::::1;::::0;;;10503:23;;;;;;:30;;;::::1;::::0;::::1;::::0;;10535:25;;;;;;:32;;;;::::1;::::0;;::::1;::::0;;10247:328::o;10875:242::-;3782:4;3807:5;-1:-1:-1;;;;;3807:5:0;3694:10;3796:16;3678:38;;;;-1:-1:-1;;;3678:38:0;;;;;;;:::i;:::-;10979:41:::1;::::0;-1:-1:-1;;;10979:41:0;;11014:4:::1;10979:41;::::0;::::1;4841:51:1::0;10961:15:0::1;::::0;10979:63:::1;::::0;11038:3:::1;::::0;10979:54:::1;::::0;11025:7;;-1:-1:-1;;;;;10979:26:0;::::1;::::0;::::1;::::0;4814:18:1;;10979:41:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45:::0;::::1;:54::i;:::-;:58:::0;::::1;:63::i;:::-;11079:20;::::0;11053:56:::1;::::0;-1:-1:-1;;;11053:56:0;;-1:-1:-1;;;;;11079:20:0;;::::1;11053:56;::::0;::::1;7392:51:1::0;7459:18;;;7452:34;;;10961:81:0;;-1:-1:-1;11053:25:0;::::1;::::0;::::1;::::0;7365:18:1;;11053:56:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;7776:139::-:0;7854:4;7861:40;7871:10;7883:9;7894:6;7861:9;:40::i;9682:556::-;3782:4;3807:5;-1:-1:-1;;;;;3807:5:0;3694:10;3796:16;3678:38;;;;-1:-1:-1;;;3678:38:0;;;;;;;:::i;:::-;9788:13:::1;9804:33;9831:5;9804:22;9821:4;9804:12;;:16;;:22;;;;:::i;:33::-;9788:49;;9839:19;9861:34;9889:5;9861:23;9878:5;9861:12;;:16;;:23;;;;:::i;:34::-;9839:56;;9897:17;9917:36;9947:5;9917:25;9934:7;9917:12;;:16;;:25;;;;:::i;:36::-;9964:12;:20:::0;;;9986:14:::1;:28:::0;;;10016:15:::1;:27:::0;;;9897:56;-1:-1:-1;;10070:30:0::1;10095:4;10070:20;10088:1;10070:13;:11;:13::i;:30::-;10054:46;;10128:5;10119;:14;;:38;;;;;10152:5;10137:11;:20;;10119:38;:60;;;;;10174:5;10161:9;:18;;10119:60;10111:119;;;::::0;-1:-1:-1;;;10111:119:0;;7949:2:1;10111:119:0::1;::::0;::::1;7931:21:1::0;7988:2;7968:18;;;7961:30;8027:34;8007:18;;;8000:62;-1:-1:-1;;;8078:18:1;;;8071:44;8132:19;;10111:119:0::1;7747:410:1::0;3820:111:0;3782:4;3807:5;-1:-1:-1;;;;;3807:5:0;3694:10;3796:16;3678:38;;;;-1:-1:-1;;;3678:38:0;;;;;;;:::i;:::-;3886:5:::1;:11:::0;;-1:-1:-1;;;;;;3886:11:0::1;-1:-1:-1::0;;;;;3886:11:0;::::1;::::0;;::::1;::::0;;;3904:25:::1;::::0;4841:51:1;;;3904:25:0::1;::::0;4829:2:1;4814:18;3904:25:0::1;;;;;;;3820:111:::0;:::o;8860:319::-;3782:4;3807:5;-1:-1:-1;;;;;3807:5:0;3694:10;3796:16;3678:38;;;;-1:-1:-1;;;3678:38:0;;;;;;;:::i;:::-;8993:10:::1;:24:::0;;;9035:12:::1;::::0;:53:::1;::::0;9080:6:::1;::::0;9035:32:::1;::::0;9052:14;9035:16:::1;:32::i;:53::-;9019:13;:69:::0;9117:12:::1;::::0;:54:::1;::::0;9163:6:::1;::::0;9117:33:::1;::::0;9134:15;9117:16:::1;:33::i;:54::-;9100:14;:71:::0;-1:-1:-1;;;8860:319:0:o;15835:335::-;-1:-1:-1;;;;;15928:19:0;;15920:68;;;;-1:-1:-1;;;15920:68:0;;8580:2:1;15920:68:0;;;8562:21:1;8619:2;8599:18;;;8592:30;8658:34;8638:18;;;8631:62;-1:-1:-1;;;8709:18:1;;;8702:34;8753:19;;15920:68:0;8378:400:1;15920:68:0;-1:-1:-1;;;;;16007:21:0;;15999:68;;;;-1:-1:-1;;;15999:68:0;;8985:2:1;15999:68:0;;;8967:21:1;9024:2;9004:18;;;8997:30;9063:34;9043:18;;;9036:62;-1:-1:-1;;;9114:18:1;;;9107:32;9156:19;;15999:68:0;8783:398:1;15999:68:0;-1:-1:-1;;;;;16078:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16130:32;;1958:25:1;;;16130:32:0;;1931:18:1;16130:32:0;;;;;;;15835:335;;;:::o;1458:98::-;1516:7;1543:5;1547:1;1543;:5;:::i;14075:1433::-;-1:-1:-1;;;;;14172:20:0;;14164:70;;;;-1:-1:-1;;;14164:70:0;;9521:2:1;14164:70:0;;;9503:21:1;9560:2;9540:18;;;9533:30;9599:34;9579:18;;;9572:62;-1:-1:-1;;;9650:18:1;;;9643:35;9695:19;;14164:70:0;9319:401:1;14164:70:0;-1:-1:-1;;;;;14253:23:0;;14245:71;;;;-1:-1:-1;;;14245:71:0;;9927:2:1;14245:71:0;;;9909:21:1;9966:2;9946:18;;;9939:30;10005:34;9985:18;;;9978:62;-1:-1:-1;;;10056:18:1;;;10049:33;10099:19;;14245:71:0;9725:399:1;14245:71:0;-1:-1:-1;;;;;7750:18:0;;7733:7;7750:18;;;:9;:18;;;;;;14335:6;:27;;14327:88;;;;-1:-1:-1;;;14327:88:0;;10331:2:1;14327:88:0;;;10313:21:1;10370:2;10350:18;;;10343:30;10409:34;10389:18;;;10382:62;-1:-1:-1;;;10460:18:1;;;10453:47;10517:19;;14327:88:0;10129:413:1;14327:88:0;-1:-1:-1;;;;;14430:19:0;;;;;;:11;:19;;;;;;;;14429:20;:47;;;;-1:-1:-1;;;;;;14454:22:0;;;;;;:11;:22;;;;;;;;14453:23;14429:47;14426:95;;;14486:14;;-1:-1:-1;;;14486:14:0;;;;14478:41;;;;-1:-1:-1;;;14478:41:0;;10749:2:1;14478:41:0;;;10731:21:1;10788:2;10768:18;;;10761:30;-1:-1:-1;;;10807:18:1;;;10800:44;10861:18;;14478:41:0;10547:338:1;14478:41:0;-1:-1:-1;;;;;14535:19:0;;;;;;:11;:19;;;;;;;;14534:20;:47;;;;-1:-1:-1;;;;;;14559:22:0;;;;;;:11;:22;;;;;;;;14558:23;14534:47;:77;;;;-1:-1:-1;14606:4:0;;-1:-1:-1;;;;;14585:26:0;;;14606:4;;14585:26;;14534:77;:107;;;;-1:-1:-1;;;;;;14615:26:0;;6118:42;14615:26;;14534:107;14531:220;;;14699:15;;-1:-1:-1;;;;;14662:20:0;;;;;;:9;:20;;;;;;:32;;14687:6;14662:24;:32::i;:::-;14661:53;;14653:96;;;;-1:-1:-1;;;14653:96:0;;11092:2:1;14653:96:0;;;11074:21:1;11131:2;11111:18;;;11104:30;11170:32;11150:18;;;11143:60;11220:18;;14653:96:0;10890:354:1;14653:96:0;14774:4;;-1:-1:-1;;;;;14764:14:0;;;14774:4;;14764:14;14761:124;;14798:14;;14788:6;:24;;:47;;;-1:-1:-1;;;;;;14816:19:0;;;;;;:11;:19;;;;;;;;14788:47;:73;;;-1:-1:-1;;;;;;14839:22:0;;;;;;:11;:22;;;;;;;;14788:73;14780:103;;;;-1:-1:-1;;;14780:103:0;;11451:2:1;14780:103:0;;;11433:21:1;11490:2;11470:18;;;11463:30;-1:-1:-1;;;11509:18:1;;;11502:47;11566:18;;14780:103:0;11249:341:1;14780:103:0;14913:12;;14903:6;:22;;:45;;;-1:-1:-1;;;;;;14929:19:0;;;;;;:11;:19;;;;;;;;14903:45;:71;;;-1:-1:-1;;;;;;14952:22:0;;;;;;:11;:22;;;;;;;;14903:71;14895:101;;;;-1:-1:-1;;;14895:101:0;;11451:2:1;14895:101:0;;;11433:21:1;11490:2;11470:18;;;11463:30;-1:-1:-1;;;11509:18:1;;;11502:47;11566:18;;14895:101:0;11249:341:1;14895:101:0;15024:4;;-1:-1:-1;;;;;15011:17:0;;;15024:4;;15011:17;:41;;;;-1:-1:-1;;;;;;15033:19:0;;;;;;:11;:19;;;;;;;;15032:20;15011:41;15008:71;;;15075:1;15054:9;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;15008:71:0;15092:45;15111:6;15119:9;15130:6;15092:18;:45::i;:::-;15089:105;;;15139:29;15154:13;;15139:14;:29::i;:::-;15190:1;15170:9;:22;15089:105;-1:-1:-1;;;;;15224:17:0;;;;;;:9;:17;;;;;;:29;;15246:6;15224:21;:29::i;:::-;-1:-1:-1;;;;;15204:17:0;;;;;;:9;:17;;;;;:49;;;;15289:32;15214:6;15311:9;15289:13;:32::i;:::-;:78;;15361:6;15289:78;;;15324:34;15332:6;15340:9;15351:6;15324:7;:34::i;:::-;-1:-1:-1;;;;;15401:20:0;;;;;;:9;:20;;;;;;15264:103;;-1:-1:-1;15401:40:0;;15264:103;15401:24;:40::i;:::-;-1:-1:-1;;;;;15378:20:0;;;;;;;:9;:20;;;;;;;:63;;;;15457:43;;;;;;;;;;15485:14;1958:25:1;;1946:2;1931:18;;1812:177;15457:43:0;;;;;;;;14153:1355;14075:1433;;;:::o;1886:240::-;2006:7;2067:12;2059:6;;;;2051:29;;;;-1:-1:-1;;;2051:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2102:5:0;;;1886:240::o;11126:1063::-;5724:8;:15;;-1:-1:-1;;5724:15:0;5735:4;5724:15;;;;;;11263:14:::1;::::0;11245:12:::1;::::0;11221::::1;::::0;5724:8;;11220:66:::1;::::0;11284:1:::1;::::0;11221:57:::1;::::0;11263:14;;11221:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;11220:66::-;11197:89;;11297:32;11332:42;11361:12;11332:24;11343:12;;11332:6;:10;;:24;;;;:::i;:42::-;11297:77:::0;-1:-1:-1;11385:14:0::1;11402:36;:6:::0;11297:77;11402:10:::1;:36::i;:::-;11385:53:::0;-1:-1:-1;11474:21:0::1;11506:24;11385:53:::0;11506:16:::1;:24::i;:::-;11541:20;11564:41;:21;11590:14:::0;11564:25:::1;:41::i;:::-;11541:64;;11616:19;11637:48;11654:30;11671:12;;11654;:16;;:30;;;;:::i;:::-;11637:12:::0;;:16:::1;:48::i;:::-;11616:69;;11696:29;11728;11744:12;;11728:11;:15;;:29;;;;:::i;:::-;11696:61:::0;-1:-1:-1;11771:34:0;;11768:103:::1;;11807:61;11820:24;11846:21;11807:12;:61::i;:::-;11927:12;::::0;11881:20:::1;::::0;11904:36:::1;::::0;:18:::1;:11:::0;11920:1:::1;11904:15;:18::i;:36::-;11881:59:::0;-1:-1:-1;11954:16:0;;11951:73:::1;;11980:18;::::0;11972:50:::1;::::0;-1:-1:-1;;;;;11980:18:0;;::::1;::::0;11972:50;::::1;;;::::0;12009:12;;11980:18:::1;11972:50:::0;11980:18;11972:50;12009:12;11980:18;11972:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11951:73;12060:21;12095:28:::0;;12092:90:::1;;12133:20;::::0;12125:55:::1;::::0;-1:-1:-1;;;;;12133:20:0;;::::1;::::0;12125:55;::::1;;;::::0;12164:15;;12133:20:::1;12125:55:::0;12133:20;12125:55;12164:15;12133:20;12125:55;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12092:90;-1:-1:-1::0;;5744:8:0;:16;;-1:-1:-1;;5744:16:0;;;-1:-1:-1;;;;;;;;11126:1063:0:o;1565:98::-;1623:7;1650:5;1654:1;1650;:5;:::i;1672:98::-;1730:7;1757:5;1761:1;1757;:5;:::i;1351:98::-;1409:7;1436:5;1440:1;1436;:5;:::i;8448:403::-;8593:14;;8668:13;;8658:4;8550;7750:18;;;:9;:18;;;;;;8700:8;;8550:4;;8583:24;;;;-1:-1:-1;8640:41:0;;8700:8;;8699:9;:24;;;;-1:-1:-1;8712:11:0;;-1:-1:-1;;;8712:11:0;;;;8699:24;:42;;;;-1:-1:-1;8727:14:0;;-1:-1:-1;;;8727:14:0;;;;8699:42;:54;;;;;8745:8;8699:54;:78;;;;-1:-1:-1;;;;;;8758:19:0;;;;;;:11;:19;;;;;;;;8757:20;8699:78;:99;;;;-1:-1:-1;8794:4:0;;-1:-1:-1;;;;;8781:17:0;;;8794:4;;8781:17;8699:99;:126;;;;;8815:10;;8802:9;;:23;;8699:126;:144;;;;;8829:14;8699:144;8692:151;8448:403;-1:-1:-1;;;;;;8448:403:0:o;12993:160::-;-1:-1:-1;;;;;13099:19:0;;13074:4;13099:19;;;:11;:19;;;;;;;;13098:20;:47;;;;-1:-1:-1;;;;;;;13123:22:0;;;;;:11;:22;;;;;;;;13122:23;;12993:160;-1:-1:-1;12993:160:0:o;13476:590::-;13562:7;13618:1;13585:30;13597:6;13605:9;13585:11;:30::i;:::-;:34;13582:462;;;13631:17;13651:59;13679:30;13691:6;13699:9;13679:11;:30::i;:::-;13662:11;;13651:23;;:6;;:10;:23::i;:59::-;13766:4;13748:24;;;;:9;:24;;;;;;13631:79;;-1:-1:-1;13748:39:0;;13631:79;13748:28;:39::i;:::-;13739:4;13721:24;;;;:9;:24;;;;;;;:66;;;;13803:42;;-1:-1:-1;;;;;13803:42:0;;;;;;;13835:9;1958:25:1;;1946:2;1931:18;;1812:177;13803:42:0;;;;;;;;13877:1;13859:7;;:20;:64;;;;;13916:7;;13883:30;13895:6;13903:9;13883:11;:30::i;:::-;:40;13859:64;13856:148;;;13925:77;13943:4;6118:42;13965:36;13993:7;;13965:23;13976:11;;13965:6;:10;;:23;;;;:::i;:36::-;13925:9;:77::i;:::-;14021:21;:6;14032:9;14021:10;:21::i;:::-;14014:28;;;;;13582:462;-1:-1:-1;14052:6:0;13476:590;-1:-1:-1;;13476:590:0:o;12550:434::-;12640:16;;;12654:1;12640:16;;;;;;;;12616:21;;12640:16;;;;;;;;;;-1:-1:-1;12640:16:0;12616:40;;12685:4;12667;12672:1;12667:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12667:23:0;;;:7;;;;;;;;;;:23;;;;12711:6;;:13;;;-1:-1:-1;;;12711:13:0;;;;:6;;;;;:11;;:13;;;;;12667:7;;12711:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12701:4;12706:1;12701:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12701:23:0;;;:7;;;;;;;;;:23;12767:6;;12735:53;;12752:4;;12767:6;12776:11;12735:8;:53::i;:::-;12799:6;;:177;;-1:-1:-1;;;12799:177:0;;-1:-1:-1;;;;;12799:6:0;;;;:57;;:177;;12871:11;;12799:6;;12913:4;;12940;;12960:15;;12799:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12605:379;12550:434;:::o;12198:343::-;12311:6;;12279:53;;12296:4;;-1:-1:-1;;;;;12311:6:0;12320:11;12279:8;:53::i;:::-;12343:6;;12484:18;;12343:190;;-1:-1:-1;;;12343:190:0;;12406:4;12343:190;;;13834:34:1;13884:18;;;13877:34;;;12343:6:0;13927:18:1;;;13920:34;;;13970:18;;;13963:34;-1:-1:-1;;;;;12484:18:0;;;14013:19:1;;;14006:44;12517:15:0;14066:19:1;;;14059:35;12343:6:0;;;:22;;12373:9;;13768:19:1;;12343:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12198:343;;:::o;13162:305::-;-1:-1:-1;;;;;13264:13:0;;13241:7;13264:13;;;:5;:13;;;;;;;;;:33;;-1:-1:-1;;;;;;13281:16:0;;;;;;:5;:16;;;;;;;;13264:33;13261:76;;;13306:11;;:29;;13330:3;13306:15;:29::i;:::-;13299:36;;;;13261:76;13363:4;;-1:-1:-1;;;;;13363:4:0;;;13350:17;;;;13347:38;;-1:-1:-1;13376:7:0;;13369:14;;13347:38;13408:4;;-1:-1:-1;;;;;13408:4:0;;;13398:14;;;;13395:36;;-1:-1:-1;13421:8:0;;13414:15;;13395:36;-1:-1:-1;13448:11:0;;13162:305;;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1215:592::-;1328:6;1336;1344;1352;1360;1368;1376;1429:3;1417:9;1408:7;1404:23;1400:33;1397:53;;;1446:1;1443;1436:12;1397:53;-1:-1:-1;;1469:23:1;;;1539:2;1524:18;;1511:32;;-1:-1:-1;1590:2:1;1575:18;;1562:32;;1641:2;1626:18;;1613:32;;-1:-1:-1;1692:3:1;1677:19;;1664:33;;-1:-1:-1;1744:3:1;1729:19;;1716:33;;-1:-1:-1;1796:3:1;1781:19;1768:33;;-1:-1:-1;1215:592:1;-1:-1:-1;1215:592:1:o;1994:118::-;2080:5;2073:13;2066:21;2059:5;2056:32;2046:60;;2102:1;2099;2092:12;2117:750;2209:6;2217;2225;2278:2;2266:9;2257:7;2253:23;2249:32;2246:52;;;2294:1;2291;2284:12;2246:52;2334:9;2321:23;2363:18;2404:2;2396:6;2393:14;2390:34;;;2420:1;2417;2410:12;2390:34;2458:6;2447:9;2443:22;2433:32;;2503:7;2496:4;2492:2;2488:13;2484:27;2474:55;;2525:1;2522;2515:12;2474:55;2565:2;2552:16;2591:2;2583:6;2580:14;2577:34;;;2607:1;2604;2597:12;2577:34;2662:7;2655:4;2645:6;2642:1;2638:14;2634:2;2630:23;2626:34;2623:47;2620:67;;;2683:1;2680;2673:12;2620:67;2714:4;2706:13;;;;-1:-1:-1;2738:6:1;-1:-1:-1;;2779:20:1;;2766:34;2809:28;2766:34;2809:28;:::i;:::-;2856:5;2846:15;;;2117:750;;;;;:::o;2872:456::-;2949:6;2957;2965;3018:2;3006:9;2997:7;2993:23;2989:32;2986:52;;;3034:1;3031;3024:12;2986:52;3073:9;3060:23;3092:31;3117:5;3092:31;:::i;:::-;3142:5;-1:-1:-1;3199:2:1;3184:18;;3171:32;3212:33;3171:32;3212:33;:::i;:::-;2872:456;;3264:7;;-1:-1:-1;;;3318:2:1;3303:18;;;;3290:32;;2872:456::o;3333:247::-;3392:6;3445:2;3433:9;3424:7;3420:23;3416:32;3413:52;;;3461:1;3458;3451:12;3413:52;3500:9;3487:23;3519:31;3544:5;3519:31;:::i;3774:382::-;3839:6;3847;3900:2;3888:9;3879:7;3875:23;3871:32;3868:52;;;3916:1;3913;3906:12;3868:52;3955:9;3942:23;3974:31;3999:5;3974:31;:::i;:::-;4024:5;-1:-1:-1;4081:2:1;4066:18;;4053:32;4094:30;4053:32;4094:30;:::i;:::-;4143:7;4133:17;;;3774:382;;;;;:::o;4161:529::-;4238:6;4246;4254;4307:2;4295:9;4286:7;4282:23;4278:32;4275:52;;;4323:1;4320;4313:12;4275:52;4362:9;4349:23;4381:31;4406:5;4381:31;:::i;:::-;4431:5;-1:-1:-1;4488:2:1;4473:18;;4460:32;4501:33;4460:32;4501:33;:::i;:::-;4553:7;-1:-1:-1;4612:2:1;4597:18;;4584:32;4625:33;4584:32;4625:33;:::i;4903:388::-;4971:6;4979;5032:2;5020:9;5011:7;5007:23;5003:32;5000:52;;;5048:1;5045;5038:12;5000:52;5087:9;5074:23;5106:31;5131:5;5106:31;:::i;:::-;5156:5;-1:-1:-1;5213:2:1;5198:18;;5185:32;5226:33;5185:32;5226:33;:::i;5296:316::-;5373:6;5381;5389;5442:2;5430:9;5421:7;5417:23;5413:32;5410:52;;;5458:1;5455;5448:12;5410:52;-1:-1:-1;;5481:23:1;;;5551:2;5536:18;;5523:32;;-1:-1:-1;5602:2:1;5587:18;;;5574:32;;5296:316;-1:-1:-1;5296:316:1:o;5877:329::-;6079:2;6061:21;;;6118:1;6098:18;;;6091:29;-1:-1:-1;;;6151:2:1;6136:18;;6129:36;6197:2;6182:18;;5877:329::o;6625:127::-;6686:10;6681:3;6677:20;6674:1;6667:31;6717:4;6714:1;6707:15;6741:4;6738:1;6731:15;6757:127;6818:10;6813:3;6809:20;6806:1;6799:31;6849:4;6846:1;6839:15;6873:4;6870:1;6863:15;6889:135;6928:3;6949:17;;;6946:43;;6969:18;;:::i;:::-;-1:-1:-1;7016:1:1;7005:13;;6889:135::o;7029:184::-;7099:6;7152:2;7140:9;7131:7;7127:23;7123:32;7120:52;;;7168:1;7165;7158:12;7120:52;-1:-1:-1;7191:16:1;;7029:184;-1:-1:-1;7029:184:1:o;7497:245::-;7564:6;7617:2;7605:9;7596:7;7592:23;7588:32;7585:52;;;7633:1;7630;7623:12;7585:52;7665:9;7659:16;7684:28;7706:5;7684:28;:::i;9186:128::-;9253:9;;;9274:11;;;9271:37;;;9288:18;;:::i;11595:125::-;11660:9;;;11681:10;;;11678:36;;;11694:18;;:::i;11725:168::-;11798:9;;;11829;;11846:15;;;11840:22;;11826:37;11816:71;;11867:18;;:::i;11898:217::-;11938:1;11964;11954:132;;12008:10;12003:3;11999:20;11996:1;11989:31;12043:4;12040:1;12033:15;12071:4;12068:1;12061:15;11954:132;-1:-1:-1;12100:9:1;;11898:217::o;12252:251::-;12322:6;12375:2;12363:9;12354:7;12350:23;12346:32;12343:52;;;12391:1;12388;12381:12;12343:52;12423:9;12417:16;12442:31;12467:5;12442:31;:::i;12508:980::-;12770:4;12818:3;12807:9;12803:19;12849:6;12838:9;12831:25;12875:2;12913:6;12908:2;12897:9;12893:18;12886:34;12956:3;12951:2;12940:9;12936:18;12929:31;12980:6;13015;13009:13;13046:6;13038;13031:22;13084:3;13073:9;13069:19;13062:26;;13123:2;13115:6;13111:15;13097:29;;13144:1;13154:195;13168:6;13165:1;13162:13;13154:195;;;13233:13;;-1:-1:-1;;;;;13229:39:1;13217:52;;13324:15;;;;13289:12;;;;13265:1;13183:9;13154:195;;;-1:-1:-1;;;;;;;13405:32:1;;;;13400:2;13385:18;;13378:60;-1:-1:-1;;;13469:3:1;13454:19;13447:35;13366:3;12508:980;-1:-1:-1;;;12508:980:1:o;14105:306::-;14193:6;14201;14209;14262:2;14250:9;14241:7;14237:23;14233:32;14230:52;;;14278:1;14275;14268:12;14230:52;14307:9;14301:16;14291:26;;14357:2;14346:9;14342:18;14336:25;14326:35;;14401:2;14390:9;14386:18;14380:25;14370:35;;14105:306;;;;;:::o

Swarm Source

ipfs://5f9c610f32c9bfe95ea53232b536b5de26106532dffcc150135bf7a725d3b832

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

We're changing the game in decentralized computing with our unique mix of offerings: a Modular EVM-compatible Layer 1 infrastructure, powering a decentralized Cloud computing platform with a Delegated Proof-of-Stake Consensus.

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.