ETH Price: $3,395.79 (+5.42%)

Contract

0x4526FD312105a0d89EC2c7632AE98518f7b059ea
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve216010632025-01-11 11:52:478 days ago1736596367IN
ZeVoid: ZVOID Token
0 ETH0.000140723
Transfer215204832024-12-31 5:51:4720 days ago1735624307IN
ZeVoid: ZVOID Token
0 ETH0.000267913.15320227
Approve213767232024-12-11 3:55:5940 days ago1733889359IN
ZeVoid: ZVOID Token
0 ETH0.0005688512.21141454
Approve208624622024-09-30 9:06:23112 days ago1727687183IN
ZeVoid: ZVOID Token
0 ETH0.000430039.22195858
Approve208424172024-09-27 13:59:59114 days ago1727445599IN
ZeVoid: ZVOID Token
0 ETH0.0004328617.62199548
Approve195646002024-04-02 0:38:59293 days ago1712018339IN
ZeVoid: ZVOID Token
0 ETH0.0004906819.92707164
Approve194757852024-03-20 12:03:23305 days ago1710936203IN
ZeVoid: ZVOID Token
0 ETH0.0007208729.34690938
Transfer192557752024-02-18 16:08:47336 days ago1708272527IN
ZeVoid: ZVOID Token
0 ETH0.0028471933.50506514
Approve190982402024-01-27 13:33:47358 days ago1706362427IN
ZeVoid: ZVOID Token
0 ETH0.0008782718.82940215
Approve190799012024-01-24 23:54:35361 days ago1706140475IN
ZeVoid: ZVOID Token
0 ETH0.0006069112.9549349
Approve189134622024-01-01 15:26:59384 days ago1704122819IN
ZeVoid: ZVOID Token
0 ETH0.0003591914.62291801
Approve187586272023-12-10 21:55:59406 days ago1702245359IN
ZeVoid: ZVOID Token
0 ETH0.0006624226.96741753
Approve186052022023-11-19 10:16:23427 days ago1700388983IN
ZeVoid: ZVOID Token
0 ETH0.000479519.52066398
Approve185856542023-11-16 16:30:47430 days ago1700152247IN
ZeVoid: ZVOID Token
0 ETH0.0028522161.22740044
Approve185295912023-11-08 20:21:47438 days ago1699474907IN
ZeVoid: ZVOID Token
0 ETH0.0020829444.71366709
Approve185168152023-11-07 1:30:23440 days ago1699320623IN
ZeVoid: ZVOID Token
0 ETH0.0011212723.93430036
Approve185153052023-11-06 20:25:35440 days ago1699302335IN
ZeVoid: ZVOID Token
0 ETH0.0014491631.10856911
Approve184672232023-10-31 2:45:11447 days ago1698720311IN
ZeVoid: ZVOID Token
0 ETH0.0012544126.92793623
Approve184287862023-10-25 17:38:11452 days ago1698255491IN
ZeVoid: ZVOID Token
0 ETH0.002058643.8860489
Approve183805262023-10-18 23:30:11459 days ago1697671811IN
ZeVoid: ZVOID Token
0 ETH0.000302766.4993799
Set_unlock Time_...183003162023-10-07 18:11:35470 days ago1696702295IN
ZeVoid: ZVOID Token
0 ETH0.000156916.546153
Approve182927002023-10-06 16:38:11471 days ago1696610291IN
ZeVoid: ZVOID Token
0 ETH0.0003110712.66398314
Approve182838972023-10-05 11:05:23472 days ago1696503923IN
ZeVoid: ZVOID Token
0 ETH0.000183677.4591644
Approve182777922023-10-04 14:36:23473 days ago1696430183IN
ZeVoid: ZVOID Token
0 ETH0.0005059810.86462015
Approve182777842023-10-04 14:34:47473 days ago1696430087IN
ZeVoid: ZVOID Token
0 ETH0.0006738414.36532678
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
182363192023-09-28 19:29:11479 days ago1695929351
ZeVoid: ZVOID Token
12.0952999 ETH
178012512023-07-29 21:02:47540 days ago1690664567
ZeVoid: ZVOID Token
0.07421391 ETH
178012512023-07-29 21:02:47540 days ago1690664567
ZeVoid: ZVOID Token
0.00218276 ETH
178012512023-07-29 21:02:47540 days ago1690664567
ZeVoid: ZVOID Token
0.01309657 ETH
178012512023-07-29 21:02:47540 days ago1690664567
ZeVoid: ZVOID Token
0.01309657 ETH
178012512023-07-29 21:02:47540 days ago1690664567
ZeVoid: ZVOID Token
0.01309657 ETH
178012512023-07-29 21:02:47540 days ago1690664567
ZeVoid: ZVOID Token
0.01309657 ETH
178012512023-07-29 21:02:47540 days ago1690664567
ZeVoid: ZVOID Token
0.01309657 ETH
178012512023-07-29 21:02:47540 days ago1690664567
ZeVoid: ZVOID Token
0.21827621 ETH
173320202023-05-24 22:30:35606 days ago1684967435
ZeVoid: ZVOID Token
0.26070464 ETH
173320202023-05-24 22:30:35606 days ago1684967435
ZeVoid: ZVOID Token
0.00766778 ETH
173320202023-05-24 22:30:35606 days ago1684967435
ZeVoid: ZVOID Token
0.0460067 ETH
173320202023-05-24 22:30:35606 days ago1684967435
ZeVoid: ZVOID Token
0.0460067 ETH
173320202023-05-24 22:30:35606 days ago1684967435
ZeVoid: ZVOID Token
0.0460067 ETH
173320202023-05-24 22:30:35606 days ago1684967435
ZeVoid: ZVOID Token
0.0460067 ETH
173320202023-05-24 22:30:35606 days ago1684967435
ZeVoid: ZVOID Token
0.0460067 ETH
173320202023-05-24 22:30:35606 days ago1684967435
ZeVoid: ZVOID Token
0.76677837 ETH
171657062023-05-01 11:33:11629 days ago1682940791
ZeVoid: ZVOID Token
0.1745008 ETH
171657062023-05-01 11:33:11629 days ago1682940791
ZeVoid: ZVOID Token
0.00513237 ETH
171657062023-05-01 11:33:11629 days ago1682940791
ZeVoid: ZVOID Token
0.03079426 ETH
171657062023-05-01 11:33:11629 days ago1682940791
ZeVoid: ZVOID Token
0.03079426 ETH
171657062023-05-01 11:33:11629 days ago1682940791
ZeVoid: ZVOID Token
0.03079426 ETH
171657062023-05-01 11:33:11629 days ago1682940791
ZeVoid: ZVOID Token
0.03079426 ETH
171657062023-05-01 11:33:11629 days ago1682940791
ZeVoid: ZVOID Token
0.03079426 ETH
171657062023-05-01 11:33:11629 days ago1682940791
ZeVoid: ZVOID Token
0.51323767 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Zevoid

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
Yes with 200 runs

Other Settings:
byzantium EvmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-10-12
*/

// SPDX-License-Identifier: MIT

/**
ZVOID Team

Website: https://www.zevoid.io/
Telegram: https://t.me/ZeVoidPortal
Twitter: https://twitter.com/ZeVoidOfficial


Dr_0x1
Head of development
*/



pragma solidity >=0.4.22 <0.9.0;



interface IFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

// implementation: https://etherscan.io/address/0x48d118c9185e4dbafe7f3813f8f29ec8a6248359#code
// proxy: https://etherscan.io/address/0x48d118c9185e4dbafe7f3813f8f29ec8a6248359#code
interface ItrustSwap {
    function lockToken(
        address _tokenAddress,
        address _withdrawalAddress,
        uint256 _amount,
        uint256 _unlockTime,
        bool _mintNFT
    )external payable returns (uint256 _id);

    function transferLocks(uint256 _id, address _receiverAddress) external;
    function addTokenToFreeList(address token) external;
    function extendLockDuration(uint256 _id, uint256 _unlockTime) external;
    function getFeesInETH(address _tokenAddress) external view returns (uint256);
    function withdrawTokens(uint256 _id, uint256 _amount) external;

    function getDepositDetails(uint256 _id)view external returns (
        address _tokenAddress, 
        address _withdrawalAddress, 
        uint256 _tokenAmount, 
        uint256 _unlockTime, 
        bool _withdrawn, 
        uint256 _tokenId,
        bool _isNFT,
        uint256 _migratedLockDepositId,
        bool _isNFTMinted);
}

interface IPair {
    function allowance(address owner, address spender) external view returns (uint);
    function approve(address spender, uint value) external returns (bool);    
    function transfer(address to, uint256 amount) external returns (bool);
    function balanceOf(address owner) external view returns (uint);
    function getReserves() external view returns (uint112 _reserve0, uint112 _reserve1, uint32 _blockTimestampLast);
}

interface IRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        ); 

    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);

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

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

    function getAmountsOut(uint amountIn, address[] memory path) external view returns (uint[] memory amounts);
    
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);

    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `from` to `to` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool);
}


contract ERC20 is Context, IERC20 {
    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string public name;
    string public symbol;
    uint8 public decimals;

    constructor(string memory name_, string memory symbol_) {
        name = name_;
        symbol = symbol_;
        decimals = 18;
    }

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

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

    function transfer(address to, uint256 amount) public virtual override returns (bool) {}

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

    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {}

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
        }
        _balances[to] += amount;

        emit Transfer(from, to, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

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


}



contract Zevoid is ERC20 {

  struct Taxes { 
    uint256 lp_tax;
    uint256 devMarketing_tax; 
    uint256 ETH_gasfee_tax; 
    uint256 team_tax; 
    uint256 total; 
    //ecosystem 
    uint256 early_sell_tax; 
    uint256 deadblock_tax; 
    uint256 blacklist_tax; 
  }
  struct EarlyBuySellTracker {
    uint256 buy_blockNumber;
    uint256 sell_blockNumber;
  }

  mapping(address => EarlyBuySellTracker) first_actions_map;
  uint256 ebst_treshold = 60*60*24; //24h
  mapping(address => uint256) private team_members;
  
  struct Shares{
    uint256 share_team;
    uint256 share_developmentMarketing;
    uint256 share_Fees;
    uint256 share_LP;
  }
  Shares private shareObj;

  address[] private team_member_list;  
  address[] whitelist; 
  address[] blacklist; 
  address[] holders;

  uint256 private end_blockNr = 0;
  uint256 _unlockTime_in_UTC = 210 days; //7months
  uint256 public unlockTime_in_UTC_local;
  bool public trading_enabled = false;

  uint256 public lp_eth_balance;
  
  Taxes public buy_taxes = Taxes({
    lp_tax: 250, 
    devMarketing_tax: 240, 
    ETH_gasfee_tax: 10, 
    team_tax: 200, 
    total: (250 + 240 + 10 + 200),
    //
    early_sell_tax: 0, 
    deadblock_tax: 7300, 
    blacklist_tax: 7000 
  });

  Taxes public sell_taxes = Taxes({
    lp_tax: 250,
    devMarketing_tax: 240,
    ETH_gasfee_tax: 10,
    team_tax: 200,
    total: (250 + 240 + 10 + 200),
    //
    early_sell_tax: 1200, 
    deadblock_tax: 700, 
    blacklist_tax: 7000
  });


uint256 totalTokenAmount = 7 * (10 ** 6) * (10 ** 18);
uint256 initialSupply;
uint256 BASISPOINT = 10000;

uint256 public _maxWallet = (totalTokenAmount / 100); // 1%
uint256 public _maxTx = (totalTokenAmount * 50) / BASISPOINT; //0.5%

IRouter uniswapV2Router;
IPair public uniswapV2Pair;
ItrustSwap externLocker;
uint256[] locks_ids;
address public owner;
address public zeOracle_address;
address private developmentMarketing_address; 


constructor(
  address owner_0,
  address router_v2_address, 
  address externLocker_address,
  address developmentMarketing_address_,
  address zeOracle_address_ 
  ) 
  ERC20("ZeVoid", "ZVOID") 
  {
    //owner: multisig  
    owner = owner_0;
    
    initialSupply = ((totalTokenAmount * 80) / 100);
    
    _mint(address(this), initialSupply); //80%
    _mint(owner, (totalTokenAmount - initialSupply)); //20% for CEX

    zeOracle_address = zeOracle_address_;
    developmentMarketing_address = developmentMarketing_address_;

    uniswapV2Router = IRouter(router_v2_address); 
    address _pair = IFactory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

    uniswapV2Pair = IPair(_pair);
    externLocker = ItrustSwap(externLocker_address);
        
    whitelist.push(address(this));
    whitelist.push(owner);
    whitelist.push(zeOracle_address);
    //
    whitelist.push(router_v2_address);
    whitelist.push(_pair);
    whitelist.push(externLocker_address);


    //team members
    //
    team_member_list.push(0x13D47263B1B770AbD441AEAb67e5e00EDA11B1C5);    
    team_members[0x13D47263B1B770AbD441AEAb67e5e00EDA11B1C5] = 2000; 
    //
    team_member_list.push(0xA795a19fB3797466517FDC7804fdB9E87DAeDfd4);    
    team_members[0xA795a19fB3797466517FDC7804fdB9E87DAeDfd4] = 2000; 
    //
    team_member_list.push(0x11F184dFA987973933A5150531e5BeA2882b0687);    
    team_members[0x11F184dFA987973933A5150531e5BeA2882b0687] = 2000; 
    //
    team_member_list.push(0x9A22519df3fac8b3829f8F3150ae2D6C3A6b809D);    
    team_members[0x9A22519df3fac8b3829f8F3150ae2D6C3A6b809D] = 2000; 
    //
    team_member_list.push(0xDeE2DE3F2532791B5F58c5Ff0EE834586930cf99);    
    team_members[0xDeE2DE3F2532791B5F58c5Ff0EE834586930cf99] = 2000; 
    //


    //
    shareObj = Shares({
        share_team: 3000,
        share_developmentMarketing: 3400,
        share_Fees: 100,
        share_LP: 3500
    });
}



function plock(uint256 ethAmount) payable external onlyOwner {

  if((msg.value <= externLocker.getFeesInETH(address(uniswapV2Pair))))revert('Not enough liql!');

  (bool sent,) = payable(address(this)).call{value: ethAmount}("");
  if(sent == true){

    if(initialSupply > 0 && ethAmount > 0){
      addLiquidity(address(this), initialSupply, ethAmount);
      lock_LP_Tokens();
    }
  }else{
    revert('sending ETH in plock: fail');
  }
}

modifier onlyOwner(){
  require(owner == msg.sender, 'Only Owner!');
  _;
}

modifier onlyOwnerZeOracle(){
  require(zeOracle_address == msg.sender || owner == msg.sender, 'Only owner or zeOracle!');
  _;
}

modifier tradingAutoDisabled(){
  bool before_trading_enabled = trading_enabled; 
  trading_enabled = false;
  _;
  trading_enabled = before_trading_enabled;
}


function set_deadblock_tax(uint256 new_deadblock_buy_tax, uint256 new_deadblock_sell_tax) onlyOwner external{
  buy_taxes.deadblock_tax = new_deadblock_buy_tax;
  sell_taxes.deadblock_tax = new_deadblock_sell_tax;
}


function set_unlockTime_in_UTC(uint256 new_unlockTime_in_UTC) onlyOwner external{
  _unlockTime_in_UTC = new_unlockTime_in_UTC;
}

function set_early_sell_tax(uint256 new_early_sell_tax) onlyOwner external{
  sell_taxes.early_sell_tax = new_early_sell_tax;
}


function set_blacklist_tax(uint256 new_blacklist_buy_tax, uint256 new_blacklist_sell_tax) onlyOwner external{
  buy_taxes.blacklist_tax = new_blacklist_buy_tax;
  sell_taxes.blacklist_tax = new_blacklist_sell_tax;
}


function set_buy_taxes(
  uint256 new_lp_tax, 
  uint256 new_devMarketing_tax,
  uint256 new_ETH_gasfee_tax,
  uint256 new_team_tax
  ) onlyOwner external{
  buy_taxes.lp_tax = new_lp_tax;
  buy_taxes.devMarketing_tax = new_devMarketing_tax;
  buy_taxes.ETH_gasfee_tax = new_ETH_gasfee_tax;
  buy_taxes.team_tax = new_team_tax;
  buy_taxes.total = buy_taxes.lp_tax + buy_taxes.devMarketing_tax + buy_taxes.ETH_gasfee_tax + buy_taxes.team_tax;
}


function set_sell_taxes(  
  uint256 new_lp_tax, 
  uint256 new_devMarketing_tax,
  uint256 new_ETH_gasfee_tax,
  uint256 new_team_tax
) onlyOwner external{
  sell_taxes.lp_tax = new_lp_tax;
  sell_taxes.devMarketing_tax = new_devMarketing_tax;
  sell_taxes.ETH_gasfee_tax = new_ETH_gasfee_tax;
  sell_taxes.team_tax = new_team_tax;
  sell_taxes.total = sell_taxes.lp_tax + sell_taxes.devMarketing_tax + sell_taxes.ETH_gasfee_tax + sell_taxes.team_tax;
}





function set_owner(address new_owner) onlyOwner external{
  add_whitelist(new_owner);
  owner = new_owner;
}

function set_zeOracle_address(address new_zeOracle_address) onlyOwner external{
  zeOracle_address = new_zeOracle_address;
}


function set_maxTx_maxWallet(uint256 new_maxWallet_in_ZVOID, uint256 new__maxTx_in_ZVOID) onlyOwner external{  
  _maxWallet = new_maxWallet_in_ZVOID; 
  _maxTx = new__maxTx_in_ZVOID; 
}


function set_ebst_treshold(uint256 new_ebst_treshold) onlyOwner external{
  ebst_treshold = new_ebst_treshold;
}

function set_trading_enabled(bool new_trading_enabled, uint256 nBlock) onlyOwner external{
  trading_enabled = new_trading_enabled;
  if(end_blockNr == 0) end_blockNr = (block.number + nBlock); 
}

function is_team_member(address team_member) public view returns(bool, uint256) {
    for(uint256 i=0; i < team_member_list.length; i++){
        if(team_member_list[i] == team_member){
            return (true, i);
        }
    }
    return (false, 0);
}

function team_shares_correct() view private returns(bool) {
    uint256 total_shares = 0;
    for(uint256 i=0; i < team_member_list.length; i++){
        total_shares += team_members[team_member_list[i]];
    }
    //
    if((total_shares) <= BASISPOINT){
        return true;
    }
    return false;
}

function add_team_member(address team_member, uint256 share_perc_in_BASISPOINT) onlyOwner external returns(bool) {
    (bool is_tm,) = is_team_member(team_member);
    if(is_tm == true)return false;
    //
    team_member_list.push(team_member);    
    team_members[team_member] = share_perc_in_BASISPOINT; 
    //
    if(team_shares_correct()==false)revert('Total share is greater than 100%.');
    //
    return true;
}

function delete_team_member(address team_member) onlyOwner external returns(bool){    
    (bool is_tm, uint256 i) = is_team_member(team_member);
    if(is_tm == true){
        delete team_member_list[i];
        delete team_members[team_member];
        return true;
    } 
  return false;
}

function get_team_member_list() public view returns(address[] memory) {
    return team_member_list;
}

function set_team_member(address old_team_member, address new_team_member, uint256 share_perc_in_BASISPOINT) onlyOwner external returns(bool){
    (bool is_tm, uint256 i) = is_team_member(old_team_member);
    if(is_tm == true){
        team_member_list[i] = new_team_member;
        //
        delete team_members[old_team_member];
        team_members[new_team_member] = share_perc_in_BASISPOINT;
        //
        if(team_shares_correct()==false)revert('Total share is greater than 100%.');
        //
        return true;
    }
    return false;
}


function is_whitelisted(address user) public view returns(bool) {
  for(uint256 i=0; i<whitelist.length; i++){
    if(whitelist[i] == user)return true;
  }
  return false;
}

function is_blacklisted(address user) public view returns(bool) {
  for(uint256 i=0; i<blacklist.length; i++){
    if(blacklist[i] == user)return true;
  }
  return false;
}


function get_holders() public view returns(address[] memory){
  return holders;
}


function add_or_remove_holder(address user) private returns(uint256) {
  uint256 amount = balanceOf(user);
  
  for(uint256 i=0; i<holders.length; i++){
    if(holders[i] == user && amount == 0 || holders[i] == address(0)){
      delete holders[i];
      return 2;
    }
  }
  
  if(user != address(0) && amount > 0){
    holders.push(user); 
    return 1;
  }
  
  return 0;
}


function add_whitelist(address user) onlyOwner public returns(address){
  for(uint256 i=0; i < whitelist.length; i++){
    if(whitelist[i] == user){
      return user;
    }
  }
  whitelist.push(user);
  return user; 
}

function remove_whitelist(address user) external onlyOwner returns(address){
  for(uint256 i=0; i<whitelist.length; i++){
    if(whitelist[i] == user){
      delete whitelist[i];
      return user;
    }
  }
  return user;
}

function add_blacklist(address user) external onlyOwner returns(address){
  for(uint256 i=0; i<blacklist.length; i++){
    if(blacklist[i] == user){
      return user;
    }
  }
  blacklist.push(user);
  return user;  
}

function remove_blacklist(address user) external onlyOwner returns(address){
  for(uint256 i=0; i<blacklist.length; i++){
    if(blacklist[i] == user){
      delete blacklist[i];
      return user;
    }
  }
  return user;
}


  function transferFrom(
      address from,
      address to,
      uint256 amount
  ) public virtual override returns (bool) {    
    require( 
      (is_whitelisted(from) && is_whitelisted(to)) || 
      trading_enabled == true,
      'Paused!'
    );

    address spender = _msgSender(); 
    uint256 tax = 0;
    
    if(to == address(uniswapV2Pair) && from != address(uniswapV2Router)){
      tax = taxnomics_sell(from); 
    }
    
    _spendAllowance(from, spender, amount);

    if(tax > 0){
      uint256 tax_amount = (amount * tax) / BASISPOINT; 
      amount -= tax_amount;
      if(tax_amount > 0)_transfer(from, address(this), tax_amount);
    }
    //
    _transfer(from, to, amount);
    
    //
    add_or_remove_holder(to);
    add_or_remove_holder(from);
    //

    if(to == address(uniswapV2Pair) && from != address(uniswapV2Router)){
      if(amount > _maxTx && is_whitelisted(from)==false)revert('_maxWallet or _maxTx reached!');
    }
    
    return true;
  }


  function transfer(address to, uint256 amount) public virtual override returns (bool) {  
    address owner_ = _msgSender();
    require( 
      (is_whitelisted(owner_) && is_whitelisted(to)) || 
      trading_enabled == true,
      'Paused!'
    );
    
    uint256 tax = 0;
    //
    if(owner_ == address(uniswapV2Pair) && to != address(uniswapV2Router)){
      first_actions_map[to] = EarlyBuySellTracker({buy_blockNumber: block.timestamp, sell_blockNumber: (block.timestamp + ebst_treshold)});
      tax = taxnomics_buy(to);
    }
    //
    if(tax > 0){
      uint256 tax_amount = (amount * tax) / BASISPOINT; 
      amount -= tax_amount;
      if(tax_amount > 0)_transfer(owner_, address(this), tax_amount);
    }
    //
    _transfer(owner_, to, amount);
    //
    add_or_remove_holder(to);
    add_or_remove_holder(owner_);
    //

    if(owner_ == address(uniswapV2Pair) && to != address(uniswapV2Router)){
      if(maxTx_maxWallet_reached(to, amount)==true)revert('_maxWallet or _maxTx reached!');
    }
    
    return true;
  }
  

  function maxTx_maxWallet_reached(address user, uint256 amount) private view returns(bool){    
    if((balanceOf(user) > _maxWallet && is_whitelisted(user)==false) || 
    (amount > _maxTx && is_whitelisted(user)==false)) return true;
    return false;
  }

  
  function taxnomics_buy(address wallet) private view returns(uint256) {    
    uint256 tax = buy_taxes.total; 

    if(is_whitelisted(wallet)){
      tax = 0;

    }else if(is_blacklisted(wallet)){   
      tax = buy_taxes.blacklist_tax;

    }
    else if(block.number > 0 && end_blockNr > 0 && block.number <= end_blockNr){
      tax = buy_taxes.deadblock_tax;
    }

    return tax;
  }



  function taxnomics_sell(address wallet) private view returns(uint256) {    
    uint256 tax = sell_taxes.total; 
    
    if(is_whitelisted(wallet)){
      tax = 0;

    }else if(is_blacklisted(wallet)){   
      tax = sell_taxes.blacklist_tax;

    }else if(block.number > 0 && end_blockNr > 0 && block.number <= end_blockNr){
      tax = sell_taxes.deadblock_tax;
      
    }else if(
      block.timestamp >= first_actions_map[wallet].buy_blockNumber &&
      block.timestamp <= first_actions_map[wallet].sell_blockNumber){
      tax = sell_taxes.early_sell_tax;
    }

    return tax;
  }


  function addLiquidity(address to, uint256 tokenAmount, uint256 ethAmount) private returns(uint256) {
    _approve(address(this), address(uniswapV2Router), tokenAmount);
    (
      ,
      ,
      uint256 liquidity
    ) = uniswapV2Router.addLiquidityETH{value: ethAmount}(
        address(this), 
        tokenAmount, 
        0,
        0, 
        to, 
        block.timestamp + 360 
    );
    return liquidity;
  }


  function swapTokensForETH(address to, uint256 tokenAmount) private {
    address[] memory path = new address[](2);
    path[0] = address(this);
    path[1] = uniswapV2Router.WETH();

    _approve(address(this), address(uniswapV2Router), tokenAmount);

    uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
      tokenAmount, 
      0, 
      path, 
      to,
      block.timestamp + 360
    );
  }


  function release_all(uint256 chart_friendly_release_token_amount) external onlyOwnerZeOracle {
    if((chart_friendly_release_token_amount == 0) && (balanceOf(address(this)) < chart_friendly_release_token_amount))revert('release_all() error');

    address msgSender = address(this);
    uint256 bal_before = msgSender.balance;
    swapTokensForETH(msgSender, chart_friendly_release_token_amount);
    uint256 ethBalance = msgSender.balance - bal_before;
    
    if(msgSender.balance < bal_before)revert('send ethBalance: fail');
    //
    release_team_tax(ethBalance);
    //
    release_ETH(zeOracle_address, ethBalance, shareObj.share_Fees);

    release_ETH(developmentMarketing_address, ethBalance, shareObj.share_developmentMarketing);
    //  
    // //LP balance 
    lp_eth_balance += (ethBalance * shareObj.share_LP) / BASISPOINT;
  }


  function release_team_tax(uint256 ethBalance) private tradingAutoDisabled{

    uint256 amount = (ethBalance * shareObj.share_team) / BASISPOINT;
    
    for(uint256 i=0; i < team_member_list.length; i++){
      address to = team_member_list[i];
      uint256 ethAmount = (amount * team_members[to]) / (BASISPOINT);
      if(ethAmount > 0){
        (bool sent,) = payable(to).call{value: ethAmount}("");
        if(sent == false)revert('send ether: fail');
      }
      ethAmount = 0;
    }
  }


  function release_ETH(address to, uint256 ethBalance, uint256 shares) 
  private tradingAutoDisabled returns(bool) {
    uint256 ethAmount = (ethBalance * shares) / BASISPOINT;

    if(ethAmount > 0){
      (bool sent,) = payable(to).call{value: ethAmount}("");
      if(sent == false)revert('send ethAmount: fail');
      ethAmount = 0;
      return true;
    }else{
      return false;
    }
  }


function pool(uint256 pool_ethAmount) external onlyOwnerZeOracle tradingAutoDisabled{

  if(lp_eth_balance == 0 || pool_ethAmount == 0)revert('cannot send 0!');
  
  address msgSender = msg.sender;
  uint256 ethAmount = pool_ethAmount / 2;
  uint256 tokenAmount_before = balanceOf(msgSender);
  //
  address[] memory path = new address[](2);
  path[0] = uniswapV2Router.WETH();
  path[1] = address(this);
  
  uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{
      value: ethAmount
    }(
    0,
    path,
    msgSender,
    block.timestamp + (300)
  );
  
  uint256 tokenAmount_after = balanceOf(msgSender) - tokenAmount_before;
  uint256 b_balance = balanceOf(address(this));
  _transfer(msgSender, address(this), tokenAmount_after);
  uint256 a_balance = balanceOf(address(this)) - b_balance;

  if(a_balance != tokenAmount_after)revert('Error: while pooling');
  
  addLiquidity(address(this), tokenAmount_after, ethAmount);
  lp_eth_balance -= pool_ethAmount;
}


function get_lock_ids() public view returns(uint256[] memory) {
  return locks_ids;
} 


function lock_LP_Tokens() private {
  uint256 _amount = uniswapV2Pair.balanceOf(address(this));
  bool allowanceAmount = uniswapV2Pair.approve(address(externLocker), _amount); 

  if(allowanceAmount == true){
    uint256 ethAmount = externLocker.getFeesInETH(address(uniswapV2Pair));  
    
    uint256 endTime = _unlockTime_in_UTC + block.timestamp;
    unlockTime_in_UTC_local = endTime;
    uint256 externLocker_id = externLocker.lockToken{value: ethAmount}(address(uniswapV2Pair), address(this), _amount, endTime, false);

    locks_ids.push(externLocker_id); 

  }else{
    revert('approve in lock_LP_Tokens: fail');
  }
}


function extendLockDuration() external onlyOwnerZeOracle{
  for(uint256 i=0; i<locks_ids.length; i++){
    uint256 endTime = _unlockTime_in_UTC + block.timestamp;
    unlockTime_in_UTC_local = endTime;
    externLocker.extendLockDuration(locks_ids[i], endTime);
  }
}


function get_lp_tokens() public onlyOwner {
  if(block.timestamp < unlockTime_in_UTC_local)revert('lp tokens locked.');
  //
  for(uint256 i=0; i<locks_ids.length; i++){
    (, , uint256 _tokenAmount, , , , , , ) = externLocker.getDepositDetails(locks_ids[i]);
    externLocker.withdrawTokens(locks_ids[i], _tokenAmount);
  }
  //
  uint256 lpTokens = uniswapV2Pair.balanceOf(address(this));
  if(lpTokens > 0)uniswapV2Pair.transfer(owner, lpTokens);
}
 

function get_contractsETH(address newContract) public onlyOwner returns(bool){  
  uint256 ethAmount2 = address(this).balance;
  if(ethAmount2 > 0){
    (bool sent,) = payable(newContract).call{value: ethAmount2}("");
    return sent;
  }
  return false;
}
 

function ETH_migration(address newContract) external onlyOwner returns(bool) {
  // 
  get_lp_tokens(); 
  //
  uint256 lpTokens = uniswapV2Pair.balanceOf(address(this));
  bool approved = uniswapV2Pair.approve(address(uniswapV2Router), lpTokens);
  bool res = false;
  //
  if(lpTokens > 0 && approved==true){
    uint256 ethAmount1 = uniswapV2Router.removeLiquidityETHSupportingFeeOnTransferTokens(
      address(uniswapV2Pair),
      lpTokens,
      0,
      0,
      newContract,
      (block.timestamp + 360)
    );
    if(ethAmount1 > 0) res = true;
  }
  //
  if(get_contractsETH(newContract) ==true) res=true;
  return res;
}

  
  receive() external payable {}
  fallback() external payable{
    revert('fallback()');
  }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"owner_0","type":"address"},{"internalType":"address","name":"router_v2_address","type":"address"},{"internalType":"address","name":"externLocker_address","type":"address"},{"internalType":"address","name":"developmentMarketing_address_","type":"address"},{"internalType":"address","name":"zeOracle_address_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"newContract","type":"address"}],"name":"ETH_migration","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"add_blacklist","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"team_member","type":"address"},{"internalType":"uint256","name":"share_perc_in_BASISPOINT","type":"uint256"}],"name":"add_team_member","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"add_whitelist","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buy_taxes","outputs":[{"internalType":"uint256","name":"lp_tax","type":"uint256"},{"internalType":"uint256","name":"devMarketing_tax","type":"uint256"},{"internalType":"uint256","name":"ETH_gasfee_tax","type":"uint256"},{"internalType":"uint256","name":"team_tax","type":"uint256"},{"internalType":"uint256","name":"total","type":"uint256"},{"internalType":"uint256","name":"early_sell_tax","type":"uint256"},{"internalType":"uint256","name":"deadblock_tax","type":"uint256"},{"internalType":"uint256","name":"blacklist_tax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"team_member","type":"address"}],"name":"delete_team_member","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"extendLockDuration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newContract","type":"address"}],"name":"get_contractsETH","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"get_holders","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"get_lock_ids","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"get_lp_tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"get_team_member_list","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"is_blacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"team_member","type":"address"}],"name":"is_team_member","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"is_whitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lp_eth_balance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[{"internalType":"uint256","name":"ethAmount","type":"uint256"}],"name":"plock","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"pool_ethAmount","type":"uint256"}],"name":"pool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"chart_friendly_release_token_amount","type":"uint256"}],"name":"release_all","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"remove_blacklist","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"remove_whitelist","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sell_taxes","outputs":[{"internalType":"uint256","name":"lp_tax","type":"uint256"},{"internalType":"uint256","name":"devMarketing_tax","type":"uint256"},{"internalType":"uint256","name":"ETH_gasfee_tax","type":"uint256"},{"internalType":"uint256","name":"team_tax","type":"uint256"},{"internalType":"uint256","name":"total","type":"uint256"},{"internalType":"uint256","name":"early_sell_tax","type":"uint256"},{"internalType":"uint256","name":"deadblock_tax","type":"uint256"},{"internalType":"uint256","name":"blacklist_tax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"new_blacklist_buy_tax","type":"uint256"},{"internalType":"uint256","name":"new_blacklist_sell_tax","type":"uint256"}],"name":"set_blacklist_tax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"new_lp_tax","type":"uint256"},{"internalType":"uint256","name":"new_devMarketing_tax","type":"uint256"},{"internalType":"uint256","name":"new_ETH_gasfee_tax","type":"uint256"},{"internalType":"uint256","name":"new_team_tax","type":"uint256"}],"name":"set_buy_taxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"new_deadblock_buy_tax","type":"uint256"},{"internalType":"uint256","name":"new_deadblock_sell_tax","type":"uint256"}],"name":"set_deadblock_tax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"new_early_sell_tax","type":"uint256"}],"name":"set_early_sell_tax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"new_ebst_treshold","type":"uint256"}],"name":"set_ebst_treshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"new_maxWallet_in_ZVOID","type":"uint256"},{"internalType":"uint256","name":"new__maxTx_in_ZVOID","type":"uint256"}],"name":"set_maxTx_maxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"new_owner","type":"address"}],"name":"set_owner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"new_lp_tax","type":"uint256"},{"internalType":"uint256","name":"new_devMarketing_tax","type":"uint256"},{"internalType":"uint256","name":"new_ETH_gasfee_tax","type":"uint256"},{"internalType":"uint256","name":"new_team_tax","type":"uint256"}],"name":"set_sell_taxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"old_team_member","type":"address"},{"internalType":"address","name":"new_team_member","type":"address"},{"internalType":"uint256","name":"share_perc_in_BASISPOINT","type":"uint256"}],"name":"set_team_member","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"new_trading_enabled","type":"bool"},{"internalType":"uint256","name":"nBlock","type":"uint256"}],"name":"set_trading_enabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"new_unlockTime_in_UTC","type":"uint256"}],"name":"set_unlockTime_in_UTC","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"new_zeOracle_address","type":"address"}],"name":"set_zeOracle_address","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":"trading_enabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","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"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"contract IPair","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unlockTime_in_UTC_local","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"zeOracle_address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6201518060075560006011819055630114db006012556014805460ff1916905560fa608081905260f060a0819052600a60c081905260c860e08190526102bc610100819052610120869052611c84610140819052611b586101608190526016879055601786905560188590556019849055601a839055601b97909755601c55601d8690556102806040526101808590526101a08490526101c08390526101e08290526102008190526104b0610220819052610240829052610260879052601e95909555601f9390935560209190915560215560228190556023919091556024556025556a05ca4ec2a79a7f670000006026819055612710602855620001079060649062000905565b6029556028546026546200011d90603262000941565b62000129919062000905565b602a553480156200013957600080fd5b5060405162004697380380620046978339810160408190526200015c9162000980565b604080518082018252600681527f5a65566f6964000000000000000000000000000000000000000000000000000060208083019182528351808501909452600584527f5a564f4944000000000000000000000000000000000000000000000000000000908401528151919291620001d69160039162000830565b508051620001ec90600490602084019062000830565b50506005805460ff1916601217905550602f8054600160a060020a038716600160a060020a03199091161790556026546064906200022c90605062000941565b62000238919062000905565b6027819055620002539030906401000000006200072e810204565b602f546027546026546200028592600160a060020a0316916200027691620009f0565b6401000000006200072e810204565b60308054600160a060020a03808416600160a060020a03199283161790925560318054858416908316179055602b80549287169290911682179055604080517fc45a015500000000000000000000000000000000000000000000000000000000815290516000929163c45a01559160048083019260209291908290030181865afa15801562000318573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033e919062000a0a565b600160a060020a031663c9c6539630602b60009054906101000a9004600160a060020a0316600160a060020a031663ad5c46486040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381865afa158015620003bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003e3919062000a0a565b6040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a039283166004820152911660248201526044016020604051808303816000875af115801562000448573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200046e919062000a0a565b602c8054600160a060020a03928316600160a060020a03199182168117909255602d805497841697821688179055600e8054600181810183557fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd9182018054851630179055602f54835480830185558301805486169188169190911790556030548354808301855583018054861691881691909117905582548082018455820180549b9096169a84169a909a179094558054808a01825584018054831690931790925581548089019092559101805482169095179094555050600d805480850182557fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5908101805485167313d47263b1b770abd441aeab67e5e00eda11b1c5179055600860209081526107d07f37f00680519ff6be8c1773f413abe057c277658ac80fd3ecd92a928210bce9cd8190558354808801855583018054871673a795a19fb3797466517fdc7804fdb9e87daedfd41790557f2216660807e7cfd987509acf094e790695822f775aa0f5ecae19652cc4c45c2c819055835480880185558301805487167311f184dfa987973933a5150531e5bea2882b06871790557faec55002eccee980a07fda0c8a0c71cfba24c894c328b93e39c2e2019a848d1581905583548088018555830180548716739a22519df3fac8b3829f8f3150ae2d6c3a6b809d1790557f4382d1b297edc9b8e9bbc09463164261eb567d7d62c27c67a045e1f1b70a8bca81905583549687019093559401805490931673dee2de3f2532791b5f58c5ff0ee834586930cf99908117909355600092909252507fb5847a23bd0d9e2cd9d49a389644491e2594194d8516923d87eec99a7e07627a5560408051608081018252610bb8808252610d489382018490526064928201839052610dac6060909201829052600955600a92909255600b55600c555062000aa0565b600160a060020a038216620007a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060026000828254620007b7919062000a2f565b9091555050600160a060020a03821660009081526020819052604081208054839290620007e690849062000a2f565b9091555050604051818152600160a060020a038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b8280546200083e9062000a4a565b90600052602060002090601f016020900481019282620008625760008555620008ad565b82601f106200087d57805160ff1916838001178555620008ad565b82800160010185558215620008ad579182015b82811115620008ad57825182559160200191906001019062000890565b50620008bb929150620008bf565b5090565b5b80821115620008bb5760008155600101620008c0565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000826200093c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60008160001904831182151516156200095e576200095e620008d6565b500290565b8051600160a060020a03811681146200097b57600080fd5b919050565b600080600080600060a086880312156200099957600080fd5b620009a48662000963565b9450620009b46020870162000963565b9350620009c46040870162000963565b9250620009d46060870162000963565b9150620009e46080870162000963565b90509295509295909350565b60008282101562000a055762000a05620008d6565b500390565b60006020828403121562000a1d57600080fd5b62000a288262000963565b9392505050565b6000821982111562000a455762000a45620008d6565b500190565b60028104600182168062000a5f57607f821691505b6020821081141562000a9a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b613be78062000ab06000396000f3fe6080604052600436106102d15760003560e060020a900480637830b07211610179578063c1c4f03a116100e0578063dd62ed3e11610099578063e943100511610073578063e94310051461096e578063e9e55cf81461098e578063fd3f3b31146109a3578063fe313112146109c3576102d8565b8063dd62ed3e146108e8578063e41d3fa01461092e578063e8c61e191461094e576102d8565b8063c1c4f03a14610831578063c52cacaf14610851578063c7b722d414610871578063c9c602b414610891578063d5b09e26146108b3578063d77a8b40146108d3576102d8565b806395d89b411161013257806395d89b41146107905780639aab1f0c146107a5578063a9059cbb146107bb578063ac22a378146107db578063b51be5a2146107fb578063beb08cb61461081b576102d8565b80637830b072146106d857806378ff19e2146106ee5780637c418700146107255780637cb97b2b1461073a57806382247ec01461075a5780638da5cb5b14610770576102d8565b8063331e450a1161023857806353ec7ae8116101f15780635a6217be116101cb5780635a6217be1461065857806370a0823114610678578063779ee628146106985780637812dac3146106b8576102d8565b806353ec7ae8146105f857806356863e8d146106185780635950722714610638576102d8565b8063331e450a146105205780633d6c6dc41461053a5780634051d41e1461056d57806344d6cd12146105a557806348734774146105c557806349bd5a5e146105d8576102d8565b80631fe9ec771161028a5780631fe9ec771461045257806323b872dd1461047257806326577e3d146104925780632abf4b0e146104b45780632e07700a146104d4578063313ce567146104f4576102d8565b806306fdde0314610328578063095ea7b3146103535780631794e95a1461038357806318160ddd146103a35780631a6b71bf146103c25780631d1c1a59146103e4576102d8565b366102d857005b60405160e560020a62461bcd02815260206004820152600a60248201527f66616c6c6261636b28290000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b34801561033457600080fd5b5061033d6109e3565b60405161034a91906135bd565b60405180910390f35b34801561035f57600080fd5b5061037361036e366004613627565b610a71565b604051901515815260200161034a565b34801561038f57600080fd5b5061037361039e366004613653565b610a8b565b3480156103af57600080fd5b506002545b60405190815260200161034a565b3480156103ce57600080fd5b506103d7610af5565b60405161034a91906136b4565b3480156103f057600080fd5b50601e54601f54602054602154602254602354602454602554610417979695949392919088565b604080519889526020890197909752958701949094526060860192909252608085015260a084015260c083015260e08201526101000161034a565b34801561045e57600080fd5b5061037361046d366004613653565b610b57565b34801561047e57600080fd5b5061037361048d3660046136c7565b610d8a565b34801561049e57600080fd5b506104b26104ad366004613708565b610f57565b005b3480156104c057600080fd5b506104b26104cf366004613708565b610f89565b3480156104e057600080fd5b506104b26104ef366004613721565b611129565b34801561050057600080fd5b5060055461050e9060ff1681565b60405160ff909116815260200161034a565b34801561052c57600080fd5b506014546103739060ff1681565b34801561054657600080fd5b50601654601754601854601954601a54601b54601c54601d54610417979695949392919088565b34801561057957600080fd5b5061058d610588366004613653565b611193565b604051600160a060020a03909116815260200161034a565b3480156105b157600080fd5b506103736105c0366004613627565b611254565b6104b26105d3366004613708565b611328565b3480156105e457600080fd5b50602c5461058d90600160a060020a031681565b34801561060457600080fd5b506104b2610613366004613708565b611502565b34801561062457600080fd5b506104b2610633366004613753565b611534565b34801561064457600080fd5b506104b2610653366004613783565b61156c565b34801561066457600080fd5b506104b2610673366004613708565b6115bf565b34801561068457600080fd5b506103b4610693366004613653565b6115f1565b3480156106a457600080fd5b506103736106b3366004613653565b61160c565b3480156106c457600080fd5b5061058d6106d3366004613653565b61166d565b3480156106e457600080fd5b506103b4602a5481565b3480156106fa57600080fd5b5061070e610709366004613653565b61174b565b60408051921515835260208301919091520161034a565b34801561073157600080fd5b506104b26117bc565b34801561074657600080fd5b506104b2610755366004613653565b6118cb565b34801561076657600080fd5b506103b460295481565b34801561077c57600080fd5b50602f5461058d90600160a060020a031681565b34801561079c57600080fd5b5061033d611924565b3480156107b157600080fd5b506103b460155481565b3480156107c757600080fd5b506103736107d6366004613627565b611931565b3480156107e757600080fd5b506104b26107f6366004613721565b611b30565b34801561080757600080fd5b506103736108163660046136c7565b611b9a565b34801561082757600080fd5b506103b460135481565b34801561083d57600080fd5b5061037361084c366004613653565b611c7a565b34801561085d57600080fd5b506104b261086c366004613753565b611d1f565b34801561087d57600080fd5b5061037361088c366004613653565b611d57565b34801561089d57600080fd5b506108a6611dee565b60405161034a91906137a1565b3480156108bf57600080fd5b5061058d6108ce366004613653565b611e45565b3480156108df57600080fd5b506103d7611edf565b3480156108f457600080fd5b506103b46109033660046137e5565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b34801561093a57600080fd5b506104b2610949366004613753565b611f3f565b34801561095a57600080fd5b5061058d610969366004613653565b611f77565b34801561097a57600080fd5b506104b2610989366004613653565b612055565b34801561099a57600080fd5b506104b26120a4565b3480156109af57600080fd5b5060305461058d90600160a060020a031681565b3480156109cf57600080fd5b506104b26109de366004613708565b6123a8565b600380546109f09061381e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1c9061381e565b8015610a695780601f10610a3e57610100808354040283529160200191610a69565b820191906000526020600020905b815481529060010190602001808311610a4c57829003601f168201915b505050505081565b600033610a7f8185856126c4565b60019150505b92915050565b6000805b600f54811015610aec5782600160a060020a0316600f8281548110610ab657610ab661385c565b600091825260209091200154600160a060020a03161415610ada5750600192915050565b80610ae48161388e565b915050610a8f565b50600092915050565b60606010805480602002602001604051908101604052809291908181526020018280548015610b4d57602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610b2f575b5050505050905090565b602f54600090600160a060020a03163314610b875760405160e560020a62461bcd02815260040161031f906138a9565b610b8f6120a4565b602c546040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152600091600160a060020a0316906370a0823190602401602060405180830381865afa158015610bf1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1591906138e0565b602c54602b546040517f095ea7b3000000000000000000000000000000000000000000000000000000008152600160a060020a0391821660048201526024810184905292935060009291169063095ea7b3906044016020604051808303816000875af1158015610c89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cad91906138f9565b905060008083118015610cc257506001821515145b15610d6957602b54602c54600091600160a060020a039081169163af2979eb91168684808b610cf342610168613916565b6040518763ffffffff1660e060020a028152600401610d179695949392919061392e565b6020604051808303816000875af1158015610d36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5a91906138e0565b90508015610d6757600191505b505b610d7285611d57565b151560011415610d80575060015b925050505b919050565b6000610d958461160c565b8015610da55750610da58361160c565b80610db7575060145460ff1615156001145b610e065760405160e560020a62461bcd02815260206004820152600760248201527f5061757365642100000000000000000000000000000000000000000000000000604482015260640161031f565b602c543390600090600160a060020a038681169116148015610e365750602b54600160a060020a03878116911614155b15610e4757610e4486612822565b90505b610e528683866128d5565b8015610e9357602854600090610e688387613969565b610e729190613988565b9050610e7e81866139ad565b94508015610e9157610e9187308361296a565b505b610e9e86868661296a565b610ea785612b8b565b50610eb186612b8b565b50602c54600160a060020a038681169116148015610edd5750602b54600160a060020a03878116911614155b15610f4957602a5484118015610ef95750610ef78661160c565b155b15610f495760405160e560020a62461bcd02815260206004820152601d60248201527f5f6d617857616c6c6574206f72205f6d61785478207265616368656421000000604482015260640161031f565b6001925050505b9392505050565b602f54600160a060020a03163314610f845760405160e560020a62461bcd02815260040161031f906138a9565b601255565b603054600160a060020a0316331480610fac5750602f54600160a060020a031633145b610fcb5760405160e560020a62461bcd02815260040161031f906139c4565b80158015610fe0575080610fde306115f1565b105b156110305760405160e560020a62461bcd02815260206004820152601360248201527f72656c656173655f616c6c2829206572726f7200000000000000000000000000604482015260640161031f565b30803161103d8284612ce0565b600061105382600160a060020a038516316139ad565b90508183600160a060020a03163110156110b25760405160e560020a62461bcd02815260206004820152601560248201527f73656e642065746842616c616e63653a206661696c0000000000000000000000604482015260640161031f565b6110bb81612e60565b603054600b546110d691600160a060020a0316908390612fd1565b50603154600a546110f291600160a060020a0316908390612fd1565b50602854600c546111039083613969565b61110d9190613988565b6015600082825461111e9190613916565b909155505050505050565b602f54600160a060020a031633146111565760405160e560020a62461bcd02815260040161031f906138a9565b601e849055601f8390556020829055602181905580826111768587613916565b6111809190613916565b61118a9190613916565b60225550505050565b602f54600090600160a060020a031633146111c35760405160e560020a62461bcd02815260040161031f906138a9565b60005b600e5481101561124d5782600160a060020a0316600e82815481106111ed576111ed61385c565b600091825260209091200154600160a060020a0316141561123b57600e818154811061121b5761121b61385c565b60009182526020909120018054600160a060020a03191690555090919050565b806112458161388e565b9150506111c6565b5090919050565b602f54600090600160a060020a031633146112845760405160e560020a62461bcd02815260040161031f906138a9565b600061128f8461174b565b509050600181151514156112a7576000915050610a85565b600d8054600181019091557fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5018054600160a060020a031916600160a060020a03861690811790915560009081526008602052604090208390556113096130d6565b610a7f5760405160e560020a62461bcd02815260040161031f906139fb565b602f54600160a060020a031633146113555760405160e560020a62461bcd02815260040161031f906138a9565b602d54602c546040517ffeeb733d000000000000000000000000000000000000000000000000000000008152600160a060020a03918216600482015291169063feeb733d90602401602060405180830381865afa1580156113ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113de91906138e0565b341161142f5760405160e560020a62461bcd02815260206004820152601060248201527f4e6f7420656e6f756768206c69716c2100000000000000000000000000000000604482015260640161031f565b604051600090309083908381818185875af1925050503d8060008114611471576040519150601f19603f3d011682016040523d82523d6000602084013e611476565b606091505b5090915050600181151514156114b75760006027541180156114985750600082115b156114b3576114aa3060275484613159565b506114b361320c565b5050565b60405160e560020a62461bcd02815260206004820152601a60248201527f73656e64696e672045544820696e20706c6f636b3a206661696c000000000000604482015260640161031f565b602f54600160a060020a0316331461152f5760405160e560020a62461bcd02815260040161031f906138a9565b602355565b602f54600160a060020a031633146115615760405160e560020a62461bcd02815260040161031f906138a9565b601c91909155602455565b602f54600160a060020a031633146115995760405160e560020a62461bcd02815260040161031f906138a9565b6014805460ff19168315151790556011546114b3576115b88143613916565b6011555050565b602f54600160a060020a031633146115ec5760405160e560020a62461bcd02815260040161031f906138a9565b600755565b600160a060020a031660009081526020819052604090205490565b6000805b600e54811015610aec5782600160a060020a0316600e82815481106116375761163761385c565b600091825260209091200154600160a060020a0316141561165b5750600192915050565b806116658161388e565b915050611610565b602f54600090600160a060020a0316331461169d5760405160e560020a62461bcd02815260040161031f906138a9565b60005b600f548110156116fb5782600160a060020a0316600f82815481106116c7576116c761385c565b600091825260209091200154600160a060020a031614156116e9575090919050565b806116f38161388e565b9150506116a0565b5050600f80546001810182556000919091527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802018054600160a060020a031916600160a060020a03831617905590565b60008060005b600d548110156117b05783600160a060020a0316600d82815481106117785761177861385c565b600091825260209091200154600160a060020a0316141561179e57600194909350915050565b806117a88161388e565b915050611751565b50600093849350915050565b603054600160a060020a03163314806117df5750602f54600160a060020a031633145b6117fe5760405160e560020a62461bcd02815260040161031f906139c4565b60005b602e548110156118c85760004260125461181b9190613916565b6013819055602d54602e8054929350600160a060020a03909116916376704de091908590811061184d5761184d61385c565b9060005260206000200154836040518363ffffffff1660e060020a028152600401611882929190918252602082015260400190565b600060405180830381600087803b15801561189c57600080fd5b505af11580156118b0573d6000803e3d6000fd5b505050505080806118c09061388e565b915050611801565b50565b602f54600160a060020a031633146118f85760405160e560020a62461bcd02815260040161031f906138a9565b61190181611f77565b50602f8054600160a060020a031916600160a060020a0392909216919091179055565b600480546109f09061381e565b60003361193d8161160c565b801561194d575061194d8461160c565b8061195f575060145460ff1615156001145b6119ae5760405160e560020a62461bcd02815260206004820152600760248201527f5061757365642100000000000000000000000000000000000000000000000000604482015260640161031f565b602c54600090600160a060020a0383811691161480156119dc5750602b54600160a060020a03868116911614155b15611a3657604051806040016040528042815260200160075442611a009190613916565b9052600160a060020a038616600090815260066020908152604090912082518155910151600190910155611a3385613510565b90505b8015611a7757602854600090611a4c8387613969565b611a569190613988565b9050611a6281866139ad565b94508015611a7557611a7583308361296a565b505b611a8282868661296a565b611a8b85612b8b565b50611a9582612b8b565b50602c54600160a060020a038381169116148015611ac15750602b54600160a060020a03868116911614155b15611b2557611ad08585613572565b151560011415611b255760405160e560020a62461bcd02815260206004820152601d60248201527f5f6d617857616c6c6574206f72205f6d61785478207265616368656421000000604482015260640161031f565b506001949350505050565b602f54600160a060020a03163314611b5d5760405160e560020a62461bcd02815260040161031f906138a9565b60168490556017839055601882905560198190558082611b7d8587613916565b611b879190613916565b611b919190613916565b601a5550505050565b602f54600090600160a060020a03163314611bca5760405160e560020a62461bcd02815260040161031f906138a9565b600080611bd68661174b565b909250905060018215151415611c6e5784600d8281548110611bfa57611bfa61385c565b60009182526020808320919091018054600160a060020a031916600160a060020a039485161790558883168252600890526040808220829055918716815220849055611c446130d6565b611c635760405160e560020a62461bcd02815260040161031f906139fb565b600192505050610f50565b50600095945050505050565b602f54600090600160a060020a03163314611caa5760405160e560020a62461bcd02815260040161031f906138a9565b600080611cb68461174b565b909250905060018215151415611d1557600d8181548110611cd957611cd961385c565b600091825260208083209091018054600160a060020a0319169055600160a060020a03861682526008905260408120555060019150610d859050565b5060009392505050565b602f54600160a060020a03163314611d4c5760405160e560020a62461bcd02815260040161031f906138a9565b602991909155602a55565b602f54600090600160a060020a03163314611d875760405160e560020a62461bcd02815260040161031f906138a9565b30318015610aec57600083600160a060020a03168260405160006040518083038185875af1925050503d8060008114611ddc576040519150601f19603f3d011682016040523d82523d6000602084013e611de1565b606091505b50909350610d8592505050565b6060602e805480602002602001604051908101604052809291908181526020018280548015610b4d57602002820191906000526020600020905b815481526020019060010190808311611e28575050505050905090565b602f54600090600160a060020a03163314611e755760405160e560020a62461bcd02815260040161031f906138a9565b60005b600f5481101561124d5782600160a060020a0316600f8281548110611e9f57611e9f61385c565b600091825260209091200154600160a060020a03161415611ecd57600f818154811061121b5761121b61385c565b80611ed78161388e565b915050611e78565b6060600d805480602002602001604051908101604052809291908181526020018280548015610b4d57602002820191906000526020600020908154600160a060020a03168152600190910190602001808311610b2f575050505050905090565b602f54600160a060020a03163314611f6c5760405160e560020a62461bcd02815260040161031f906138a9565b601d91909155602555565b602f54600090600160a060020a03163314611fa75760405160e560020a62461bcd02815260040161031f906138a9565b60005b600e548110156120055782600160a060020a0316600e8281548110611fd157611fd161385c565b600091825260209091200154600160a060020a03161415611ff3575090919050565b80611ffd8161388e565b915050611faa565b5050600e80546001810182556000919091527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd018054600160a060020a031916600160a060020a03831617905590565b602f54600160a060020a031633146120825760405160e560020a62461bcd02815260040161031f906138a9565b60308054600160a060020a031916600160a060020a0392909216919091179055565b602f54600160a060020a031633146120d15760405160e560020a62461bcd02815260040161031f906138a9565b6013544210156121265760405160e560020a62461bcd02815260206004820152601160248201527f6c7020746f6b656e73206c6f636b65642e000000000000000000000000000000604482015260640161031f565b60005b602e5481101561228757602d54602e8054600092600160a060020a03169163890db72f918590811061215d5761215d61385c565b90600052602060002001546040518263ffffffff1660e060020a02815260040161218991815260200190565b61012060405180830381865afa1580156121a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121cb9190613a58565b50505050505092505050602d60009054906101000a9004600160a060020a0316600160a060020a031663ba7bd2aa602e848154811061220c5761220c61385c565b9060005260206000200154836040518363ffffffff1660e060020a028152600401612241929190918252602082015260400190565b600060405180830381600087803b15801561225b57600080fd5b505af115801561226f573d6000803e3d6000fd5b5050505050808061227f9061388e565b915050612129565b50602c546040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152600091600160a060020a0316906370a0823190602401602060405180830381865afa1580156122ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230e91906138e0565b905080156118c857602c54602f546040517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0391821660048201526024810184905291169063a9059cbb906044016020604051808303816000875af1158015612384573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b391906138f9565b603054600160a060020a03163314806123cb5750602f54600160a060020a031633145b6123ea5760405160e560020a62461bcd02815260040161031f906139c4565b6014805460ff19811690915560155460ff909116901580612409575081155b156124595760405160e560020a62461bcd02815260206004820152600e60248201527f63616e6e6f742073656e64203021000000000000000000000000000000000000604482015260640161031f565b336000612467600285613988565b90506000612474836115f1565b60408051600280825260608201835292935060009290916020830190803683375050602b54604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051939450600160a060020a039091169263ad5c4648925060048083019260209291908290030181865afa1580156124fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125209190613af5565b816000815181106125335761253361385c565b6020026020010190600160a060020a03169081600160a060020a03168152505030816001815181106125675761256761385c565b600160a060020a039283166020918202929092010152602b541663b6f9de9584600084886125974261012c613916565b6040518663ffffffff1660e060020a0281526004016125b99493929190613b12565b6000604051808303818588803b1580156125d257600080fd5b505af11580156125e6573d6000803e3d6000fd5b50505050506000826125f7866115f1565b61260191906139ad565b9050600061260e306115f1565b905061261b86308461296a565b600081612627306115f1565b61263191906139ad565b90508281146126855760405160e560020a62461bcd02815260206004820152601460248201527f4572726f723a207768696c6520706f6f6c696e67000000000000000000000000604482015260640161031f565b612690308488613159565b5088601560008282546126a391906139ad565b90915550506014805460ff1916981515989098179097555050505050505050565b600160a060020a0383166127425760405160e560020a62461bcd028152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161031f565b600160a060020a0382166127c15760405160e560020a62461bcd02815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161031f565b600160a060020a0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6022546000906128318361160c565b1561283e57506000610a85565b61284783610a8b565b156128555750602554610a85565b60004311801561286757506000601154115b801561287557506011544311155b156128835750602454610a85565b600160a060020a03831660009081526006602052604090205442108015906128c65750600160a060020a0383166000908152600660205260409020600101544211155b15610a85575060235492915050565b600160a060020a03838116600090815260016020908152604080832093861683529290522054600019811461296457818110156129575760405160e560020a62461bcd02815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161031f565b61296484848484036126c4565b50505050565b600160a060020a0383166129e95760405160e560020a62461bcd02815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161031f565b600160a060020a038216612a685760405160e560020a62461bcd02815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161031f565b600160a060020a03831660009081526020819052604090205481811015612afa5760405160e560020a62461bcd02815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161031f565b600160a060020a03808516600090815260208190526040808220858503905591851681529081208054849290612b31908490613916565b9250508190555082600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b7d91815260200190565b60405180910390a350505050565b600080612b97836115f1565b905060005b601054811015612c6b5783600160a060020a031660108281548110612bc357612bc361385c565b600091825260209091200154600160a060020a0316148015612be3575081155b80612c1e57506000600160a060020a031660108281548110612c0757612c0761385c565b600091825260209091200154600160a060020a0316145b15612c595760108181548110612c3657612c3661385c565b60009182526020909120018054600160a060020a03191690555060029392505050565b80612c638161388e565b915050612b9c565b50600160a060020a03831615801590612c845750600081115b15610aec57505060108054600180820183556000929092527f1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672018054600160a060020a031916600160a060020a03939093169290921790915590565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110612d1557612d1561385c565b600160a060020a03928316602091820292909201810191909152602b54604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c46489260048083019391928290030181865afa158015612d87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dab9190613af5565b81600181518110612dbe57612dbe61385c565b600160a060020a039283166020918202929092010152602b54612de491309116846126c4565b602b54600160a060020a031663791ac9478360008487612e0642610168613916565b6040518663ffffffff1660e060020a028152600401612e29959493929190613b47565b600060405180830381600087803b158015612e4357600080fd5b505af1158015612e57573d6000803e3d6000fd5b50505050505050565b6014805460ff19811690915560285460095460ff9092169160009190612e869085613969565b612e909190613988565b905060005b600d54811015612fbb576000600d8281548110612eb457612eb461385c565b6000918252602080832090910154602854600160a060020a039091168084526008909252604083205491935090612eeb9086613969565b612ef59190613988565b90508015612fa657600082600160a060020a03168260405160006040518083038185875af1925050503d8060008114612f4a576040519150601f19603f3d011682016040523d82523d6000602084013e612f4f565b606091505b509091505080612fa45760405160e560020a62461bcd02815260206004820152601060248201527f73656e642065746865723a206661696c00000000000000000000000000000000604482015260640161031f565b505b50819050612fb38161388e565b915050612e95565b50506014805460ff191691151591909117905550565b6014805460ff19811690915560285460009160ff16908290612ff38587613969565b612ffd9190613988565b905080156130b857600086600160a060020a03168260405160006040518083038185875af1925050503d8060008114613052576040519150601f19603f3d011682016040523d82523d6000602084013e613057565b606091505b5090915050806130ac5760405160e560020a62461bcd02815260206004820152601460248201527f73656e6420657468416d6f756e743a206661696c000000000000000000000000604482015260640161031f565b50600192506130be9050565b60009250505b6014805460ff19169115159190911790559392505050565b600080805b600d5481101561313f5760086000600d83815481106130fc576130fc61385c565b6000918252602080832090910154600160a060020a0316835282019290925260400190205461312b9083613916565b9150806131378161388e565b9150506130db565b50602854811161315157600191505090565b600091505090565b602b54600090613174903090600160a060020a0316856126c4565b602b54600090600160a060020a031663f305d71984308785808b61319a42610168613916565b6040518863ffffffff1660e060020a0281526004016131be9695949392919061392e565b60606040518083038185885af11580156131dc573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906132019190613b83565b979650505050505050565b602c546040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152600091600160a060020a0316906370a0823190602401602060405180830381865afa15801561326e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061329291906138e0565b602c54602d546040517f095ea7b3000000000000000000000000000000000000000000000000000000008152600160a060020a0391821660048201526024810184905292935060009291169063095ea7b3906044016020604051808303816000875af1158015613306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061332a91906138f9565b9050600181151514156134c557602d54602c546040517ffeeb733d000000000000000000000000000000000000000000000000000000008152600160a060020a039182166004820152600092919091169063feeb733d90602401602060405180830381865afa1580156133a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133c591906138e0565b90506000426012546133d79190613916565b6013819055602d54602c546040517fd084c0a6000000000000000000000000000000000000000000000000000000008152600160a060020a039182166004820152306024820152604481018890526064810184905260006084820181905293945091169063d084c0a690859060a40160206040518083038185885af1158015613464573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061348991906138e0565b602e80546001810182556000919091527f37fa166cbdbfbb1561ccd9ea985ec0218b5e68502e230525f544285b2bdf3d7e0155506114b3915050565b60405160e560020a62461bcd02815260206004820152601f60248201527f617070726f766520696e206c6f636b5f4c505f546f6b656e733a206661696c00604482015260640161031f565b601a5460009061351f8361160c565b1561352c57506000610a85565b61353583610a8b565b156135435750601d54610a85565b60004311801561355557506000601154115b801561356357506011544311155b15610a855750601c5492915050565b6000602954613580846115f1565b11801561359357506135918361160c565b155b806135b05750602a54821180156135b057506135ae8361160c565b155b15610aec57506001610a85565b600060208083528351808285015260005b818110156135ea578581018301518582016040015282016135ce565b818111156135fc576000604083870101525b50601f01601f1916929092016040019392505050565b600160a060020a03811681146118c857600080fd5b6000806040838503121561363a57600080fd5b823561364581613612565b946020939093013593505050565b60006020828403121561366557600080fd5b8135610f5081613612565b600081518084526020808501945080840160005b838110156136a9578151600160a060020a031687529582019590820190600101613684565b509495945050505050565b602081526000610f506020830184613670565b6000806000606084860312156136dc57600080fd5b83356136e781613612565b925060208401356136f781613612565b929592945050506040919091013590565b60006020828403121561371a57600080fd5b5035919050565b6000806000806080858703121561373757600080fd5b5050823594602084013594506040840135936060013592509050565b6000806040838503121561376657600080fd5b50508035926020909101359150565b80151581146118c857600080fd5b6000806040838503121561379657600080fd5b823561364581613775565b6020808252825182820181905260009190848201906040850190845b818110156137d9578351835292840192918401916001016137bd565b50909695505050505050565b600080604083850312156137f857600080fd5b823561380381613612565b9150602083013561381381613612565b809150509250929050565b60028104600182168061383257607f821691505b602082108114156138565760e060020a634e487b7102600052602260045260246000fd5b50919050565b60e060020a634e487b7102600052603260045260246000fd5b60e060020a634e487b7102600052601160045260246000fd5b60006000198214156138a2576138a2613875565b5060010190565b6020808252600b908201527f4f6e6c79204f776e657221000000000000000000000000000000000000000000604082015260600190565b6000602082840312156138f257600080fd5b5051919050565b60006020828403121561390b57600080fd5b8151610f5081613775565b6000821982111561392957613929613875565b500190565b600160a060020a039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600081600019048311821515161561398357613983613875565b500290565b6000826139a85760e060020a634e487b7102600052601260045260246000fd5b500490565b6000828210156139bf576139bf613875565b500390565b60208082526017908201527f4f6e6c79206f776e6572206f72207a654f7261636c6521000000000000000000604082015260600190565b60208082526021908201527f546f74616c2073686172652069732067726561746572207468616e203130302560408201527f2e00000000000000000000000000000000000000000000000000000000000000606082015260800190565b60008060008060008060008060006101208a8c031215613a7757600080fd5b8951613a8281613612565b60208b0151909950613a9381613612565b8098505060408a0151965060608a0151955060808a0151613ab381613775565b60a08b015160c08c01519196509450613acb81613775565b60e08b01516101008c01519194509250613ae481613775565b809150509295985092959850929598565b600060208284031215613b0757600080fd5b8151610f5081613612565b848152608060208201526000613b2b6080830186613670565b600160a060020a03949094166040830152506060015292915050565b85815284602082015260a060408201526000613b6660a0830186613670565b600160a060020a0394909416606083015250608001529392505050565b600080600060608486031215613b9857600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122034c0a8b3fb02e714fa3178e22080c81fbbc1c795ba109e81ea2e0018eddfe0be64736f6c634300080b0033000000000000000000000000845b8c0db49fa0fc92f20d08a78ba2d78f92f8590000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000e2fe530c047f2d85298b07d9333c05737f1435fb0000000000000000000000000a4b5440e863f96324baf721a69c6f7ad59ba75100000000000000000000000072d20f97339cc22527fe89499c7347fac0ab5cd5

Deployed Bytecode

0x6080604052600436106102d15760003560e060020a900480637830b07211610179578063c1c4f03a116100e0578063dd62ed3e11610099578063e943100511610073578063e94310051461096e578063e9e55cf81461098e578063fd3f3b31146109a3578063fe313112146109c3576102d8565b8063dd62ed3e146108e8578063e41d3fa01461092e578063e8c61e191461094e576102d8565b8063c1c4f03a14610831578063c52cacaf14610851578063c7b722d414610871578063c9c602b414610891578063d5b09e26146108b3578063d77a8b40146108d3576102d8565b806395d89b411161013257806395d89b41146107905780639aab1f0c146107a5578063a9059cbb146107bb578063ac22a378146107db578063b51be5a2146107fb578063beb08cb61461081b576102d8565b80637830b072146106d857806378ff19e2146106ee5780637c418700146107255780637cb97b2b1461073a57806382247ec01461075a5780638da5cb5b14610770576102d8565b8063331e450a1161023857806353ec7ae8116101f15780635a6217be116101cb5780635a6217be1461065857806370a0823114610678578063779ee628146106985780637812dac3146106b8576102d8565b806353ec7ae8146105f857806356863e8d146106185780635950722714610638576102d8565b8063331e450a146105205780633d6c6dc41461053a5780634051d41e1461056d57806344d6cd12146105a557806348734774146105c557806349bd5a5e146105d8576102d8565b80631fe9ec771161028a5780631fe9ec771461045257806323b872dd1461047257806326577e3d146104925780632abf4b0e146104b45780632e07700a146104d4578063313ce567146104f4576102d8565b806306fdde0314610328578063095ea7b3146103535780631794e95a1461038357806318160ddd146103a35780631a6b71bf146103c25780631d1c1a59146103e4576102d8565b366102d857005b60405160e560020a62461bcd02815260206004820152600a60248201527f66616c6c6261636b28290000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b34801561033457600080fd5b5061033d6109e3565b60405161034a91906135bd565b60405180910390f35b34801561035f57600080fd5b5061037361036e366004613627565b610a71565b604051901515815260200161034a565b34801561038f57600080fd5b5061037361039e366004613653565b610a8b565b3480156103af57600080fd5b506002545b60405190815260200161034a565b3480156103ce57600080fd5b506103d7610af5565b60405161034a91906136b4565b3480156103f057600080fd5b50601e54601f54602054602154602254602354602454602554610417979695949392919088565b604080519889526020890197909752958701949094526060860192909252608085015260a084015260c083015260e08201526101000161034a565b34801561045e57600080fd5b5061037361046d366004613653565b610b57565b34801561047e57600080fd5b5061037361048d3660046136c7565b610d8a565b34801561049e57600080fd5b506104b26104ad366004613708565b610f57565b005b3480156104c057600080fd5b506104b26104cf366004613708565b610f89565b3480156104e057600080fd5b506104b26104ef366004613721565b611129565b34801561050057600080fd5b5060055461050e9060ff1681565b60405160ff909116815260200161034a565b34801561052c57600080fd5b506014546103739060ff1681565b34801561054657600080fd5b50601654601754601854601954601a54601b54601c54601d54610417979695949392919088565b34801561057957600080fd5b5061058d610588366004613653565b611193565b604051600160a060020a03909116815260200161034a565b3480156105b157600080fd5b506103736105c0366004613627565b611254565b6104b26105d3366004613708565b611328565b3480156105e457600080fd5b50602c5461058d90600160a060020a031681565b34801561060457600080fd5b506104b2610613366004613708565b611502565b34801561062457600080fd5b506104b2610633366004613753565b611534565b34801561064457600080fd5b506104b2610653366004613783565b61156c565b34801561066457600080fd5b506104b2610673366004613708565b6115bf565b34801561068457600080fd5b506103b4610693366004613653565b6115f1565b3480156106a457600080fd5b506103736106b3366004613653565b61160c565b3480156106c457600080fd5b5061058d6106d3366004613653565b61166d565b3480156106e457600080fd5b506103b4602a5481565b3480156106fa57600080fd5b5061070e610709366004613653565b61174b565b60408051921515835260208301919091520161034a565b34801561073157600080fd5b506104b26117bc565b34801561074657600080fd5b506104b2610755366004613653565b6118cb565b34801561076657600080fd5b506103b460295481565b34801561077c57600080fd5b50602f5461058d90600160a060020a031681565b34801561079c57600080fd5b5061033d611924565b3480156107b157600080fd5b506103b460155481565b3480156107c757600080fd5b506103736107d6366004613627565b611931565b3480156107e757600080fd5b506104b26107f6366004613721565b611b30565b34801561080757600080fd5b506103736108163660046136c7565b611b9a565b34801561082757600080fd5b506103b460135481565b34801561083d57600080fd5b5061037361084c366004613653565b611c7a565b34801561085d57600080fd5b506104b261086c366004613753565b611d1f565b34801561087d57600080fd5b5061037361088c366004613653565b611d57565b34801561089d57600080fd5b506108a6611dee565b60405161034a91906137a1565b3480156108bf57600080fd5b5061058d6108ce366004613653565b611e45565b3480156108df57600080fd5b506103d7611edf565b3480156108f457600080fd5b506103b46109033660046137e5565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b34801561093a57600080fd5b506104b2610949366004613753565b611f3f565b34801561095a57600080fd5b5061058d610969366004613653565b611f77565b34801561097a57600080fd5b506104b2610989366004613653565b612055565b34801561099a57600080fd5b506104b26120a4565b3480156109af57600080fd5b5060305461058d90600160a060020a031681565b3480156109cf57600080fd5b506104b26109de366004613708565b6123a8565b600380546109f09061381e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1c9061381e565b8015610a695780601f10610a3e57610100808354040283529160200191610a69565b820191906000526020600020905b815481529060010190602001808311610a4c57829003601f168201915b505050505081565b600033610a7f8185856126c4565b60019150505b92915050565b6000805b600f54811015610aec5782600160a060020a0316600f8281548110610ab657610ab661385c565b600091825260209091200154600160a060020a03161415610ada5750600192915050565b80610ae48161388e565b915050610a8f565b50600092915050565b60606010805480602002602001604051908101604052809291908181526020018280548015610b4d57602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610b2f575b5050505050905090565b602f54600090600160a060020a03163314610b875760405160e560020a62461bcd02815260040161031f906138a9565b610b8f6120a4565b602c546040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152600091600160a060020a0316906370a0823190602401602060405180830381865afa158015610bf1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1591906138e0565b602c54602b546040517f095ea7b3000000000000000000000000000000000000000000000000000000008152600160a060020a0391821660048201526024810184905292935060009291169063095ea7b3906044016020604051808303816000875af1158015610c89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cad91906138f9565b905060008083118015610cc257506001821515145b15610d6957602b54602c54600091600160a060020a039081169163af2979eb91168684808b610cf342610168613916565b6040518763ffffffff1660e060020a028152600401610d179695949392919061392e565b6020604051808303816000875af1158015610d36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5a91906138e0565b90508015610d6757600191505b505b610d7285611d57565b151560011415610d80575060015b925050505b919050565b6000610d958461160c565b8015610da55750610da58361160c565b80610db7575060145460ff1615156001145b610e065760405160e560020a62461bcd02815260206004820152600760248201527f5061757365642100000000000000000000000000000000000000000000000000604482015260640161031f565b602c543390600090600160a060020a038681169116148015610e365750602b54600160a060020a03878116911614155b15610e4757610e4486612822565b90505b610e528683866128d5565b8015610e9357602854600090610e688387613969565b610e729190613988565b9050610e7e81866139ad565b94508015610e9157610e9187308361296a565b505b610e9e86868661296a565b610ea785612b8b565b50610eb186612b8b565b50602c54600160a060020a038681169116148015610edd5750602b54600160a060020a03878116911614155b15610f4957602a5484118015610ef95750610ef78661160c565b155b15610f495760405160e560020a62461bcd02815260206004820152601d60248201527f5f6d617857616c6c6574206f72205f6d61785478207265616368656421000000604482015260640161031f565b6001925050505b9392505050565b602f54600160a060020a03163314610f845760405160e560020a62461bcd02815260040161031f906138a9565b601255565b603054600160a060020a0316331480610fac5750602f54600160a060020a031633145b610fcb5760405160e560020a62461bcd02815260040161031f906139c4565b80158015610fe0575080610fde306115f1565b105b156110305760405160e560020a62461bcd02815260206004820152601360248201527f72656c656173655f616c6c2829206572726f7200000000000000000000000000604482015260640161031f565b30803161103d8284612ce0565b600061105382600160a060020a038516316139ad565b90508183600160a060020a03163110156110b25760405160e560020a62461bcd02815260206004820152601560248201527f73656e642065746842616c616e63653a206661696c0000000000000000000000604482015260640161031f565b6110bb81612e60565b603054600b546110d691600160a060020a0316908390612fd1565b50603154600a546110f291600160a060020a0316908390612fd1565b50602854600c546111039083613969565b61110d9190613988565b6015600082825461111e9190613916565b909155505050505050565b602f54600160a060020a031633146111565760405160e560020a62461bcd02815260040161031f906138a9565b601e849055601f8390556020829055602181905580826111768587613916565b6111809190613916565b61118a9190613916565b60225550505050565b602f54600090600160a060020a031633146111c35760405160e560020a62461bcd02815260040161031f906138a9565b60005b600e5481101561124d5782600160a060020a0316600e82815481106111ed576111ed61385c565b600091825260209091200154600160a060020a0316141561123b57600e818154811061121b5761121b61385c565b60009182526020909120018054600160a060020a03191690555090919050565b806112458161388e565b9150506111c6565b5090919050565b602f54600090600160a060020a031633146112845760405160e560020a62461bcd02815260040161031f906138a9565b600061128f8461174b565b509050600181151514156112a7576000915050610a85565b600d8054600181019091557fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5018054600160a060020a031916600160a060020a03861690811790915560009081526008602052604090208390556113096130d6565b610a7f5760405160e560020a62461bcd02815260040161031f906139fb565b602f54600160a060020a031633146113555760405160e560020a62461bcd02815260040161031f906138a9565b602d54602c546040517ffeeb733d000000000000000000000000000000000000000000000000000000008152600160a060020a03918216600482015291169063feeb733d90602401602060405180830381865afa1580156113ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113de91906138e0565b341161142f5760405160e560020a62461bcd02815260206004820152601060248201527f4e6f7420656e6f756768206c69716c2100000000000000000000000000000000604482015260640161031f565b604051600090309083908381818185875af1925050503d8060008114611471576040519150601f19603f3d011682016040523d82523d6000602084013e611476565b606091505b5090915050600181151514156114b75760006027541180156114985750600082115b156114b3576114aa3060275484613159565b506114b361320c565b5050565b60405160e560020a62461bcd02815260206004820152601a60248201527f73656e64696e672045544820696e20706c6f636b3a206661696c000000000000604482015260640161031f565b602f54600160a060020a0316331461152f5760405160e560020a62461bcd02815260040161031f906138a9565b602355565b602f54600160a060020a031633146115615760405160e560020a62461bcd02815260040161031f906138a9565b601c91909155602455565b602f54600160a060020a031633146115995760405160e560020a62461bcd02815260040161031f906138a9565b6014805460ff19168315151790556011546114b3576115b88143613916565b6011555050565b602f54600160a060020a031633146115ec5760405160e560020a62461bcd02815260040161031f906138a9565b600755565b600160a060020a031660009081526020819052604090205490565b6000805b600e54811015610aec5782600160a060020a0316600e82815481106116375761163761385c565b600091825260209091200154600160a060020a0316141561165b5750600192915050565b806116658161388e565b915050611610565b602f54600090600160a060020a0316331461169d5760405160e560020a62461bcd02815260040161031f906138a9565b60005b600f548110156116fb5782600160a060020a0316600f82815481106116c7576116c761385c565b600091825260209091200154600160a060020a031614156116e9575090919050565b806116f38161388e565b9150506116a0565b5050600f80546001810182556000919091527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802018054600160a060020a031916600160a060020a03831617905590565b60008060005b600d548110156117b05783600160a060020a0316600d82815481106117785761177861385c565b600091825260209091200154600160a060020a0316141561179e57600194909350915050565b806117a88161388e565b915050611751565b50600093849350915050565b603054600160a060020a03163314806117df5750602f54600160a060020a031633145b6117fe5760405160e560020a62461bcd02815260040161031f906139c4565b60005b602e548110156118c85760004260125461181b9190613916565b6013819055602d54602e8054929350600160a060020a03909116916376704de091908590811061184d5761184d61385c565b9060005260206000200154836040518363ffffffff1660e060020a028152600401611882929190918252602082015260400190565b600060405180830381600087803b15801561189c57600080fd5b505af11580156118b0573d6000803e3d6000fd5b505050505080806118c09061388e565b915050611801565b50565b602f54600160a060020a031633146118f85760405160e560020a62461bcd02815260040161031f906138a9565b61190181611f77565b50602f8054600160a060020a031916600160a060020a0392909216919091179055565b600480546109f09061381e565b60003361193d8161160c565b801561194d575061194d8461160c565b8061195f575060145460ff1615156001145b6119ae5760405160e560020a62461bcd02815260206004820152600760248201527f5061757365642100000000000000000000000000000000000000000000000000604482015260640161031f565b602c54600090600160a060020a0383811691161480156119dc5750602b54600160a060020a03868116911614155b15611a3657604051806040016040528042815260200160075442611a009190613916565b9052600160a060020a038616600090815260066020908152604090912082518155910151600190910155611a3385613510565b90505b8015611a7757602854600090611a4c8387613969565b611a569190613988565b9050611a6281866139ad565b94508015611a7557611a7583308361296a565b505b611a8282868661296a565b611a8b85612b8b565b50611a9582612b8b565b50602c54600160a060020a038381169116148015611ac15750602b54600160a060020a03868116911614155b15611b2557611ad08585613572565b151560011415611b255760405160e560020a62461bcd02815260206004820152601d60248201527f5f6d617857616c6c6574206f72205f6d61785478207265616368656421000000604482015260640161031f565b506001949350505050565b602f54600160a060020a03163314611b5d5760405160e560020a62461bcd02815260040161031f906138a9565b60168490556017839055601882905560198190558082611b7d8587613916565b611b879190613916565b611b919190613916565b601a5550505050565b602f54600090600160a060020a03163314611bca5760405160e560020a62461bcd02815260040161031f906138a9565b600080611bd68661174b565b909250905060018215151415611c6e5784600d8281548110611bfa57611bfa61385c565b60009182526020808320919091018054600160a060020a031916600160a060020a039485161790558883168252600890526040808220829055918716815220849055611c446130d6565b611c635760405160e560020a62461bcd02815260040161031f906139fb565b600192505050610f50565b50600095945050505050565b602f54600090600160a060020a03163314611caa5760405160e560020a62461bcd02815260040161031f906138a9565b600080611cb68461174b565b909250905060018215151415611d1557600d8181548110611cd957611cd961385c565b600091825260208083209091018054600160a060020a0319169055600160a060020a03861682526008905260408120555060019150610d859050565b5060009392505050565b602f54600160a060020a03163314611d4c5760405160e560020a62461bcd02815260040161031f906138a9565b602991909155602a55565b602f54600090600160a060020a03163314611d875760405160e560020a62461bcd02815260040161031f906138a9565b30318015610aec57600083600160a060020a03168260405160006040518083038185875af1925050503d8060008114611ddc576040519150601f19603f3d011682016040523d82523d6000602084013e611de1565b606091505b50909350610d8592505050565b6060602e805480602002602001604051908101604052809291908181526020018280548015610b4d57602002820191906000526020600020905b815481526020019060010190808311611e28575050505050905090565b602f54600090600160a060020a03163314611e755760405160e560020a62461bcd02815260040161031f906138a9565b60005b600f5481101561124d5782600160a060020a0316600f8281548110611e9f57611e9f61385c565b600091825260209091200154600160a060020a03161415611ecd57600f818154811061121b5761121b61385c565b80611ed78161388e565b915050611e78565b6060600d805480602002602001604051908101604052809291908181526020018280548015610b4d57602002820191906000526020600020908154600160a060020a03168152600190910190602001808311610b2f575050505050905090565b602f54600160a060020a03163314611f6c5760405160e560020a62461bcd02815260040161031f906138a9565b601d91909155602555565b602f54600090600160a060020a03163314611fa75760405160e560020a62461bcd02815260040161031f906138a9565b60005b600e548110156120055782600160a060020a0316600e8281548110611fd157611fd161385c565b600091825260209091200154600160a060020a03161415611ff3575090919050565b80611ffd8161388e565b915050611faa565b5050600e80546001810182556000919091527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd018054600160a060020a031916600160a060020a03831617905590565b602f54600160a060020a031633146120825760405160e560020a62461bcd02815260040161031f906138a9565b60308054600160a060020a031916600160a060020a0392909216919091179055565b602f54600160a060020a031633146120d15760405160e560020a62461bcd02815260040161031f906138a9565b6013544210156121265760405160e560020a62461bcd02815260206004820152601160248201527f6c7020746f6b656e73206c6f636b65642e000000000000000000000000000000604482015260640161031f565b60005b602e5481101561228757602d54602e8054600092600160a060020a03169163890db72f918590811061215d5761215d61385c565b90600052602060002001546040518263ffffffff1660e060020a02815260040161218991815260200190565b61012060405180830381865afa1580156121a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121cb9190613a58565b50505050505092505050602d60009054906101000a9004600160a060020a0316600160a060020a031663ba7bd2aa602e848154811061220c5761220c61385c565b9060005260206000200154836040518363ffffffff1660e060020a028152600401612241929190918252602082015260400190565b600060405180830381600087803b15801561225b57600080fd5b505af115801561226f573d6000803e3d6000fd5b5050505050808061227f9061388e565b915050612129565b50602c546040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152600091600160a060020a0316906370a0823190602401602060405180830381865afa1580156122ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230e91906138e0565b905080156118c857602c54602f546040517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0391821660048201526024810184905291169063a9059cbb906044016020604051808303816000875af1158015612384573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b391906138f9565b603054600160a060020a03163314806123cb5750602f54600160a060020a031633145b6123ea5760405160e560020a62461bcd02815260040161031f906139c4565b6014805460ff19811690915560155460ff909116901580612409575081155b156124595760405160e560020a62461bcd02815260206004820152600e60248201527f63616e6e6f742073656e64203021000000000000000000000000000000000000604482015260640161031f565b336000612467600285613988565b90506000612474836115f1565b60408051600280825260608201835292935060009290916020830190803683375050602b54604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051939450600160a060020a039091169263ad5c4648925060048083019260209291908290030181865afa1580156124fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125209190613af5565b816000815181106125335761253361385c565b6020026020010190600160a060020a03169081600160a060020a03168152505030816001815181106125675761256761385c565b600160a060020a039283166020918202929092010152602b541663b6f9de9584600084886125974261012c613916565b6040518663ffffffff1660e060020a0281526004016125b99493929190613b12565b6000604051808303818588803b1580156125d257600080fd5b505af11580156125e6573d6000803e3d6000fd5b50505050506000826125f7866115f1565b61260191906139ad565b9050600061260e306115f1565b905061261b86308461296a565b600081612627306115f1565b61263191906139ad565b90508281146126855760405160e560020a62461bcd02815260206004820152601460248201527f4572726f723a207768696c6520706f6f6c696e67000000000000000000000000604482015260640161031f565b612690308488613159565b5088601560008282546126a391906139ad565b90915550506014805460ff1916981515989098179097555050505050505050565b600160a060020a0383166127425760405160e560020a62461bcd028152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161031f565b600160a060020a0382166127c15760405160e560020a62461bcd02815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161031f565b600160a060020a0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6022546000906128318361160c565b1561283e57506000610a85565b61284783610a8b565b156128555750602554610a85565b60004311801561286757506000601154115b801561287557506011544311155b156128835750602454610a85565b600160a060020a03831660009081526006602052604090205442108015906128c65750600160a060020a0383166000908152600660205260409020600101544211155b15610a85575060235492915050565b600160a060020a03838116600090815260016020908152604080832093861683529290522054600019811461296457818110156129575760405160e560020a62461bcd02815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161031f565b61296484848484036126c4565b50505050565b600160a060020a0383166129e95760405160e560020a62461bcd02815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161031f565b600160a060020a038216612a685760405160e560020a62461bcd02815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161031f565b600160a060020a03831660009081526020819052604090205481811015612afa5760405160e560020a62461bcd02815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161031f565b600160a060020a03808516600090815260208190526040808220858503905591851681529081208054849290612b31908490613916565b9250508190555082600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b7d91815260200190565b60405180910390a350505050565b600080612b97836115f1565b905060005b601054811015612c6b5783600160a060020a031660108281548110612bc357612bc361385c565b600091825260209091200154600160a060020a0316148015612be3575081155b80612c1e57506000600160a060020a031660108281548110612c0757612c0761385c565b600091825260209091200154600160a060020a0316145b15612c595760108181548110612c3657612c3661385c565b60009182526020909120018054600160a060020a03191690555060029392505050565b80612c638161388e565b915050612b9c565b50600160a060020a03831615801590612c845750600081115b15610aec57505060108054600180820183556000929092527f1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672018054600160a060020a031916600160a060020a03939093169290921790915590565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110612d1557612d1561385c565b600160a060020a03928316602091820292909201810191909152602b54604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c46489260048083019391928290030181865afa158015612d87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dab9190613af5565b81600181518110612dbe57612dbe61385c565b600160a060020a039283166020918202929092010152602b54612de491309116846126c4565b602b54600160a060020a031663791ac9478360008487612e0642610168613916565b6040518663ffffffff1660e060020a028152600401612e29959493929190613b47565b600060405180830381600087803b158015612e4357600080fd5b505af1158015612e57573d6000803e3d6000fd5b50505050505050565b6014805460ff19811690915560285460095460ff9092169160009190612e869085613969565b612e909190613988565b905060005b600d54811015612fbb576000600d8281548110612eb457612eb461385c565b6000918252602080832090910154602854600160a060020a039091168084526008909252604083205491935090612eeb9086613969565b612ef59190613988565b90508015612fa657600082600160a060020a03168260405160006040518083038185875af1925050503d8060008114612f4a576040519150601f19603f3d011682016040523d82523d6000602084013e612f4f565b606091505b509091505080612fa45760405160e560020a62461bcd02815260206004820152601060248201527f73656e642065746865723a206661696c00000000000000000000000000000000604482015260640161031f565b505b50819050612fb38161388e565b915050612e95565b50506014805460ff191691151591909117905550565b6014805460ff19811690915560285460009160ff16908290612ff38587613969565b612ffd9190613988565b905080156130b857600086600160a060020a03168260405160006040518083038185875af1925050503d8060008114613052576040519150601f19603f3d011682016040523d82523d6000602084013e613057565b606091505b5090915050806130ac5760405160e560020a62461bcd02815260206004820152601460248201527f73656e6420657468416d6f756e743a206661696c000000000000000000000000604482015260640161031f565b50600192506130be9050565b60009250505b6014805460ff19169115159190911790559392505050565b600080805b600d5481101561313f5760086000600d83815481106130fc576130fc61385c565b6000918252602080832090910154600160a060020a0316835282019290925260400190205461312b9083613916565b9150806131378161388e565b9150506130db565b50602854811161315157600191505090565b600091505090565b602b54600090613174903090600160a060020a0316856126c4565b602b54600090600160a060020a031663f305d71984308785808b61319a42610168613916565b6040518863ffffffff1660e060020a0281526004016131be9695949392919061392e565b60606040518083038185885af11580156131dc573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906132019190613b83565b979650505050505050565b602c546040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152600091600160a060020a0316906370a0823190602401602060405180830381865afa15801561326e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061329291906138e0565b602c54602d546040517f095ea7b3000000000000000000000000000000000000000000000000000000008152600160a060020a0391821660048201526024810184905292935060009291169063095ea7b3906044016020604051808303816000875af1158015613306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061332a91906138f9565b9050600181151514156134c557602d54602c546040517ffeeb733d000000000000000000000000000000000000000000000000000000008152600160a060020a039182166004820152600092919091169063feeb733d90602401602060405180830381865afa1580156133a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133c591906138e0565b90506000426012546133d79190613916565b6013819055602d54602c546040517fd084c0a6000000000000000000000000000000000000000000000000000000008152600160a060020a039182166004820152306024820152604481018890526064810184905260006084820181905293945091169063d084c0a690859060a40160206040518083038185885af1158015613464573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061348991906138e0565b602e80546001810182556000919091527f37fa166cbdbfbb1561ccd9ea985ec0218b5e68502e230525f544285b2bdf3d7e0155506114b3915050565b60405160e560020a62461bcd02815260206004820152601f60248201527f617070726f766520696e206c6f636b5f4c505f546f6b656e733a206661696c00604482015260640161031f565b601a5460009061351f8361160c565b1561352c57506000610a85565b61353583610a8b565b156135435750601d54610a85565b60004311801561355557506000601154115b801561356357506011544311155b15610a855750601c5492915050565b6000602954613580846115f1565b11801561359357506135918361160c565b155b806135b05750602a54821180156135b057506135ae8361160c565b155b15610aec57506001610a85565b600060208083528351808285015260005b818110156135ea578581018301518582016040015282016135ce565b818111156135fc576000604083870101525b50601f01601f1916929092016040019392505050565b600160a060020a03811681146118c857600080fd5b6000806040838503121561363a57600080fd5b823561364581613612565b946020939093013593505050565b60006020828403121561366557600080fd5b8135610f5081613612565b600081518084526020808501945080840160005b838110156136a9578151600160a060020a031687529582019590820190600101613684565b509495945050505050565b602081526000610f506020830184613670565b6000806000606084860312156136dc57600080fd5b83356136e781613612565b925060208401356136f781613612565b929592945050506040919091013590565b60006020828403121561371a57600080fd5b5035919050565b6000806000806080858703121561373757600080fd5b5050823594602084013594506040840135936060013592509050565b6000806040838503121561376657600080fd5b50508035926020909101359150565b80151581146118c857600080fd5b6000806040838503121561379657600080fd5b823561364581613775565b6020808252825182820181905260009190848201906040850190845b818110156137d9578351835292840192918401916001016137bd565b50909695505050505050565b600080604083850312156137f857600080fd5b823561380381613612565b9150602083013561381381613612565b809150509250929050565b60028104600182168061383257607f821691505b602082108114156138565760e060020a634e487b7102600052602260045260246000fd5b50919050565b60e060020a634e487b7102600052603260045260246000fd5b60e060020a634e487b7102600052601160045260246000fd5b60006000198214156138a2576138a2613875565b5060010190565b6020808252600b908201527f4f6e6c79204f776e657221000000000000000000000000000000000000000000604082015260600190565b6000602082840312156138f257600080fd5b5051919050565b60006020828403121561390b57600080fd5b8151610f5081613775565b6000821982111561392957613929613875565b500190565b600160a060020a039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600081600019048311821515161561398357613983613875565b500290565b6000826139a85760e060020a634e487b7102600052601260045260246000fd5b500490565b6000828210156139bf576139bf613875565b500390565b60208082526017908201527f4f6e6c79206f776e6572206f72207a654f7261636c6521000000000000000000604082015260600190565b60208082526021908201527f546f74616c2073686172652069732067726561746572207468616e203130302560408201527f2e00000000000000000000000000000000000000000000000000000000000000606082015260800190565b60008060008060008060008060006101208a8c031215613a7757600080fd5b8951613a8281613612565b60208b0151909950613a9381613612565b8098505060408a0151965060608a0151955060808a0151613ab381613775565b60a08b015160c08c01519196509450613acb81613775565b60e08b01516101008c01519194509250613ae481613775565b809150509295985092959850929598565b600060208284031215613b0757600080fd5b8151610f5081613612565b848152608060208201526000613b2b6080830186613670565b600160a060020a03949094166040830152506060015292915050565b85815284602082015260a060408201526000613b6660a0830186613670565b600160a060020a0394909416606083015250608001529392505050565b600080600060608486031215613b9857600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122034c0a8b3fb02e714fa3178e22080c81fbbc1c795ba109e81ea2e0018eddfe0be64736f6c634300080b0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000845b8c0db49fa0fc92f20d08a78ba2d78f92f8590000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000e2fe530c047f2d85298b07d9333c05737f1435fb0000000000000000000000000a4b5440e863f96324baf721a69c6f7ad59ba75100000000000000000000000072d20f97339cc22527fe89499c7347fac0ab5cd5

-----Decoded View---------------
Arg [0] : owner_0 (address): 0x845b8C0Db49fA0Fc92f20D08A78BA2d78f92f859
Arg [1] : router_v2_address (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [2] : externLocker_address (address): 0xE2fE530C047f2d85298b07D9333C05737f1435fB
Arg [3] : developmentMarketing_address_ (address): 0x0A4b5440E863F96324BaF721A69C6F7ad59ba751
Arg [4] : zeOracle_address_ (address): 0x72d20f97339Cc22527FE89499c7347fAc0Ab5cD5

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 000000000000000000000000845b8c0db49fa0fc92f20d08a78ba2d78f92f859
Arg [1] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [2] : 000000000000000000000000e2fe530c047f2d85298b07d9333c05737f1435fb
Arg [3] : 0000000000000000000000000a4b5440e863f96324baf721a69c6f7ad59ba751
Arg [4] : 00000000000000000000000072d20f97339cc22527fe89499c7347fac0ab5cd5


Deployed Bytecode Sourcemap

9267:20746:0:-:0;;;;;;;;;;-1:-1:-1;;;9267:20746:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29982:20;;-1:-1:-1;;;;;29982:20:0;;216:2:1;29982:20:0;;;198:21:1;255:2;235:18;;;228:30;294:12;274:18;;;267:40;324:18;;29982:20:0;;;;;;;;6460:18;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7193:201;;;;;;;;;;-1:-1:-1;7193:201:0;;;;;:::i;:::-;;:::i;:::-;;;1599:14:1;;1592:22;1574:41;;1562:2;1547:18;7193:201:0;1434:187:1;18761:178:0;;;;;;;;;;-1:-1:-1;18761:178:0;;;;;:::i;:::-;;:::i;6688:108::-;;;;;;;;;;-1:-1:-1;6776:12:0;;6688:108;;;2024:25:1;;;2012:2;1997:18;6688:108:0;1878:177:1;18945:83:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;10574:253::-;;;;;;;;;;-1:-1:-1;10574:253:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3158:25:1;;;3214:2;3199:18;;3192:34;;;;3242:18;;;3235:34;;;;3300:2;3285:18;;3278:34;;;;3343:3;3328:19;;3321:35;3387:3;3372:19;;3365:35;3431:3;3416:19;;3409:35;3475:3;3460:19;;3453:35;3145:3;3130:19;10574:253:0;2815:679:1;29250:655:0;;;;;;;;;;-1:-1:-1;29250:655:0;;;;;:::i;:::-;;:::i;20372:1021::-;;;;;;;;;;-1:-1:-1;20372:1021:0;;;;;:::i;:::-;;:::i;14382:131::-;;;;;;;;;;-1:-1:-1;14382:131:0;;;;;:::i;:::-;;:::i;:::-;;24665:864;;;;;;;;;;-1:-1:-1;24665:864:0;;;;;:::i;:::-;;:::i;15337:465::-;;;;;;;;;;-1:-1:-1;15337:465:0;;;;;:::i;:::-;;:::i;6512:21::-;;;;;;;;;;-1:-1:-1;6512:21:0;;;;;;;;;;;4707:4:1;4695:17;;;4677:36;;4665:2;4650:18;6512:21:0;4535:184:1;10232:35:0;;;;;;;;;;-1:-1:-1;10232:35:0;;;;;;;;10312:255;;;;;;;;;;-1:-1:-1;10312:255:0;;;;;;;;;;;;;;;;;;;;;;;;;;;19664:232;;;;;;;;;;-1:-1:-1;19664:232:0;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;4888:55:1;;;4870:74;;4858:2;4843:18;19664:232:0;4724:226:1;17160:432:0;;;;;;;;;;-1:-1:-1;17160:432:0;;;;;:::i;:::-;;:::i;13309:457::-;;;;;;:::i;:::-;;:::i;11104:26::-;;;;;;;;;;-1:-1:-1;11104:26:0;;;;-1:-1:-1;;;;;11104:26:0;;;14517:129;;;;;;;;;;-1:-1:-1;14517:129:0;;;;;:::i;:::-;;:::i;14158:218::-;;;;;;;;;;-1:-1:-1;14158:218:0;;;;;:::i;:::-;;:::i;16374:199::-;;;;;;;;;;-1:-1:-1;16374:199:0;;;;;:::i;:::-;;:::i;16256:114::-;;;;;;;;;;-1:-1:-1;16256:114:0;;;;;:::i;:::-;;:::i;6804:127::-;;;;;;;;;;-1:-1:-1;6804:127:0;;;;;:::i;:::-;;:::i;18579:178::-;;;;;;;;;;-1:-1:-1;18579:178:0;;;;;:::i;:::-;;:::i;19900:228::-;;;;;;;;;;-1:-1:-1;19900:228:0;;;;;:::i;:::-;;:::i;11006:60::-;;;;;;;;;;;;;;;;16577:263;;;;;;;;;;-1:-1:-1;16577:263:0;;;;;:::i;:::-;;:::i;:::-;;;;6082:14:1;;6075:22;6057:41;;6129:2;6114:18;;6107:34;;;;6030:18;16577:263:0;5889:258:1;28232:273:0;;;;;;;;;;;;;:::i;15814:111::-;;;;;;;;;;-1:-1:-1;15814:111:0;;;;;:::i;:::-;;:::i;10945:52::-;;;;;;;;;;;;;;;;11181:20;;;;;;;;;;-1:-1:-1;11181:20:0;;;;-1:-1:-1;;;;;11181:20:0;;;6485;;;;;;;;;;;;;:::i;10274:29::-;;;;;;;;;;;;;;;;21401:1072;;;;;;;;;;-1:-1:-1;21401:1072:0;;;;;:::i;:::-;;:::i;14876:455::-;;;;;;;;;;-1:-1:-1;14876:455:0;;;;;:::i;:::-;;:::i;18008:565::-;;;;;;;;;;-1:-1:-1;18008:565:0;;;;;:::i;:::-;;:::i;10189:38::-;;;;;;;;;;;;;;;;17596:300;;;;;;;;;;-1:-1:-1;17596:300:0;;;;;:::i;:::-;;:::i;16061:189::-;;;;;;;;;;-1:-1:-1;16061:189:0;;;;;:::i;:::-;;:::i;28980:263::-;;;;;;;;;;-1:-1:-1;28980:263:0;;;;;:::i;:::-;;:::i;27489:87::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;20132:232::-;;;;;;;;;;-1:-1:-1;20132:232:0;;;;;:::i;:::-;;:::i;17900:104::-;;;;;;;;;;;;;:::i;7034:151::-;;;;;;;;;;-1:-1:-1;7034:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;7150:18:0;;;7123:7;7150:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7034:151;14652:218;;;;;;;;;;-1:-1:-1;14652:218:0;;;;;:::i;:::-;;:::i;19433:227::-;;;;;;;;;;-1:-1:-1;19433:227:0;;;;;:::i;:::-;;:::i;15929:126::-;;;;;;;;;;-1:-1:-1;15929:126:0;;;;;:::i;:::-;;:::i;28511:462::-;;;;;;;;;;;;;:::i;11204:31::-;;;;;;;;;;-1:-1:-1;11204:31:0;;;;-1:-1:-1;;;;;11204:31:0;;;26468:1015;;;;;;;;;;-1:-1:-1;26468:1015:0;;;;;:::i;:::-;;:::i;6460:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7193:201::-;7276:4;3401:10;7332:32;3401:10;7348:7;7357:6;7332:8;:32::i;:::-;7382:4;7375:11;;;7193:201;;;;;:::o;18761:178::-;18819:4;;18830:89;18849:9;:16;18847:18;;18830:89;;;18897:4;-1:-1:-1;;;;;18881:20:0;:9;18891:1;18881:12;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;18881:12:0;:20;18878:35;;;-1:-1:-1;18909:4:0;;18761:178;-1:-1:-1;;18761:178:0:o;18878:35::-;18867:3;;;;:::i;:::-;;;;18830:89;;;-1:-1:-1;18930:5:0;;18761:178;-1:-1:-1;;18761:178:0:o;18945:83::-;18988:16;19017:7;19010:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19010:14:0;;;;;;;;;;;;;;;;;;;;;;;18945:83;:::o;29250:655::-;13803:5;;29321:4;;-1:-1:-1;;;;;13803:5:0;13812:10;13803:19;13795:43;;;;-1:-1:-1;;;;;13795:43:0;;;;;;;:::i;:::-;29339:15:::1;:13;:15::i;:::-;29385:13;::::0;:38:::1;::::0;;;;29417:4:::1;29385:38;::::0;::::1;4870:74:1::0;29366:16:0::1;::::0;-1:-1:-1;;;;;29385:13:0::1;::::0;:23:::1;::::0;4843:18:1;;29385:38:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29444:13;::::0;29474:15:::1;::::0;29444:57:::1;::::0;;;;-1:-1:-1;;;;;29474:15:0;;::::1;29444:57;::::0;::::1;8845:74:1::0;8935:18;;;8928:34;;;29366:57:0;;-1:-1:-1;29428:13:0::1;::::0;29444;::::1;::::0;:21:::1;::::0;8818:18:1;;29444:57:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29428:73;;29506:8;29547:1:::0;29536:8:::1;:12;:30;;;;-1:-1:-1::0;29562:4:0::1;29552:14:::0;::::1;;;29536:30;29533:294;;;29595:15;::::0;29675:13:::1;::::0;29574:18:::1;::::0;-1:-1:-1;;;;;29595:15:0;;::::1;::::0;:63:::1;::::0;29675:13:::1;29698:8:::0;29574:18;;29735:11;29756:21:::1;:15;29774:3;29756:21;:::i;:::-;29595:190;;;;;-1:-1:-1::0;;;29595:190:0::1;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29574:211:::0;-1:-1:-1;29795:14:0;;29792:29:::1;;29817:4;29811:10;;29792:29;29567:260;29533:294;29840:29;29857:11;29840:16;:29::i;:::-;:36;;29872:4;29840:36;29837:49;;;-1:-1:-1::0;29882:4:0::1;29837:49;29898:3:::0;-1:-1:-1;;;13843:1:0::1;29250:655:::0;;;:::o;20372:1021::-;20495:4;20530:20;20545:4;20530:14;:20::i;:::-;:42;;;;;20554:18;20569:2;20554:14;:18::i;:::-;20529:79;;;-1:-1:-1;20585:15:0;;;;:23;;:15;:23;20529:79;20512:121;;;;-1:-1:-1;;;;;20512:121:0;;10193:2:1;20512:121:0;;;10175:21:1;10232:1;10212:18;;;10205:29;10270:9;10250:18;;;10243:37;10297:18;;20512:121:0;9991:330:1;20512:121:0;20725:13;;3401:10;;20642:15;;-1:-1:-1;;;;;20711:28:0;;;20725:13;;20711:28;:64;;;;-1:-1:-1;20759:15:0;;-1:-1:-1;;;;;20743:32:0;;;20759:15;;20743:32;;20711:64;20708:112;;;20791:20;20806:4;20791:14;:20::i;:::-;20785:26;;20708:112;20832:38;20848:4;20854:7;20863:6;20832:15;:38::i;:::-;20882:7;;20879:175;;20937:10;;20899:18;;20921:12;20930:3;20921:6;:12;:::i;:::-;20920:27;;;;:::i;:::-;20899:48;-1:-1:-1;20957:20:0;20899:48;20957:20;;:::i;:::-;;-1:-1:-1;20989:14:0;;20986:60;;21004:42;21014:4;21028;21035:10;21004:9;:42::i;:::-;20890:164;20879:175;21068:27;21078:4;21084:2;21088:6;21068:9;:27::i;:::-;21116:24;21137:2;21116:20;:24::i;:::-;;21147:26;21168:4;21147:20;:26::i;:::-;-1:-1:-1;21207:13:0;;-1:-1:-1;;;;;21193:28:0;;;21207:13;;21193:28;:64;;;;-1:-1:-1;21241:15:0;;-1:-1:-1;;;;;21225:32:0;;;21241:15;;21225:32;;21193:64;21190:174;;;21279:6;;21270;:15;:46;;;;;21289:20;21304:4;21289:14;:20::i;:::-;:27;21270:46;21267:89;;;21317:39;;-1:-1:-1;;;;;21317:39:0;;11110:2:1;21317:39:0;;;11092:21:1;11149:2;11129:18;;;11122:30;11188:31;11168:18;;;11161:59;11237:18;;21317:39:0;10908:353:1;21267:89:0;21383:4;21376:11;;;;20372:1021;;;;;;:::o;14382:131::-;13803:5;;-1:-1:-1;;;;;13803:5:0;13812:10;13803:19;13795:43;;;;-1:-1:-1;;;;;13795:43:0;;;;;;;:::i;:::-;14467:18:::1;:42:::0;14382:131::o;24665:864::-;13893:16;;-1:-1:-1;;;;;13893:16:0;13913:10;13893:30;;:53;;-1:-1:-1;13927:5:0;;-1:-1:-1;;;;;13927:5:0;13936:10;13927:19;13893:53;13885:89;;;;-1:-1:-1;;;;;13885:89:0;;;;;;;:::i;:::-;24769:40;;24768:110;::::1;;;;24842:35;24815:24;24833:4;24815:9;:24::i;:::-;:62;24768:110;24765:143;;;24879:29;::::0;-1:-1:-1;;;;;24879:29:0;;11820:2:1;24879:29:0::1;::::0;::::1;11802:21:1::0;11859:2;11839:18;;;11832:30;11898:21;11878:18;;;11871:49;11937:18;;24879:29:0::1;11618:343:1::0;24765:143:0::1;24945:4;24978:17:::0;::::1;25002:64;24945:4:::0;25030:35;25002:16:::1;:64::i;:::-;25073:18;25094:30;25114:10:::0;-1:-1:-1;;;;;25094:17:0;::::1;;:30;:::i;:::-;25073:51;;25160:10;25140:9;-1:-1:-1::0;;;;;25140:17:0::1;;:30;25137:65;;;25171:31;::::0;-1:-1:-1;;;;;25171:31:0;;12168:2:1;25171:31:0::1;::::0;::::1;12150:21:1::0;12207:2;12187:18;;;12180:30;12246:23;12226:18;;;12219:51;12287:18;;25171:31:0::1;11966:345:1::0;25137:65:0::1;25217:28;25234:10;25217:16;:28::i;:::-;25272:16;::::0;25302:19;;25260:62:::1;::::0;-1:-1:-1;;;;;25272:16:0::1;::::0;25290:10;;25260:11:::1;:62::i;:::-;-1:-1:-1::0;25343:28:0::1;::::0;25385:35;;25331:90:::1;::::0;-1:-1:-1;;;;;25343:28:0::1;::::0;25373:10;;25331:11:::1;:90::i;:::-;-1:-1:-1::0;25513:10:0::1;::::0;25492:17;;25479:30:::1;::::0;:10;:30:::1;:::i;:::-;25478:45;;;;:::i;:::-;25460:14;;:63;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;;;;;24665:864:0:o;15337:465::-;13803:5;;-1:-1:-1;;;;;13803:5:0;13812:10;13803:19;13795:43;;;;-1:-1:-1;;;;;13795:43:0;;;;;;;:::i;:::-;15502:10:::1;:30:::0;;;15537:27;:50;;;15592:25;:46;;;15643:19;:34;;;15665:12;15620:18;15701:47:::1;15567:20:::0;15522:10;15701:47:::1;:::i;:::-;:75;;;;:::i;:::-;:97;;;;:::i;:::-;15682:16:::0;:116;-1:-1:-1;;;;15337:465:0:o;19664:232::-;13803:5;;19731:7;;-1:-1:-1;;;;;13803:5:0;13812:10;13803:19;13795:43;;;;-1:-1:-1;;;;;13795:43:0;;;;;;;:::i;:::-;19748:9:::1;19744:133;19763:9;:16:::0;19761:18;::::1;19744:133;;;19811:4;-1:-1:-1::0;;;;;19795:20:0::1;:9;19805:1;19795:12;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;19795:12:0::1;:20;19792:80;;;19832:9;19842:1;19832:12;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;19825:19:::0;;-1:-1:-1;;;;;;19825:19:0::1;::::0;;-1:-1:-1;19860:4:0;;29250:655;-1:-1:-1;29250:655:0:o;19792:80::-:1;19781:3:::0;::::1;::::0;::::1;:::i;:::-;;;;19744:133;;;-1:-1:-1::0;19888:4:0;;19664:232;-1:-1:-1;19664:232:0:o;17160:432::-;13803:5;;17267:4;;-1:-1:-1;;;;;13803:5:0;13812:10;13803:19;13795:43;;;;-1:-1:-1;;;;;13795:43:0;;;;;;;:::i;:::-;17281:10:::1;17296:27;17311:11;17296:14;:27::i;:::-;-1:-1:-1::0;17280:43:0;-1:-1:-1;17342:4:0::1;17333:13:::0;::::1;;;17330:29;;;17354:5;17347:12;;;;;17330:29;17374:16;:34:::0;;::::1;::::0;::::1;::::0;;;;::::1;::::0;;-1:-1:-1;;;;;;17374:34:0::1;-1:-1:-1::0;;;;;17374:34:0;::::1;::::0;;::::1;::::0;;;-1:-1:-1;17419:25:0;;;:12:::1;17374:34;17419:25:::0;;;;:52;;;17490:21:::1;:19;:21::i;:::-;17487:75;;17519:43;;-1:-1:-1::0;;;;;17519:43:0::1;;;;;;;:::i;13309:457::-:0;13803:5;;-1:-1:-1;;;;;13803:5:0;13812:10;13803:19;13795:43;;;;-1:-1:-1;;;;;13795:43:0;;;;;;;:::i;:::-;13394:12:::1;::::0;13428:13:::1;::::0;13394:49:::1;::::0;;;;-1:-1:-1;;;;;13428:13:0;;::::1;13394:49;::::0;::::1;4870:74:1::0;13394:12:0;::::1;::::0;:25:::1;::::0;4843:18:1;;13394:49:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13381:9;:62;13377:94;;13445:26;::::0;-1:-1:-1;;;;;13445:26:0;;12920:2:1;13445:26:0::1;::::0;::::1;12902:21:1::0;12959:2;12939:18;;;12932:30;12998:18;12978;;;12971:46;13034:18;;13445:26:0::1;12718:340:1::0;13377:94:0::1;13493:49;::::0;13479:9:::1;::::0;13509:4:::1;::::0;13528:9;;13479;13493:49;13479:9;13493:49;13528:9;13509:4;13493:49:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;13478:64:0;;-1:-1:-1;;13558:4:0::1;13550:12:::0;::::1;;;13547:216;;;13591:1;13575:13;;:17;:34;;;;;13608:1;13596:9;:13;13575:34;13572:133;;;13619:53;13640:4;13647:13;;13662:9;13619:12;:53::i;:::-;;13681:16;:14;:16::i;:::-;13370:396;13309:457:::0;:::o;13547:216::-:1;13721:36;::::0;-1:-1:-1;;;;;13721:36:0;;13475:2:1;13721:36:0::1;::::0;::::1;13457:21:1::0;13514:2;13494:18;;;13487:30;13553:28;13533:18;;;13526:56;13599:18;;13721:36:0::1;13273:350:1::0;14517:129:0;13803:5;;-1:-1:-1;;;;;13803:5:0;13812:10;13803:19;13795:43;;;;-1:-1:-1;;;;;13795:43:0;;;;;;;:::i;:::-;14596:25;:46;14517:129::o;14158:218::-;13803:5;;-1:-1:-1;;;;;13803:5:0;13812:10;13803:19;13795:43;;;;-1:-1:-1;;;;;13795:43:0;;;;;;;:::i;:::-;14271:23;:47;;;;14323:24;:49;14158:218::o;16374:199::-;13803:5;;-1:-1:-1;;;;;13803:5:0;13812:10;13803:19;13795:43;;;;-1:-1:-1;;;;;13795:43:0;;;;;;;:::i;:::-;16468:15:::1;:37:::0;;-1:-1:-1;;16468:37:0::1;::::0;::::1;;;::::0;;16513:11:::1;::::0;16510:58:::1;;16546:21;16561:6:::0;16546:12:::1;:21;:::i;:::-;16531:11;:37:::0;16374:199;;:::o;16256:114::-;13803:5;;-1:-1:-1;;;;;13803:5:0;13812:10;13803:19;13795:43;;;;-1:-1:-1;;;;;13795:43:0;;;;;;;:::i;:::-;16333:13:::1;:33:::0;16256:114::o;6804:127::-;-1:-1:-1;;;;;6905:18:0;6878:7;6905:18;;;;;;;;;;;;6804:127::o;18579:178::-;18637:4;;18648:89;18667:9;:16;18665:18;;18648:89;;;18715:4;-1:-1:-1;;;;;18699:20:0;:9;18709:1;18699:12;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;18699:12:0;:20;18696:35;;;-1:-1:-1;18727:4:0;;18579:178;-1:-1:-1;;18579:178:0:o;18696:35::-;18685:3;;;;:::i;:::-;;;;18648:89;;19900:228;13803:5;;19964:7;;-1:-1:-1;;;;;13803:5:0;13812:10;13803:19;13795:43;;;;-1:-1:-1;;;;;13795:43:0;;;;;;;:::i;:::-;19981:9:::1;19977:105;19996:9;:16:::0;19994:18;::::1;19977:105;;;20044:4;-1:-1:-1::0;;;;;20028:20:0::1;:9;20038:1;20028:12;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;20028:12:0::1;:20;20025:52;;;-1:-1:-1::0;20065:4:0;;29250:655;-1:-1:-1;29250:655:0:o;20025:52::-:1;20014:3:::0;::::1;::::0;::::1;:::i;:::-;;;;19977:105;;;-1:-1:-1::0;;20086:9:0::1;:20:::0;;::::1;::::0;::::1;::::0;;-1:-1:-1;20086:20:0;;;;;::::1;::::0;;-1:-1:-1;;;;;;20086:20:0::1;-1:-1:-1::0;;;;;20086:20:0;::::1;;::::0;;;19900:228::o;16577:263::-;16642:4;16648:7;16668:9;16664:149;16685:16;:23;16681:27;;16664:149;;;16751:11;-1:-1:-1;;;;;16728:34:0;:16;16745:1;16728:19;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;16728:19:0;:34;16725:81;;;16786:4;;16792:1;;-1:-1:-1;16577:263:0;-1:-1:-1;;16577:263:0:o;16725:81::-;16710:3;;;;:::i;:::-;;;;16664:149;;;-1:-1:-1;16827:5:0;;;;-1:-1:-1;16577:263:0;-1:-1:-1;;16577:263:0:o;28232:273::-;13893:16;;-1:-1:-1;;;;;13893:16:0;13913:10;13893:30;;:53;;-1:-1:-1;13927:5:0;;-1:-1:-1;;;;;13927:5:0;13936:10;13927:19;13893:53;13885:89;;;;-1:-1:-1;;;;;13885:89:0;;;;;;;:::i;:::-;28297:9:::1;28293:209;28312:9;:16:::0;28310:18;::::1;28293:209;;;28341:15;28380;28359:18;;:36;;;;:::i;:::-;28402:23;:33:::0;;;28442:12:::1;::::0;28474:9:::1;:12:::0;;28341:54;;-1:-1:-1;;;;;;28442:12:0;;::::1;::::0;:31:::1;::::0;28474:9;28484:1;;28474:12;::::1;;;;;:::i;:::-;;;;;;;;;28488:7;28442:54;;;;;-1:-1:-1::0;;;28442:54:0::1;;;;;;;;;13802:25:1::0;;;13858:2;13843:18;;13836:34;13790:2;13775:18;;13628:248;28442:54:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;28334:168;28330:3;;;;;:::i;:::-;;;;28293:209;;;;28232:273::o:0;15814:111::-;13803:5;;-1:-1:-1;;;;;13803:5:0;13812:10;13803:19;13795:43;;;;-1:-1:-1;;;;;13795:43:0;;;;;;;:::i;:::-;15875:24:::1;15889:9;15875:13;:24::i;:::-;-1:-1:-1::0;15904:5:0::1;:17:::0;;-1:-1:-1;;;;;;15904:17:0::1;-1:-1:-1::0;;;;;15904:17:0;;;::::1;::::0;;;::::1;::::0;;15814:111::o;6485:20::-;;;;;;;:::i;21401:1072::-;21480:4;3401:10;21549:22;3401:10;21549:14;:22::i;:::-;:44;;;;;21575:18;21590:2;21575:14;:18::i;:::-;21548:81;;;-1:-1:-1;21606:15:0;;;;:23;;:15;:23;21548:81;21531:123;;;;-1:-1:-1;;;;;21531:123:0;;10193:2:1;21531:123:0;;;10175:21:1;10232:1;10212:18;;;10205:29;10270:9;10250:18;;;10243:37;10297:18;;21531:123:0;9991:330:1;21531:123:0;21718:13;;21667:11;;-1:-1:-1;;;;;21700:32:0;;;21718:13;;21700:32;:66;;;;-1:-1:-1;21750:15:0;;-1:-1:-1;;;;;21736:30:0;;;21750:15;;21736:30;;21700:66;21697:251;;;21800:108;;;;;;;;21838:15;21800:108;;;;21892:13;;21874:15;:31;;;;:::i;:::-;21800:108;;-1:-1:-1;;;;;21776:21:0;;;;;;:17;:21;;;;;;;;:132;;;;;;;;;;;;21923:17;21794:2;21923:13;:17::i;:::-;21917:23;;21697:251;21965:7;;21962:177;;22020:10;;21982:18;;22004:12;22013:3;22004:6;:12;:::i;:::-;22003:27;;;;:::i;:::-;21982:48;-1:-1:-1;22040:20:0;21982:48;22040:20;;:::i;:::-;;-1:-1:-1;22072:14:0;;22069:62;;22087:44;22097:6;22113:4;22120:10;22087:9;:44::i;:::-;21973:166;21962:177;22153:29;22163:6;22171:2;22175:6;22153:9;:29::i;:::-;22197:24;22218:2;22197:20;:24::i;:::-;;22228:28;22249:6;22228:20;:28::i;:::-;-1:-1:-1;22294:13:0;;-1:-1:-1;;;;;22276:32:0;;;22294:13;;22276:32;:66;;;;-1:-1:-1;22326:15:0;;-1:-1:-1;;;;;22312:30:0;;;22326:15;;22312:30;;22276:66;22273:171;;;22355:35;22379:2;22383:6;22355:23;:35::i;:::-;:41;;22392:4;22355:41;22352:84;;;22397:39;;-1:-1:-1;;;;;22397:39:0;;11110:2:1;22397:39:0;;;11092:21:1;11149:2;11129:18;;;11122:30;11188:31;11168:18;;;11161:59;11237:18;;22397:39:0;10908:353:1;22352:84:0;-1:-1:-1;22463:4:0;;21401:1072;-1:-1:-1;;;;21401:1072:0:o;14876:455::-;13803:5;;-1:-1:-1;;;;;13803:5:0;13812:10;13803:19;13795:43;;;;-1:-1:-1;;;;;13795:43:0;;;;;;;:::i;:::-;15040:9:::1;:29:::0;;;15074:26;:49;;;15128:24;:45;;;15178:18;:33;;;15199:12;15155:18;15234:45:::1;15103:20:::0;15059:10;15234:45:::1;:::i;:::-;:72;;;;:::i;:::-;:93;;;;:::i;:::-;15216:15:::0;:111;-1:-1:-1;;;;14876:455:0:o;18008:565::-;13803:5;;18144:4;;-1:-1:-1;;;;;13803:5:0;13812:10;13803:19;13795:43;;;;-1:-1:-1;;;;;13795:43:0;;;;;;;:::i;:::-;18157:10:::1;18169:9:::0;18182:31:::1;18197:15;18182:14;:31::i;:::-;18156:57:::0;;-1:-1:-1;18156:57:0;-1:-1:-1;18232:4:0::1;18223:13:::0;::::1;;;18220:331;;;18270:15;18248:16;18265:1;18248:19;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;;::::1;:37:::0;;-1:-1:-1;;;;;;18248:37:0::1;-1:-1:-1::0;;;;;18248:37:0;;::::1;;::::0;;18315:29;;::::1;::::0;;:12:::1;:29:::0;;;;;;18308:36;;;18355:29;;::::1;::::0;;;:56;;;18437:21:::1;:19;:21::i;:::-;18434:75;;18466:43;;-1:-1:-1::0;;;;;18466:43:0::1;;;;;;;:::i;18434:75::-;18539:4;18532:11;;;;;;18220:331;-1:-1:-1::0;18564:5:0::1;::::0;18008:565;-1:-1:-1;;;;;18008:565:0:o;17596:300::-;13803:5;;17672:4;;-1:-1:-1;;;;;13803:5:0;13812:10;13803:19;13795:43;;;;-1:-1:-1;;;;;13795:43:0;;;;;;;:::i;:::-;17689:10:::1;17701:9:::0;17714:27:::1;17729:11;17714:14;:27::i;:::-;17688:53:::0;;-1:-1:-1;17688:53:0;-1:-1:-1;17760:4:0::1;17751:13:::0;::::1;;;17748:127;;;17783:16;17800:1;17783:19;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;::::1;17776:26:::0;;-1:-1:-1;;;;;;17776:26:0::1;::::0;;-1:-1:-1;;;;;17820:25:0;::::1;::::0;;:12:::1;:25:::0;;;;;17813:32;-1:-1:-1;17776:26:0;;-1:-1:-1;17856:11:0::1;::::0;-1:-1:-1;17856:11:0::1;17748:127;-1:-1:-1::0;17887:5:0::1;::::0;17596:300;-1:-1:-1;;;17596:300:0:o;16061:189::-;13803:5;;-1:-1:-1;;;;;13803:5:0;13812:10;13803:19;13795:43;;;;-1:-1:-1;;;;;13795:43:0;;;;;;;:::i;:::-;16176:10:::1;:35:::0;;;;16217:6:::1;:28:::0;16061:189::o;28980:263::-;13803:5;;29052:4;;-1:-1:-1;;;;;13803:5:0;13812:10;13803:19;13795:43;;;;-1:-1:-1;;;;;13795:43:0;;;;;;;:::i;:::-;29093:4:::1;29085:21;29114:14:::0;;29111:112:::1;;29137:9;29159:11;-1:-1:-1::0;;;;;29151:25:0::1;29184:10;29151:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;29136:63:0;;-1:-1:-1;29206:11:0::1;::::0;-1:-1:-1;;;29206:11:0::1;27489:87:::0;27533:16;27563:9;27556:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27489:87;:::o;20132:232::-;13803:5;;20199:7;;-1:-1:-1;;;;;13803:5:0;13812:10;13803:19;13795:43;;;;-1:-1:-1;;;;;13795:43:0;;;;;;;:::i;:::-;20216:9:::1;20212:133;20231:9;:16:::0;20229:18;::::1;20212:133;;;20279:4;-1:-1:-1::0;;;;;20263:20:0::1;:9;20273:1;20263:12;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;20263:12:0::1;:20;20260:80;;;20300:9;20310:1;20300:12;;;;;;;;:::i;20260:80::-;20249:3:::0;::::1;::::0;::::1;:::i;:::-;;;;20212:133;;17900:104:::0;17952:16;17984;17977:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17977:23:0;;;;;;;;;;;;;;;;;;;;;;17900:104;:::o;14652:218::-;13803:5;;-1:-1:-1;;;;;13803:5:0;13812:10;13803:19;13795:43;;;;-1:-1:-1;;;;;13795:43:0;;;;;;;:::i;:::-;14765:23;:47;;;;14817:24;:49;14652:218::o;19433:227::-;13803:5;;19495:7;;-1:-1:-1;;;;;13803:5:0;13812:10;13803:19;13795:43;;;;-1:-1:-1;;;;;13795:43:0;;;;;;;:::i;:::-;19512:9:::1;19508:107;19529:9;:16:::0;19525:20;::::1;19508:107;;;19577:4;-1:-1:-1::0;;;;;19561:20:0::1;:9;19571:1;19561:12;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;19561:12:0::1;:20;19558:52;;;-1:-1:-1::0;19598:4:0;;29250:655;-1:-1:-1;29250:655:0:o;19558:52::-:1;19547:3:::0;::::1;::::0;::::1;:::i;:::-;;;;19508:107;;;-1:-1:-1::0;;19619:9:0::1;:20:::0;;::::1;::::0;::::1;::::0;;-1:-1:-1;19619:20:0;;;;;::::1;::::0;;-1:-1:-1;;;;;;19619:20:0::1;-1:-1:-1::0;;;;;19619:20:0;::::1;;::::0;;;19433:227::o;15929:126::-;13803:5;;-1:-1:-1;;;;;13803:5:0;13812:10;13803:19;13795:43;;;;-1:-1:-1;;;;;13795:43:0;;;;;;;:::i;:::-;16012:16:::1;:39:::0;;-1:-1:-1;;;;;;16012:39:0::1;-1:-1:-1::0;;;;;16012:39:0;;;::::1;::::0;;;::::1;::::0;;15929:126::o;28511:462::-;13803:5;;-1:-1:-1;;;;;13803:5:0;13812:10;13803:19;13795:43;;;;-1:-1:-1;;;;;13795:43:0;;;;;;;:::i;:::-;28579:23:::1;;28561:15;:41;28558:72;;;28603:27;::::0;-1:-1:-1;;;;;28603:27:0;;14083:2:1;28603:27:0::1;::::0;::::1;14065:21:1::0;14122:2;14102:18;;;14095:30;14161:19;14141:18;;;14134:47;14198:18;;28603:27:0::1;13881:341:1::0;28558:72:0::1;28645:9;28641:201;28660:9;:16:::0;28658:18;::::1;28641:201;;;28730:12;::::0;28761:9:::1;:12:::0;;28694:20:::1;::::0;-1:-1:-1;;;;;28730:12:0::1;::::0;:30:::1;::::0;28771:1;;28761:12;::::1;;;;;:::i;:::-;;;;;;;;;28730:44;;;;;-1:-1:-1::0;;;28730:44:0::1;;;;;;;2024:25:1::0;;2012:2;1997:18;;1878:177;28730:44:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28689:85;;;;;;;;;;28781:12;;;;;;;;;-1:-1:-1::0;;;;;28781:12:0::1;-1:-1:-1::0;;;;;28781:27:0::1;;28809:9;28819:1;28809:12;;;;;;;;:::i;:::-;;;;;;;;;28823;28781:55;;;;;-1:-1:-1::0;;;28781:55:0::1;;;;;;;;;13802:25:1::0;;;13858:2;13843:18;;13836:34;13790:2;13775:18;;13628:248;28781:55:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;28682:160;28678:3;;;;;:::i;:::-;;;;28641:201;;;-1:-1:-1::0;28871:13:0::1;::::0;:38:::1;::::0;;;;28903:4:::1;28871:38;::::0;::::1;4870:74:1::0;28852:16:0::1;::::0;-1:-1:-1;;;;;28871:13:0::1;::::0;:23:::1;::::0;4843:18:1;;28871:38:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28852:57:::0;-1:-1:-1;28917:12:0;;28914:55:::1;;28930:13;::::0;28953:5:::1;::::0;28930:39:::1;::::0;;;;-1:-1:-1;;;;;28953:5:0;;::::1;28930:39;::::0;::::1;8845:74:1::0;8935:18;;;8928:34;;;28930:13:0;::::1;::::0;:22:::1;::::0;8818:18:1;;28930:39:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;26468:1015::-:0;13893:16;;-1:-1:-1;;;;;13893:16:0;13913:10;13893:30;;:53;;-1:-1:-1;13927:5:0;;-1:-1:-1;;;;;13927:5:0;13936:10;13927:19;13893:53;13885:89;;;;-1:-1:-1;;;;;13885:89:0;;;;;;;:::i;:::-;14053:15:::1;::::0;;-1:-1:-1;;14074:23:0;::::1;::::0;;;26562:14:::2;::::0;14053:15:::1;::::0;;::::1;::::0;26562:19;;:42:::2;;-1:-1:-1::0;26585:19:0;;26562:42:::2;26559:70;;;26605:24;::::0;-1:-1:-1;;;;;26605:24:0;;15453:2:1;26605:24:0::2;::::0;::::2;15435:21:1::0;15492:2;15472:18;;;15465:30;15531:16;15511:18;;;15504:44;15565:18;;26605:24:0::2;15251:338:1::0;26559:70:0::2;26658:10;26638:17;26693:18;26710:1;26693:14:::0;:18:::2;:::i;:::-;26673:38;;26716:26;26745:20;26755:9;26745;:20::i;:::-;26800:16;::::0;;26814:1:::2;26800:16:::0;;;;;::::2;::::0;;26716:49;;-1:-1:-1;26776:21:0::2;::::0;26800:16;;::::2;::::0;::::2;::::0;;::::2;::::0;::::2;-1:-1:-1::0;;26831:15:0::2;::::0;:22:::2;::::0;;;;;;;26776:40;;-1:-1:-1;;;;;;26831:15:0;;::::2;::::0;:20:::2;::::0;-1:-1:-1;26831:22:0::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;:15;:22:::2;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;26821:4;26826:1;26821:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1::0;;;;;26821:32:0::2;;;-1:-1:-1::0;;;;;26821:32:0::2;;;::::0;::::2;26876:4;26858;26863:1;26858:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;26858:23:0;;::::2;:7;::::0;;::::2;::::0;;;;;:23;26890:15:::2;::::0;::::2;:66;26972:9:::0;26890:15:::2;27003:4:::0;27014:9;27030:23:::2;:15;27049:3;27030:23;:::i;:::-;26890:168;;;;;-1:-1:-1::0;;;26890:168:0::2;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;27067:25;27118:18;27095:20;27105:9;27095;:20::i;:::-;:41;;;;:::i;:::-;27067:69;;27141:17;27161:24;27179:4;27161:9;:24::i;:::-;27141:44;;27190:54;27200:9;27219:4;27226:17;27190:9;:54::i;:::-;27249:17;27296:9;27269:24;27287:4;27269:9;:24::i;:::-;:36;;;;:::i;:::-;27249:56;;27328:17;27315:9;:30;27312:64;;27346:30;::::0;-1:-1:-1;;;;;27346:30:0;;16779:2:1;27346:30:0::2;::::0;::::2;16761:21:1::0;16818:2;16798:18;;;16791:30;16857:22;16837:18;;;16830:50;16897:18;;27346:30:0::2;16577:344:1::0;27312:64:0::2;27385:57;27406:4;27413:17;27432:9;27385:12;:57::i;:::-;;27465:14;27447;;:32;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;14108:15:0::1;:40:::0;;-1:-1:-1;;14108:40:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;-1:-1:-1;;;;;;;;26468:1015:0:o;8411:380::-;-1:-1:-1;;;;;8547:19:0;;8539:68;;;;-1:-1:-1;;;;;8539:68:0;;17128:2:1;8539:68:0;;;17110:21:1;17167:2;17147:18;;;17140:30;17206:34;17186:18;;;17179:62;17277:6;17257:18;;;17250:34;17301:19;;8539:68:0;16926:400:1;8539:68:0;-1:-1:-1;;;;;8626:21:0;;8618:68;;;;-1:-1:-1;;;;;8618:68:0;;17533:2:1;8618:68:0;;;17515:21:1;17572:2;17552:18;;;17545:30;17611:34;17591:18;;;17584:62;17682:4;17662:18;;;17655:32;17704:19;;8618:68:0;17331:398:1;8618:68:0;-1:-1:-1;;;;;8699:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8751:32;;2024:25:1;;;8751:32:0;;1997:18:1;8751:32:0;;;;;;;8411:380;;;:::o;23167:611::-;23262:16;;23228:7;;23295:22;23310:6;23295:14;:22::i;:::-;23292:462;;;-1:-1:-1;23333:1:0;23292:462;;;23352:22;23367:6;23352:14;:22::i;:::-;23349:405;;;-1:-1:-1;23393:24:0;;23349:405;;;23450:1;23435:12;:16;:35;;;;;23469:1;23455:11;;:15;23435:35;:66;;;;;23490:11;;23474:12;:27;;23435:66;23432:322;;;-1:-1:-1;23517:24:0;;23432:322;;;-1:-1:-1;;;;;23592:25:0;;;;;;:17;:25;;;;;:41;23573:15;:60;;;;:132;;-1:-1:-1;;;;;;23663:25:0;;;;;;:17;:25;;;;;:42;;;23644:15;:61;;23573:132;23562:192;;;-1:-1:-1;23721:25:0;;23769:3;23167:611;-1:-1:-1;;23167:611:0:o;8799:453::-;-1:-1:-1;;;;;7150:18:0;;;8934:24;7150:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;9001:37:0;;8997:248;;9083:6;9063:16;:26;;9055:68;;;;-1:-1:-1;;;;;9055:68:0;;17936:2:1;9055:68:0;;;17918:21:1;17975:2;17955:18;;;17948:30;18014:31;17994:18;;;17987:59;18063:18;;9055:68:0;17734:353:1;9055:68:0;9167:51;9176:5;9183:7;9211:6;9192:16;:25;9167:8;:51::i;:::-;8923:329;8799:453;;;:::o;7549:570::-;-1:-1:-1;;;;;7680:18:0;;7672:68;;;;-1:-1:-1;;;;;7672:68:0;;18294:2:1;7672:68:0;;;18276:21:1;18333:2;18313:18;;;18306:30;18372:34;18352:18;;;18345:62;18443:7;18423:18;;;18416:35;18468:19;;7672:68:0;18092:401:1;7672:68:0;-1:-1:-1;;;;;7759:16:0;;7751:64;;;;-1:-1:-1;;;;;7751:64:0;;18700:2:1;7751:64:0;;;18682:21:1;18739:2;18719:18;;;18712:30;18778:34;18758:18;;;18751:62;18849:5;18829:18;;;18822:33;18872:19;;7751:64:0;18498:399:1;7751:64:0;-1:-1:-1;;;;;7850:15:0;;7828:19;7850:15;;;;;;;;;;;7884:21;;;;7876:72;;;;-1:-1:-1;;;;;7876:72:0;;19104:2:1;7876:72:0;;;19086:21:1;19143:2;19123:18;;;19116:30;19182:34;19162:18;;;19155:62;19253:8;19233:18;;;19226:36;19279:19;;7876:72:0;18902:402:1;7876:72:0;-1:-1:-1;;;;;7984:15:0;;;:9;:15;;;;;;;;;;;8002:20;;;7984:38;;8044:13;;;;;;;;:23;;8016:6;;7984:9;8044:23;;8016:6;;8044:23;:::i;:::-;;;;;;;;8100:2;-1:-1:-1;;;;;8085:26:0;8094:4;-1:-1:-1;;;;;8085:26:0;;8104:6;8085:26;;;;2024:25:1;;2012:2;1997:18;;1878:177;8085:26:0;;;;;;;;7661:458;7549:570;;;:::o;19034:393::-;19094:7;19108:14;19125:15;19135:4;19125:9;:15::i;:::-;19108:32;;19153:9;19149:167;19168:7;:14;19166:16;;19149:167;;;19212:4;-1:-1:-1;;;;;19198:18:0;:7;19206:1;19198:10;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;19198:10:0;:18;:33;;;;-1:-1:-1;19220:11:0;;19198:33;:61;;;;19257:1;-1:-1:-1;;;;;19235:24:0;:7;19243:1;19235:10;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;19235:10:0;:24;19198:61;19195:116;;;19276:7;19284:1;19276:10;;;;;;;;:::i;:::-;;;;;;;;;;19269:17;;-1:-1:-1;;;;;;19269:17:0;;;-1:-1:-1;19302:1:0;;19034:393;-1:-1:-1;;;19034:393:0:o;19195:116::-;19184:3;;;;:::i;:::-;;;;19149:167;;;-1:-1:-1;;;;;;19327:18:0;;;;;;:32;;;19358:1;19349:6;:10;19327:32;19324:83;;;-1:-1:-1;;19367:7:0;:18;;;;;;;;-1:-1:-1;19367:18:0;;;;;;;;-1:-1:-1;;;;;;19367:18:0;-1:-1:-1;;;;;19367:18:0;;;;;;;;;;;;19034:393::o;24228:429::-;24326:16;;;24340:1;24326:16;;;;;;;;24302:21;;24326:16;;;;;;;;;;-1:-1:-1;24326:16:0;24302:40;;24367:4;24349;24354:1;24349:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;24349:23:0;;;:7;;;;;;;;;;:23;;;;24389:15;;:22;;;;;;;;:15;;;;;:20;;:22;;;;;24349:7;;24389:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24379:4;24384:1;24379:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;24379:32:0;;;:7;;;;;;;;;:32;24452:15;;24420:62;;24437:4;;24452:15;24470:11;24420:8;:62::i;:::-;24491:15;;-1:-1:-1;;;;;24491:15:0;:66;24566:11;24491:15;24598:4;24612:2;24623:21;:15;24641:3;24623:21;:::i;:::-;24491:160;;;;;-1:-1:-1;;;24491:160:0;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24295:362;24228:429;;:::o;25537:509::-;14053:15;;;-1:-1:-1;;14074:23:0;;;;;25673:10:::1;::::0;25650:8:::1;:19:::0;14053:15;;;;;14023:27;;25673:10;25637:32:::1;::::0;:10;:32:::1;:::i;:::-;25636:47;;;;:::i;:::-;25619:64;;25700:9;25696:345;25717:16;:23:::0;25713:27;::::1;25696:345;;;25755:10;25768:16;25785:1;25768:19;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;::::1;::::0;25847:10:::1;::::0;-1:-1:-1;;;;;25768:19:0;;::::1;25826:16:::0;;;:12:::1;:16:::0;;;;;;;25768:19;;-1:-1:-1;25847:10:0;25817:25:::1;::::0;:6;:25:::1;:::i;:::-;25816:42;;;;:::i;:::-;25796:62:::0;-1:-1:-1;25870:13:0;;25867:145:::1;;25896:9;25918:2;-1:-1:-1::0;;;;;25910:16:0::1;25934:9;25910:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;25895:53:0;;-1:-1:-1;;25962:13:0;25959:43:::1;;25976:26;::::0;-1:-1:-1;;;;;25976:26:0;;20121:2:1;25976:26:0::1;::::0;::::1;20103:21:1::0;20160:2;20140:18;;;20133:30;20199:18;20179;;;20172:46;20235:18;;25976:26:0::1;19919:340:1::0;25959:43:0::1;25884:128;25867:145;-1:-1:-1::0;25742:3:0;;-1:-1:-1;25742:3:0::1;::::0;::::1;:::i;:::-;;;;25696:345;;;-1:-1:-1::0;;14108:15:0;:40;;-1:-1:-1;;14108:40:0;;;;;;;;;;-1:-1:-1;25537:509:0:o;26054:408::-;14053:15;;;-1:-1:-1;;14074:23:0;;;;;26220:10:::1;::::0;26163:4;;14053:15;;;26163:4;;26197:19:::1;26210:6:::0;26197:10;:19:::1;:::i;:::-;26196:34;;;;:::i;:::-;26176:54:::0;-1:-1:-1;26242:13:0;;26239:218:::1;;26266:9;26288:2;-1:-1:-1::0;;;;;26280:16:0::1;26304:9;26280:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;26265:53:0;;-1:-1:-1;;26330:13:0;26327:47:::1;;26344:30;::::0;-1:-1:-1;;;;;26344:30:0;;20466:2:1;26344:30:0::1;::::0;::::1;20448:21:1::0;20505:2;20485:18;;;20478:30;20544:22;20524:18;;;20517:50;20584:18;;26344:30:0::1;20264:344:1::0;26327:47:0::1;-1:-1:-1::0;26412:4:0::1;::::0;-1:-1:-1;26405:11:0::1;::::0;-1:-1:-1;26405:11:0::1;26239:218;26444:5;26437:12;;;14102:1;14108:15:::0;:40;;-1:-1:-1;;14108:40:0;;;;;;;;;;26054:408;;-1:-1:-1;;;26054:408:0:o;16844:312::-;16896:4;;;16940:118;16961:16;:23;16957:27;;16940:118;;;17017:12;:33;17030:16;17047:1;17030:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;17030:19:0;17017:33;;;;;;;;;;;;;17001:49;;;;:::i;:::-;;-1:-1:-1;16986:3:0;;;;:::i;:::-;;;;16940:118;;;;17093:10;;17076:12;17075:28;17072:62;;17122:4;17115:11;;;16844:312;:::o;17072:62::-;17147:5;17140:12;;;16844:312;:::o;23786:434::-;23924:15;;23876:7;;23892:62;;23909:4;;-1:-1:-1;;;;;23924:15:0;23942:11;23892:8;:62::i;:::-;24015:15;;23988:17;;-1:-1:-1;;;;;24015:15:0;:31;24054:9;24083:4;24100:11;23988:17;;24148:2;24162:21;:15;24180:3;24162:21;:::i;:::-;24015:176;;;;;-1:-1:-1;;;24015:176:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23961:230;23786:434;-1:-1:-1;;;;;;;23786:434:0:o;27583:643::-;27640:13;;:38;;;;;27672:4;27640:38;;;4870:74:1;27622:15:0;;-1:-1:-1;;;;;27640:13:0;;:23;;4843:18:1;;27640:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27706:13;;27736:12;;27706:53;;;;;-1:-1:-1;;;;;27736:12:0;;;27706:53;;;8845:74:1;8935:18;;;8928:34;;;27622:56:0;;-1:-1:-1;27683:20:0;;27706:13;;;:21;;8818:18:1;;27706:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27683:76;-1:-1:-1;27789:4:0;27770:23;;;;27767:456;;;27821:12;;27855:13;;27821:49;;;;;-1:-1:-1;;;;;27855:13:0;;;27821:49;;;4870:74:1;27801:17:0;;27821:12;;;;;:25;;4843:18:1;;27821:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27801:69;;27885:15;27924;27903:18;;:36;;;;:::i;:::-;27946:23;:33;;;28012:12;;28061:13;;28012:104;;;;;-1:-1:-1;;;;;28061:13:0;;;28012:104;;;21238:34:1;28085:4:0;21288:18:1;;;21281:43;21340:18;;;21333:34;;;21383:18;;;21376:34;;;27986:23:0;21426:19:1;;;21419:51;;;27946:33:0;;-1:-1:-1;28012:12:0;;;:22;;28042:9;;21149:19:1;;28012:104:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28125:9;:31;;;;;;;-1:-1:-1;28125:31:0;;;;;;;-1:-1:-1;27767:456:0;;-1:-1:-1;;27767:456:0;;28176:41;;-1:-1:-1;;;;;28176:41:0;;21683:2:1;28176:41:0;;;21665:21:1;21722:2;21702:18;;;21695:30;21761:33;21741:18;;;21734:61;21812:18;;28176:41:0;21481:355:1;22753:404:0;22847:15;;22813:7;;22875:22;22890:6;22875:14;:22::i;:::-;22872:261;;;-1:-1:-1;22913:1:0;22872:261;;;22932:22;22947:6;22932:14;:22::i;:::-;22929:204;;;-1:-1:-1;22973:23:0;;22929:204;;;23035:1;23020:12;:16;:35;;;;;23054:1;23040:11;;:15;23020:35;:66;;;;;23075:11;;23059:12;:27;;23020:66;23017:116;;;-1:-1:-1;23102:23:0;;23148:3;22753:404;-1:-1:-1;;22753:404:0:o;22483:260::-;22567:4;22605:10;;22587:15;22597:4;22587:9;:15::i;:::-;:28;:59;;;;;22619:20;22634:4;22619:14;:20::i;:::-;:27;22587:59;22586:119;;;;22667:6;;22658;:15;:46;;;;;22677:20;22692:4;22677:14;:20::i;:::-;:27;22658:46;22583:135;;;-1:-1:-1;22714:4:0;22707:11;;353:597:1;465:4;494:2;523;512:9;505:21;555:6;549:13;598:6;593:2;582:9;578:18;571:34;623:1;633:140;647:6;644:1;641:13;633:140;;;742:14;;;738:23;;732:30;708:17;;;727:2;704:26;697:66;662:10;;633:140;;;791:6;788:1;785:13;782:91;;;861:1;856:2;847:6;836:9;832:22;828:31;821:42;782:91;-1:-1:-1;934:2:1;913:15;-1:-1:-1;;909:29:1;894:45;;;;941:2;890:54;;353:597;-1:-1:-1;;;353:597:1:o;955:154::-;-1:-1:-1;;;;;1034:5:1;1030:54;1023:5;1020:65;1010:93;;1099:1;1096;1089:12;1114:315;1182:6;1190;1243:2;1231:9;1222:7;1218:23;1214:32;1211:52;;;1259:1;1256;1249:12;1211:52;1298:9;1285:23;1317:31;1342:5;1317:31;:::i;:::-;1367:5;1419:2;1404:18;;;;1391:32;;-1:-1:-1;;;1114:315:1:o;1626:247::-;1685:6;1738:2;1726:9;1717:7;1713:23;1709:32;1706:52;;;1754:1;1751;1744:12;1706:52;1793:9;1780:23;1812:31;1837:5;1812:31;:::i;2060:484::-;2113:3;2151:5;2145:12;2178:6;2173:3;2166:19;2204:4;2233:2;2228:3;2224:12;2217:19;;2270:2;2263:5;2259:14;2291:1;2301:218;2315:6;2312:1;2309:13;2301:218;;;2380:13;;-1:-1:-1;;;;;2376:62:1;2364:75;;2459:12;;;;2494:15;;;;2337:1;2330:9;2301:218;;;-1:-1:-1;2535:3:1;;2060:484;-1:-1:-1;;;;;2060:484:1:o;2549:261::-;2728:2;2717:9;2710:21;2691:4;2748:56;2800:2;2789:9;2785:18;2777:6;2748:56;:::i;3499:456::-;3576:6;3584;3592;3645:2;3633:9;3624:7;3620:23;3616:32;3613:52;;;3661:1;3658;3651:12;3613:52;3700:9;3687:23;3719:31;3744:5;3719:31;:::i;:::-;3769:5;-1:-1:-1;3826:2:1;3811:18;;3798:32;3839:33;3798:32;3839:33;:::i;:::-;3499:456;;3891:7;;-1:-1:-1;;;3945:2:1;3930:18;;;;3917:32;;3499:456::o;3960:180::-;4019:6;4072:2;4060:9;4051:7;4047:23;4043:32;4040:52;;;4088:1;4085;4078:12;4040:52;-1:-1:-1;4111:23:1;;3960:180;-1:-1:-1;3960:180:1:o;4145:385::-;4231:6;4239;4247;4255;4308:3;4296:9;4287:7;4283:23;4279:33;4276:53;;;4325:1;4322;4315:12;4276:53;-1:-1:-1;;4348:23:1;;;4418:2;4403:18;;4390:32;;-1:-1:-1;4469:2:1;4454:18;;4441:32;;4520:2;4505:18;4492:32;;-1:-1:-1;4145:385:1;-1:-1:-1;4145:385:1:o;5199:248::-;5267:6;5275;5328:2;5316:9;5307:7;5303:23;5299:32;5296:52;;;5344:1;5341;5334:12;5296:52;-1:-1:-1;;5367:23:1;;;5437:2;5422:18;;;5409:32;;-1:-1:-1;5199:248:1:o;5452:118::-;5538:5;5531:13;5524:21;5517:5;5514:32;5504:60;;5560:1;5557;5550:12;5575:309;5640:6;5648;5701:2;5689:9;5680:7;5676:23;5672:32;5669:52;;;5717:1;5714;5707:12;5669:52;5756:9;5743:23;5775:28;5797:5;5775:28;:::i;6152:632::-;6323:2;6375:21;;;6445:13;;6348:18;;;6467:22;;;6294:4;;6323:2;6546:15;;;;6520:2;6505:18;;;6294:4;6589:169;6603:6;6600:1;6597:13;6589:169;;;6664:13;;6652:26;;6733:15;;;;6698:12;;;;6625:1;6618:9;6589:169;;;-1:-1:-1;6775:3:1;;6152:632;-1:-1:-1;;;;;;6152:632:1:o;6789:388::-;6857:6;6865;6918:2;6906:9;6897:7;6893:23;6889:32;6886:52;;;6934:1;6931;6924:12;6886:52;6973:9;6960:23;6992:31;7017:5;6992:31;:::i;:::-;7042:5;-1:-1:-1;7099:2:1;7084:18;;7071:32;7112:33;7071:32;7112:33;:::i;:::-;7164:7;7154:17;;;6789:388;;;;;:::o;7182:437::-;7267:1;7257:12;;7314:1;7304:12;;;7325:61;;7379:4;7371:6;7367:17;7357:27;;7325:61;7432:2;7424:6;7421:14;7401:18;7398:38;7395:218;;;-1:-1:-1;;;;;7466:1:1;7459:88;7570:4;7567:1;7560:15;7598:4;7595:1;7588:15;7395:218;;7182:437;;;:::o;7624:184::-;-1:-1:-1;;;;;7673:1:1;7666:88;7773:4;7770:1;7763:15;7797:4;7794:1;7787:15;7813:184;-1:-1:-1;;;;;7862:1:1;7855:88;7962:4;7959:1;7952:15;7986:4;7983:1;7976:15;8002:135;8041:3;-1:-1:-1;;8062:17:1;;8059:43;;;8082:18;;:::i;:::-;-1:-1:-1;8129:1:1;8118:13;;8002:135::o;8142:335::-;8344:2;8326:21;;;8383:2;8363:18;;;8356:30;8422:13;8417:2;8402:18;;8395:41;8468:2;8453:18;;8142:335::o;8482:184::-;8552:6;8605:2;8593:9;8584:7;8580:23;8576:32;8573:52;;;8621:1;8618;8611:12;8573:52;-1:-1:-1;8644:16:1;;8482:184;-1:-1:-1;8482:184:1:o;8973:245::-;9040:6;9093:2;9081:9;9072:7;9068:23;9064:32;9061:52;;;9109:1;9106;9099:12;9061:52;9141:9;9135:16;9160:28;9182:5;9160:28;:::i;9223:128::-;9263:3;9294:1;9290:6;9287:1;9284:13;9281:39;;;9300:18;;:::i;:::-;-1:-1:-1;9336:9:1;;9223:128::o;9356:630::-;-1:-1:-1;;;;;9738:15:1;;;9720:34;;9785:2;9770:18;;9763:34;;;;9828:2;9813:18;;9806:34;;;;9871:2;9856:18;;9849:34;;;;9920:15;;;9914:3;9899:19;;9892:44;9967:3;9952:19;;9945:35;;;;9646:3;9631:19;;9356:630::o;10326:168::-;10366:7;10432:1;10428;10424:6;10420:14;10417:1;10414:21;10409:1;10402:9;10395:17;10391:45;10388:71;;;10439:18;;:::i;:::-;-1:-1:-1;10479:9:1;;10326:168::o;10499:274::-;10539:1;10565;10555:189;;-1:-1:-1;;;;;10597:1:1;10590:88;10701:4;10698:1;10691:15;10729:4;10726:1;10719:15;10555:189;-1:-1:-1;10758:9:1;;10499:274::o;10778:125::-;10818:4;10846:1;10843;10840:8;10837:34;;;10851:18;;:::i;:::-;-1:-1:-1;10888:9:1;;10778:125::o;11266:347::-;11468:2;11450:21;;;11507:2;11487:18;;;11480:30;11546:25;11541:2;11526:18;;11519:53;11604:2;11589:18;;11266:347::o;12316:397::-;12518:2;12500:21;;;12557:2;12537:18;;;12530:30;12596:34;12591:2;12576:18;;12569:62;12667:3;12662:2;12647:18;;12640:31;12703:3;12688:19;;12316:397::o;14227:1019::-;14360:6;14368;14376;14384;14392;14400;14408;14416;14424;14477:3;14465:9;14456:7;14452:23;14448:33;14445:53;;;14494:1;14491;14484:12;14445:53;14526:9;14520:16;14545:31;14570:5;14545:31;:::i;:::-;14645:2;14630:18;;14624:25;14595:5;;-1:-1:-1;14658:33:1;14624:25;14658:33;:::i;:::-;14710:7;14700:17;;;14757:2;14746:9;14742:18;14736:25;14726:35;;14801:2;14790:9;14786:18;14780:25;14770:35;;14850:3;14839:9;14835:19;14829:26;14864:30;14886:7;14864:30;:::i;:::-;14960:3;14945:19;;14939:26;15010:3;14995:19;;14989:26;14913:7;;-1:-1:-1;14939:26:1;-1:-1:-1;15024:30:1;14989:26;15024:30;:::i;:::-;15120:3;15105:19;;15099:26;15170:3;15155:19;;15149:26;15073:7;;-1:-1:-1;15099:26:1;-1:-1:-1;15184:30:1;15149:26;15184:30;:::i;:::-;15233:7;15223:17;;;14227:1019;;;;;;;;;;;:::o;15783:251::-;15853:6;15906:2;15894:9;15885:7;15881:23;15877:32;15874:52;;;15922:1;15919;15912:12;15874:52;15954:9;15948:16;15973:31;15998:5;15973:31;:::i;16039:533::-;16310:6;16299:9;16292:25;16353:3;16348:2;16337:9;16333:18;16326:31;16273:4;16374:57;16426:3;16415:9;16411:19;16403:6;16374:57;:::i;:::-;-1:-1:-1;;;;;16467:55:1;;;;16462:2;16447:18;;16440:83;-1:-1:-1;16554:2:1;16539:18;16532:34;16366:65;16039:533;-1:-1:-1;;16039:533:1:o;19309:605::-;19608:6;19597:9;19590:25;19651:6;19646:2;19635:9;19631:18;19624:34;19694:3;19689:2;19678:9;19674:18;19667:31;19571:4;19715:57;19767:3;19756:9;19752:19;19744:6;19715:57;:::i;:::-;-1:-1:-1;;;;;19808:55:1;;;;19803:2;19788:18;;19781:83;-1:-1:-1;19895:3:1;19880:19;19873:35;19707:65;19309:605;-1:-1:-1;;;19309:605:1:o;20613:306::-;20701:6;20709;20717;20770:2;20758:9;20749:7;20745:23;20741:32;20738:52;;;20786:1;20783;20776:12;20738:52;20815:9;20809:16;20799:26;;20865:2;20854:9;20850:18;20844:25;20834:35;;20909:2;20898:9;20894:18;20888:25;20878:35;;20613:306;;;;;:::o

Swarm Source

ipfs://34c0a8b3fb02e714fa3178e22080c81fbbc1c795ba109e81ea2e0018eddfe0be

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 identify and solve the most important problems we see in the crypto economy using ZeMind. Every member of the hivemind that manages to conceptualize an idea that ends up on the roadmap is developed and starts generating revenue for the protocol, which will be rewarded gradually and consistently.

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.