Contract 0xc4758e432de36BC3F44f383FCF9A61D0Ce2a9e64

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x2baec18695acc728abdefddbb66688bfb9c16c5e49b3d214b2a3cdc747d5e26dWithdraw107348302021-09-08 12:06:3385 days 20 hrs ago0x63218c1c12a7a81e8748a7172baa922c8b20d0dd IN  0xc4758e432de36bc3f44f383fcf9a61d0ce2a9e640 BNB0.002304735
0xc988092363e0bccafca1374f862885045c8bb8f4e7a66015055f8da27d0cf56fWithdraw104153882021-08-28 6:54:0497 days 1 hr ago0xf1b0e78a2bc422df50ec9ee4c324895c9b79f80a IN  0xc4758e432de36bc3f44f383fcf9a61d0ce2a9e640 BNB0.00369835
0x2719137f5f5e3a6ab6fb0e222b06741d988cb09ce3307df78ad8b807ee93f24dDeposit102738302021-08-23 7:32:57102 days 40 mins ago0x63218c1c12a7a81e8748a7172baa922c8b20d0dd IN  0xc4758e432de36bc3f44f383fcf9a61d0ce2a9e640 BNB0.00208504
0x21259146998fdb72a3821f26ff88103b847efda3f9365328f6125294915170ffWithdraw102732332021-08-23 7:03:02102 days 1 hr ago0x63218c1c12a7a81e8748a7172baa922c8b20d0dd IN  0xc4758e432de36bc3f44f383fcf9a61d0ce2a9e640 BNB0.00214936
0x3ef30f108712840dd65b33572f262624df5567b1260142c603f02ed2599d5637Harvest95244712021-07-27 15:12:00128 days 17 hrs agoTuringMachine Token: Deployer IN  0xc4758e432de36bc3f44f383fcf9a61d0ce2a9e640 BNB0.001806893
0xb73b242a930b7ce77ac66fc74c9a8aa58bbab61b0577c438ccb93261117b19c6Harvest93593372021-07-21 19:37:49134 days 12 hrs ago0x63218c1c12a7a81e8748a7172baa922c8b20d0dd IN  0xc4758e432de36bc3f44f383fcf9a61d0ce2a9e640 BNB0.00173863
0x3ed2b52a871f25e3d5329894116e344f0d731cfc024fd03475ddf86fc1fdb211Harvest89125482021-07-06 7:04:05150 days 1 hr agoTuringMachine Token: Deployer IN  0xc4758e432de36bc3f44f383fcf9a61d0ce2a9e640 BNB0.00164263
0xe5783d59b23fe99601ef07e482cde2185eaa6916236388e3f68b1deb0f0eb49cHarvest87424072021-06-30 7:58:04156 days 15 mins ago0x63218c1c12a7a81e8748a7172baa922c8b20d0dd IN  0xc4758e432de36bc3f44f383fcf9a61d0ce2a9e640 BNB0.00166363
0xb6f91fd6ab17a92efb957d9141c06df470ac7499d41d5ac77ddf081ce5cc6c08Harvest85943202021-06-25 3:57:19161 days 4 hrs agoTuringMachine Token: Deployer IN  0xc4758e432de36bc3f44f383fcf9a61d0ce2a9e640 BNB0.00172619
0x96523c59f1b890907c26985a23f8dd62562cda92f2bd257e9e36e34dc9907331Withdraw85189622021-06-22 12:53:41163 days 19 hrs ago0xd03100340e5a74421b0ca7ea8c5ad65fc675c8fe IN  0xc4758e432de36bc3f44f383fcf9a61d0ce2a9e640 BNB0.001937885
0x1feebf820e66729f9fcfc16ddf4e83b0e50c6e08feb5ec7a2d3832384240c884Withdraw85185062021-06-22 12:29:40163 days 19 hrs ago0xab5e4bb07db39ee658dde5bef67e479e65def3bd IN  0xc4758e432de36bc3f44f383fcf9a61d0ce2a9e640 BNB0.001661055
0xc02978128148b135b63e29ad529fb953680afba201cd9ae21a31e7d07c21fd2dHarvest85088162021-06-22 4:22:52164 days 3 hrs agoTuringMachine Token: Deployer IN  0xc4758e432de36bc3f44f383fcf9a61d0ce2a9e640 BNB0.00164263
0x889bec0fd174c07d0893490e4c0f10b0c34f391d2ccd831be1d32e04bdfb22b9Deposit84966872021-06-21 18:12:35164 days 14 hrs ago0xd03100340e5a74421b0ca7ea8c5ad65fc675c8fe IN  0xc4758e432de36bc3f44f383fcf9a61d0ce2a9e640 BNB0.00216872
0x550e898a1f2813de20196712ce2a8de8d206a48fdfdc1592ff6dfc9d5c6e87fbWithdraw84537902021-06-20 6:24:35166 days 1 hr ago0xd03100340e5a74421b0ca7ea8c5ad65fc675c8fe IN  0xc4758e432de36bc3f44f383fcf9a61d0ce2a9e640 BNB0.002163235
0x9d32d1cfcf079913196fdc4fe4036e261c3f865a3063b0a51860d87aac9fe66bHarvest84509052021-06-20 4:00:01166 days 4 hrs ago0xab5e4bb07db39ee658dde5bef67e479e65def3bd IN  0xc4758e432de36bc3f44f383fcf9a61d0ce2a9e640 BNB0.00174719
0xaee682fd91400ccb85bab56859ee2579f59a3150ea9bb385a7cc8e5dfccdbe08Harvest84040982021-06-18 12:40:54167 days 19 hrs ago0xab5e4bb07db39ee658dde5bef67e479e65def3bd IN  0xc4758e432de36bc3f44f383fcf9a61d0ce2a9e640 BNB0.001733255
0x4548809381249b266555a1c83e43fa0b012d62514ec63e7329b4fcc35177abb1Withdraw83995942021-06-18 8:54:35167 days 23 hrs ago0x9ae3329ca194a863454096f0c3fe7e63e333356d IN  0xc4758e432de36bc3f44f383fcf9a61d0ce2a9e640 BNB0.001886525
0x8784ead35b7e6eae183cf34e9e9ebd0e1f9389d68460c7f4799fadc5df03593bHarvest83950582021-06-18 5:05:07168 days 3 hrs ago0x9ae3329ca194a863454096f0c3fe7e63e333356d IN  0xc4758e432de36bc3f44f383fcf9a61d0ce2a9e640 BNB0.00174719
0x17148ffba919ad535c20960fc09682d10a62fde4c92f13a9ede2c7642d0a2e07Harvest83804952021-06-17 16:50:24168 days 15 hrs ago0xd03100340e5a74421b0ca7ea8c5ad65fc675c8fe IN  0xc4758e432de36bc3f44f383fcf9a61d0ce2a9e640 BNB0.00166357
0x845057c389d702fbcf1659fe3908b7d31a7eff0ff05c89d02f7da76ebc119056Deposit83488872021-06-16 14:16:47169 days 17 hrs ago0xab5e4bb07db39ee658dde5bef67e479e65def3bd IN  0xc4758e432de36bc3f44f383fcf9a61d0ce2a9e640 BNB0.00204712
0x134e0fa3f49c001cef1b992fb60334bc1b0144e6d85b06fd56907e31357201fcDeposit83139162021-06-15 8:47:52170 days 23 hrs ago0x7bd36f70f9ae2a38ee7c546fb5aadd88b90b7294 IN  0xc4758e432de36bc3f44f383fcf9a61d0ce2a9e640 BNB0.00204712
0x01669e5390e444e80810d2dddf0ea504f015f3e9ca8fd9bd32b86276b473f6d1Harvest83119852021-06-15 7:08:59171 days 1 hr ago0x63218c1c12a7a81e8748a7172baa922c8b20d0dd IN  0xc4758e432de36bc3f44f383fcf9a61d0ce2a9e640 BNB0.00174719
0xe847360e0edc7aa8d52327f928e1c73b2c37ecab3e224c015321716caa65b828Harvest82539492021-06-13 6:11:05173 days 2 hrs ago0x63218c1c12a7a81e8748a7172baa922c8b20d0dd IN  0xc4758e432de36bc3f44f383fcf9a61d0ce2a9e640 BNB0.00174719
0x0f6d18993c53acc4ba308f2ccec4006fd7615d11b8430a301ea2066443168da3Harvest81425022021-06-09 8:55:08176 days 23 hrs ago0x63218c1c12a7a81e8748a7172baa922c8b20d0dd IN  0xc4758e432de36bc3f44f383fcf9a61d0ce2a9e640 BNB0.00182219
0xa7fc082227631ecf38f6401a3c9ba679c7414912055d03ddb63654fef35d0ed6Harvest80948412021-06-07 17:06:13178 days 15 hrs ago0x63218c1c12a7a81e8748a7172baa922c8b20d0dd IN  0xc4758e432de36bc3f44f383fcf9a61d0ce2a9e640 BNB0.00182219
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TuringFarmCakeBNBLP

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-04-26
*/

/**
 *Submitted for verification at BscScan.com on 2021-04-15
*/

// SPDX-License-Identifier: MIT
pragma solidity >=0.6.12;

interface IMiningMachine {
	function burn(address account, uint256 amount) external;
	function harvest(uint256 _pid, address _user) external returns(uint256 _pendingTur, uint256 _bonus);
    function updateUser(uint256 _pid, address _user) external returns(bool); 
    
	function getMiningSpeedOf(uint256 _pid) external view returns(uint256);
	function getTotalMintPerDayOf(uint256 _pid) external view returns(uint256);
	function getUserInfo(uint256 _pid, address _user) external view returns (uint256 _pendingTur, uint256 _rewardDebt, uint256 _userShare);
	function getTurAddr() external view returns(address); 
}
interface IPancakeSwapRouter {
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);

    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) 
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}
contract IPancakeMasterChef { 
    mapping (uint256 => mapping (address => UserInfo)) public userInfo;
    // Info of each user.
    struct UserInfo {
        uint256 amount;     // How many LP tokens the user has provided.
        uint256 rewardDebt; // Reward debt. See explanation below.
        //
        // We do some fancy math here. Basically, any point in time, the amount of CAKEs
        // entitled to a user but is pending to be distributed is:
        //
        //   pending reward = (user.amount * pool.accCakePerShare) - user.rewardDebt
        //
        // Whenever a user deposits or withdraws LP tokens to a pool. Here's what happens:
        //   1. The pool's `accCakePerShare` (and `lastRewardBlock`) gets updated.
        //   2. User receives the pending reward sent to his/her address.
        //   3. User's `amount` gets updated.
        //   4. User's `rewardDebt` gets updated.
    }

    // Deposit LP tokens to MasterChef for CAKE allocation.
    function deposit(uint256 _pid, uint256 _amount) external {}
    // Withdraw LP tokens from MasterChef.
    function withdraw(uint256 _pid, uint256 _amount) external {}
    // Stake CAKE tokens to MasterChef
    function enterStaking(uint256 _amount) external {}
    // Withdraw CAKE tokens from STAKING.
    function leaveStaking(uint256 _amount) external {}
    // Withdraw without caring about rewards. EMERGENCY ONLY.
    function emergencyWithdraw(uint256 _pid) external {}
    // View function to see pending CAKEs on frontend.
    function pendingCake(uint256 _pid, address _user) external view returns (uint256) {}
}
interface IBEP20 {
    function mint(address account, uint256 amount) external;
    function burn(address account, uint256 amount) external;
    /**
     * @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 `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, 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 `sender` to `recipient` 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 sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @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
    );
}
library SafeMath {
  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    require(c / a == b, 'INVALID_MUL');
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b > 0, 'INVALID_DIV'); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

  /**
  * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b <= a, 'INVALID_SUB');
    return a - b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    require(c >= a, 'INVALID_ADD');
    return c;
  }
}
abstract contract ReentrancyGuard {
    // Booleans are more expensive than uint256 or any type that takes up a full
    // word because each write operation emits an extra SLOAD to first read the
    // slot's contents, replace the bits taken up by the boolean, and then write
    // back. This is the compiler's defense against contract upgrades and
    // pointer aliasing, and it cannot be disabled.

    // The values being non-zero value makes deployment a bit more expensive,
    // but in exchange the refund on every call to nonReentrant will be lower in
    // amount. Since refunds are capped to a percentage of the total
    // transaction's gas, it is best to keep them low in cases like this one, to
    // increase the likelihood of the full refund coming into effect.
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;

    uint256 private _status;

    constructor() internal {
        _status = _NOT_ENTERED;
    }

    /**
     * @dev Prevents a contract from calling itself, directly or indirectly.
     * Calling a `nonReentrant` function from another `nonReentrant`
     * function is not supported. It is possible to prevent this from happening
     * by making the `nonReentrant` function external, and make it call a
     * `private` function that does the actual work.
     */
    modifier nonReentrant() {
        // On the first call to nonReentrant, _notEntered will be true
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");

        // Any calls to nonReentrant after this point will fail
        _status = _ENTERED;

        _;

        // By storing the original value once again, a refund is triggered (see
        // https://eips.ethereum.org/EIPS/eip-2200)
        _status = _NOT_ENTERED;
    }
}

contract TuringFarmCakeBNBLP is ReentrancyGuard {

    using SafeMath for uint256;
    uint256 public version = 100;
    address public owner;
    
    IBEP20 public CAKE; // 
    IBEP20 public want; // 
    IBEP20 public TURING; // TURING
    address public wbnb;
    address public busd;

    IPancakeMasterChef public pankaceMasterChef;
    IMiningMachine public miningMachine;
    IPancakeSwapRouter public pancakeSwap;

    uint256 public pidOfMining;
    uint256 public pidOfFarm;
    uint256 public totalShare = 0;
    uint256 public accWantPerShare = 0;
    uint256 public timeOfHarvest = 0;
    uint256 public periodOfDay = 1 days; //end lotery is 1 days;

    mapping(address => uint256) public shareOf;
    mapping(address => uint256) public rewardWantDebtOf;

    uint256 public rateOfPerformanceFee = 50; // 0.5 % on profit.
    uint256 public rateOfControllerFee = 10; // 0.1 % on profit.
    address public performanceMachine; // the contract will use fee to Buy tUR on pankace swap , then burn the turs token
    address public controllerMachine;

    mapping(bytes32 => TimeLock) public timeLockOf;

    uint public constant GRACE_PERIOD = 30 days;
    uint public constant MINIMUM_DELAY = 2 days;
    uint public constant MAXIMUM_DELAY = 30 days;
    uint public delay;

    struct TimeLock {
        bool queuedTransactions;
        uint256 timeOfExecute;
        mapping(bytes32 => address) addressOf;
        mapping(bytes32 => uint256) uintOf;
    }

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

    event onDeposit(address _user, uint256 _amount);
    event onWithdraw(address _user, uint256 _amount);

    event onQueuedTransactionsChangeAddress(string _functionName, string _fieldName, address _value);
    event onQueuedTransactionsChangeUint(string _functionName, string _fieldName, uint256 _value);
    event onCancelTransactions(string _functionName);

    constructor(
        IPancakeSwapRouter _pancakeSwap,
        IPancakeMasterChef _pancakeMasterChef,
        IBEP20 _want,
        IBEP20 _cake,
        IBEP20 _turing,
        address _wbnb,
        address _busd
        ) public {
        owner = msg.sender;
        pancakeSwap = _pancakeSwap;
        pankaceMasterChef = _pancakeMasterChef;
        want = _want;
        CAKE = _cake;
        TURING = _turing;
        wbnb = _wbnb;
        busd = _busd;
    }

    receive() external payable {
        
    }

    function setDelay(uint delay_) public onlyOwner {
        require(delay_ >= MINIMUM_DELAY, "Timelock::setDelay: Delay must exceed minimum delay.");
        require(delay_ <= MAXIMUM_DELAY, "Timelock::setDelay: Delay must not exceed maximum delay.");

        delay = delay_;
    }

    function approveConnectToPancake() public {
        want.approve(address(pankaceMasterChef), uint256(-1));
    }


    function cancelTransactions(string memory _functionName) public onlyOwner 
    {
        TimeLock storage _timelock = timeLockOf[keccak256(abi.encode(_functionName))];
        _timelock.queuedTransactions = false;
        emit onCancelTransactions(_functionName);
    }

    function queuedTransactionsChangeAddress(string memory _functionName, string memory _fieldName, address _newAddr) public onlyOwner 
    {
        TimeLock storage _timelock = timeLockOf[keccak256(abi.encode(_functionName))];
        _timelock.addressOf[keccak256(abi.encode(_fieldName))] = _newAddr;
        _timelock.queuedTransactions = true;
        _timelock.timeOfExecute = block.timestamp.add(delay);
        emit onQueuedTransactionsChangeAddress(_functionName, _fieldName, _newAddr);
    }

    function queuedTransactionsChangeUint(string memory _functionName, string memory _fieldName, uint256 _value) public onlyOwner 
    {
        TimeLock storage _timelock = timeLockOf[keccak256(abi.encode(_functionName))];
        _timelock.uintOf[keccak256(abi.encode(_fieldName))] = _value;
        _timelock.queuedTransactions = true;
        _timelock.timeOfExecute = block.timestamp.add(delay);
        emit onQueuedTransactionsChangeUint(_functionName, _fieldName, _value);
    }

    function transferOwnership() public onlyOwner 
    {
        TimeLock storage _timelock = timeLockOf[keccak256(abi.encode('transferOwnership'))];
        _validateTimelock(_timelock);
        require(_timelock.addressOf[keccak256(abi.encode('owner'))] != address(0), "INVALID_ADDRESS");

        owner = _timelock.addressOf[keccak256(abi.encode('owner'))];
        delete _timelock.addressOf[keccak256(abi.encode('owner'))];
        _timelock.queuedTransactions = false;
    }

    function setMiningMachine() public onlyOwner 
    {
        TimeLock storage _timelock = timeLockOf[keccak256(abi.encode('setMiningMachine'))];
        _validateTimelock(_timelock);
        require(_timelock.addressOf[keccak256(abi.encode('miningMachine'))] != address(0), "INVALID_ADDRESS");

        miningMachine = IMiningMachine(_timelock.addressOf[keccak256(abi.encode('miningMachine'))]);
        _timelock.queuedTransactions = false;
    }

    function setPerformanceMachine() public onlyOwner 
    {
        TimeLock storage _timelock = timeLockOf[keccak256(abi.encode('setPerformanceMachine'))];
        _validateTimelock(_timelock);
        require(_timelock.addressOf[keccak256(abi.encode('performanceMachine'))] != address(0), "INVALID_ADDRESS");

        performanceMachine = _timelock.addressOf[keccak256(abi.encode('performanceMachine'))];
        delete _timelock.addressOf[keccak256(abi.encode('performanceMachine'))];
        _timelock.queuedTransactions = false;
    }

    function setControllerMachine() public onlyOwner 
    {
        TimeLock storage _timelock = timeLockOf[keccak256(abi.encode('setControllerMachine'))];
        _validateTimelock(_timelock);
        require(_timelock.addressOf[keccak256(abi.encode('controllerMachine'))] != address(0), "INVALID_ADDRESS");

        controllerMachine = _timelock.addressOf[keccak256(abi.encode('controllerMachine'))];
        delete _timelock.addressOf[keccak256(abi.encode('controllerMachine'))];
        _timelock.queuedTransactions = false;
    }

    function setPancakeSwapContract() public onlyOwner {

        TimeLock storage _timelock = timeLockOf[keccak256(abi.encode('setPancakeSwapContract'))];

        _validateTimelock(_timelock);
        require(_timelock.addressOf[keccak256(abi.encode('pancakeSwap'))] != address(0), "INVALID_ADDRESS");

        pancakeSwap = IPancakeSwapRouter(_timelock.addressOf[keccak256(abi.encode('pancakeSwap'))]);
        delete _timelock.addressOf[keccak256(abi.encode('pancakeSwap'))];
        _timelock.queuedTransactions = false;
    }

    function setPancakeMasterChefContract() public onlyOwner {

        TimeLock storage _timelock = timeLockOf[keccak256(abi.encode('setPancakeMasterChefContract'))];

        _validateTimelock(_timelock);
        require(_timelock.addressOf[keccak256(abi.encode('pankaceMasterChef'))] != address(0), "INVALID_ADDRESS");

        pankaceMasterChef = IPancakeMasterChef(_timelock.addressOf[keccak256(abi.encode('pankaceMasterChef'))]);
        delete _timelock.addressOf[keccak256(abi.encode('pankaceMasterChef'))];
        _timelock.queuedTransactions = false;
    }
    
    function changeTokenAddress() public onlyOwner
    {
        TimeLock storage _timelock = timeLockOf[keccak256(abi.encode('changeTokenAddress'))];

        _validateTimelock(_timelock);
    
        if (_timelock.addressOf[keccak256(abi.encode('want'))] != address(0)) {
            want = IBEP20(_timelock.addressOf[keccak256(abi.encode('want'))]);
            delete _timelock.addressOf[keccak256(abi.encode('want'))];
        } 
        if (_timelock.addressOf[keccak256(abi.encode('TURING'))] != address(0)) {
            TURING = IBEP20(_timelock.addressOf[keccak256(abi.encode('TURING'))]);
            delete _timelock.addressOf[keccak256(abi.encode('TURING'))];
        } 
        if (_timelock.addressOf[keccak256(abi.encode('CAKE'))] != address(0)) {
            CAKE = IBEP20(_timelock.addressOf[keccak256(abi.encode('CAKE'))]);
            delete _timelock.addressOf[keccak256(abi.encode('CAKE'))];
        } 
        if (_timelock.addressOf[keccak256(abi.encode('wbnb'))] != address(0)) {
            wbnb = _timelock.addressOf[keccak256(abi.encode('wbnb'))];
            delete _timelock.addressOf[keccak256(abi.encode('wbnb'))];
        } 
        if (_timelock.addressOf[keccak256(abi.encode('busd'))] != address(0)) {
            busd = _timelock.addressOf[keccak256(abi.encode('busd'))];
            delete _timelock.addressOf[keccak256(abi.encode('busd'))];
        } 
        _timelock.queuedTransactions = false;
    }
    
    function setRateOfPerformanceFee() public onlyOwner 
    {
        TimeLock storage _timelock = timeLockOf[keccak256(abi.encode('setRateOfPerformanceFee'))];
        _validateTimelock(_timelock);
        require(_timelock.uintOf[keccak256(abi.encode('rateOfPerformanceFee'))] > 0, "INVALID_AMOUNT");

        rateOfPerformanceFee = _timelock.uintOf[keccak256(abi.encode('rateOfPerformanceFee'))];
        delete _timelock.uintOf[keccak256(abi.encode('rateOfPerformanceFee'))];
        _timelock.queuedTransactions = false;
    }

    function setRateOfControllerFee() public onlyOwner 
    {
        TimeLock storage _timelock = timeLockOf[keccak256(abi.encode('setRateOfControllerFee'))];
        _validateTimelock(_timelock);
        require(_timelock.uintOf[keccak256(abi.encode('rateOfControllerFee'))] > 0, "INVALID_AMOUNT");

        rateOfControllerFee = _timelock.uintOf[keccak256(abi.encode('rateOfControllerFee'))];
        delete _timelock.uintOf[keccak256(abi.encode('rateOfControllerFee'))];
        _timelock.queuedTransactions = false;
    }

    function setPidOfMining() public onlyOwner 
    {
        TimeLock storage _timelock = timeLockOf[keccak256(abi.encode('setPidOfMining'))];
        _validateTimelock(_timelock);
        require(_timelock.uintOf[keccak256(abi.encode('pidOfMining'))] > 0, "INVALID_AMOUNT");

        pidOfMining = _timelock.uintOf[keccak256(abi.encode('pidOfMining'))];
        delete _timelock.uintOf[keccak256(abi.encode('pidOfMining'))];
        _timelock.queuedTransactions = false;
    }

    function setPidOfFarm() public onlyOwner
    {
        TimeLock storage _timelock = timeLockOf[keccak256(abi.encode('setPidOfFarm'))];
        _validateTimelock(_timelock);
        require(_timelock.uintOf[keccak256(abi.encode('pidOfFarm'))] > 0, "INVALID_AMOUNT");

        pidOfFarm = _timelock.uintOf[keccak256(abi.encode('pidOfFarm'))];
        delete _timelock.uintOf[keccak256(abi.encode('pidOfFarm'))];
        _timelock.queuedTransactions = false;
    }

    function _validateTimelock(TimeLock memory _timelock) private view
    {
        require(_timelock.queuedTransactions == true, "Transaction hasn't been queued.");
        require(_timelock.timeOfExecute <= block.timestamp, "Transaction hasn't surpassed time lock.");
        require(_timelock.timeOfExecute.add(GRACE_PERIOD) >= block.timestamp, "Transaction is stale.");
    }

    function deposit(uint256 _wantAmt) external nonReentrant 
    {
        require(_wantAmt > 0, 'INVALID_INPUT');
        require(want.balanceOf(msg.sender) >= _wantAmt, 'INVALID_INPUT');

        harvest(msg.sender);
        want.transferFrom(msg.sender, address(this), _wantAmt);
        pankaceMasterChef.deposit(pidOfFarm, _wantAmt); 
        // update total principal
        shareOf[msg.sender] = shareOf[msg.sender].add(_wantAmt);
        totalShare = totalShare.add(_wantAmt);
        _updateUser(msg.sender);
        emit onDeposit(msg.sender, _wantAmt);

    }
    function withdraw(uint256 _wantAmt) external nonReentrant 
    {
        require(_wantAmt > 0, 'INVALID_INPUT');
        harvest(msg.sender);

        require(shareOf[msg.sender] >= _wantAmt, 'INVALID_AMOUNT_WITHDRAW');

        pankaceMasterChef.withdraw(pidOfFarm, _wantAmt);

        shareOf[msg.sender] = shareOf[msg.sender].sub(_wantAmt);
        totalShare = totalShare.sub(_wantAmt);

        uint256 _wantBal = want.balanceOf(address(this)); 
        if (_wantBal < _wantAmt) {
            _wantAmt = _wantBal;
        }
        want.transfer(msg.sender, _wantAmt);
        if (_wantBal > _wantAmt) {
            pankaceMasterChef.deposit(pidOfFarm, _wantBal.sub(_wantAmt));
        }  
        _updateUser(msg.sender);
        // 
        emit onWithdraw(msg.sender, _wantAmt);
    }

    function harvest(address _user) public {
        miningMachine.harvest(pidOfMining, _user);
        uint256 _reward = pankaceMasterChef.pendingCake(pidOfFarm, address(this));
        if (
            _reward > 0 &&
            totalShare > 0
            ) {
            pankaceMasterChef.withdraw(pidOfFarm, 0);
            uint256 _performanceFee = _reward.mul(rateOfPerformanceFee).div(10000);
            uint256 _controllerFee = _reward.mul(rateOfControllerFee).div(10000);
            CAKE.transfer(performanceMachine, _performanceFee);
            CAKE.transfer(controllerMachine, _controllerFee);
            _reward = _reward.sub(_performanceFee).sub(_controllerFee);
            accWantPerShare = accWantPerShare.add(_reward.mul(1e24).div(totalShare));
        }

        timeOfHarvest = block.timestamp;

        uint256 _userRewardDebt  = shareOf[_user].mul(accWantPerShare).div(1e24);

        if (_userRewardDebt > rewardWantDebtOf[_user]) {
            uint256 _userPendingCake = _userRewardDebt.sub(rewardWantDebtOf[_user]);
            uint256 _cakeBalance = CAKE.balanceOf(address(this));
            if (_userPendingCake > _cakeBalance) {
                _userPendingCake = _cakeBalance;
            }
            CAKE.transfer(_user, _userPendingCake);
        }

        rewardWantDebtOf[_user] = shareOf[_user].mul(accWantPerShare).div(1e24);
    }

    function _updateUser(address _user) private  
    {
        miningMachine.updateUser(pidOfMining, _user);
        rewardWantDebtOf[_user] = shareOf[_user].mul(accWantPerShare).div(1e24);
    }
    /**
    *
        data_[0] int256 miningSpeed_,
        data_[1] uint256 userWantBal_, 
        data_[2] uint256 turingPrice_, 
        data_[3] uint256 pendingCake_, 
        data_[4] uint256 totalMintPerDay_, 
        data_[5] uint256 totalWantRewardPerDay_, 
        data_[6] uint256 userBNBBal_, 
        data_[7] uint256 userTuringPending_, 
        data_[8] uint256 userWantShare_, 
        data_[9] uint256 tvl_
        data_[10] uint256 cakePrice_
    */
    function getData(
        address _user
    ) 
    public 
    view
    returns(
        uint256[11] memory data_
    ) {
        data_[2] = getTuringPrice();
        data_[10] = getCakePrice();
        data_[4] = miningMachine.getTotalMintPerDayOf(pidOfMining);
        data_[5] = getTotalRewardPerDay();

        data_[0] = miningMachine.getMiningSpeedOf(pidOfMining);
        data_[6] = address(_user).balance;
        (data_[7], , ) = miningMachine.getUserInfo(pidOfMining, _user);

        data_[1] = want.balanceOf(_user);

        data_[8] = shareOf[_user];
        data_[3] = pendingCakeOf(_user);

        (data_[9], ) = pankaceMasterChef.userInfo(pidOfFarm, address(this));
    } 

    function getTuringPrice() public view returns(uint256) {

        address[] memory path = new address[](3);

        path[0] = address(TURING);
        path[1] = wbnb;
        path[2] = busd;
        uint256 _price;
        try pancakeSwap.getAmountsOut(1e18, path) returns(uint[] memory amounts) {
            _price = amounts[2];
        } catch {
            _price = 0;   
        }
        return _price;
    }

    function getCakePrice() public view returns(uint256) {

        address[] memory path = new address[](3);

        path[0] = address(CAKE);
        path[1] = wbnb;
        path[2] = busd;
        uint256 _price;
        try pancakeSwap.getAmountsOut(1e18, path) returns(uint[] memory amounts) {
            _price = amounts[2];
        } catch {
            _price = 0;   
        }
        return _price;
    }

    function getTotalRewardPerDay() public view returns(uint256) {
        uint256 _reward = pankaceMasterChef.pendingCake(pidOfFarm, address(this));
        uint256 _rewardPerSec = 0;
        if (block.timestamp > timeOfHarvest) {
           _rewardPerSec = _reward.div(block.timestamp.sub(timeOfHarvest));     
        }
        return _rewardPerSec.mul(periodOfDay);
    }

    function pendingCakeOf(address _user) public view returns (uint256 _pendingCake) {

        uint256 _accWantPerShare  = accWantPerShare;
        uint256 _reward = pankaceMasterChef.pendingCake(pidOfFarm, address(this));
        if (
            _reward > 0 &&
            totalShare > 0
            ) {
            uint256 _performanceFee = _reward.mul(rateOfPerformanceFee).div(10000);
            uint256 _controllerFee  = _reward.mul(rateOfControllerFee).div(10000);
            _reward = _reward.sub(_performanceFee).sub(_controllerFee);
            _accWantPerShare = _accWantPerShare.add(_reward.mul(1e24).div(totalShare));
        }

        uint256 _rewardDebt  = shareOf[_user].mul(_accWantPerShare).div(1e24);

        if (_rewardDebt > rewardWantDebtOf[_user]) {
            _pendingCake = _rewardDebt.sub(rewardWantDebtOf[_user]);
        }
    }

    function getAddressChangeOnTimeLock(string memory _functionName, string memory _fieldName) public view returns(address) {
        return timeLockOf[keccak256(abi.encode(_functionName))].addressOf[keccak256(abi.encode(_fieldName))];
    }

    function getUintChangeOnTimeLock(string memory _functionName, string memory _fieldName) public view returns(uint256) {
        return timeLockOf[keccak256(abi.encode(_functionName))].uintOf[keccak256(abi.encode(_fieldName))];
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"contract IPancakeSwapRouter","name":"_pancakeSwap","type":"address"},{"internalType":"contract IPancakeMasterChef","name":"_pancakeMasterChef","type":"address"},{"internalType":"contract IBEP20","name":"_want","type":"address"},{"internalType":"contract IBEP20","name":"_cake","type":"address"},{"internalType":"contract IBEP20","name":"_turing","type":"address"},{"internalType":"address","name":"_wbnb","type":"address"},{"internalType":"address","name":"_busd","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"_functionName","type":"string"}],"name":"onCancelTransactions","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_user","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"onDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"_functionName","type":"string"},{"indexed":false,"internalType":"string","name":"_fieldName","type":"string"},{"indexed":false,"internalType":"address","name":"_value","type":"address"}],"name":"onQueuedTransactionsChangeAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"_functionName","type":"string"},{"indexed":false,"internalType":"string","name":"_fieldName","type":"string"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"onQueuedTransactionsChangeUint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_user","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"onWithdraw","type":"event"},{"inputs":[],"name":"CAKE","outputs":[{"internalType":"contract IBEP20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GRACE_PERIOD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAXIMUM_DELAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINIMUM_DELAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TURING","outputs":[{"internalType":"contract IBEP20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"accWantPerShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"approveConnectToPancake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"busd","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_functionName","type":"string"}],"name":"cancelTransactions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"changeTokenAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"controllerMachine","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"delay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_wantAmt","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_functionName","type":"string"},{"internalType":"string","name":"_fieldName","type":"string"}],"name":"getAddressChangeOnTimeLock","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCakePrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getData","outputs":[{"internalType":"uint256[11]","name":"data_","type":"uint256[11]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalRewardPerDay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTuringPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_functionName","type":"string"},{"internalType":"string","name":"_fieldName","type":"string"}],"name":"getUintChangeOnTimeLock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"harvest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"miningMachine","outputs":[{"internalType":"contract IMiningMachine","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pancakeSwap","outputs":[{"internalType":"contract IPancakeSwapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pankaceMasterChef","outputs":[{"internalType":"contract IPancakeMasterChef","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"pendingCakeOf","outputs":[{"internalType":"uint256","name":"_pendingCake","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"performanceMachine","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"periodOfDay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pidOfFarm","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pidOfMining","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_functionName","type":"string"},{"internalType":"string","name":"_fieldName","type":"string"},{"internalType":"address","name":"_newAddr","type":"address"}],"name":"queuedTransactionsChangeAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_functionName","type":"string"},{"internalType":"string","name":"_fieldName","type":"string"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"queuedTransactionsChangeUint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rateOfControllerFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rateOfPerformanceFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewardWantDebtOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"setControllerMachine","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"delay_","type":"uint256"}],"name":"setDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setMiningMachine","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setPancakeMasterChefContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setPancakeSwapContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setPerformanceMachine","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setPidOfFarm","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setPidOfMining","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setRateOfControllerFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setRateOfPerformanceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"shareOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"timeLockOf","outputs":[{"internalType":"bool","name":"queuedTransactions","type":"bool"},{"internalType":"uint256","name":"timeOfExecute","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"timeOfHarvest","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"want","outputs":[{"internalType":"contract IBEP20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"wbnb","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_wantAmt","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260646001556000600d556000600e556000600f55620151806010556032601355600a60145534801561003557600080fd5b5060405162004d0b38038062004d0b833981810160405260e081101561005a57600080fd5b508051602082015160408301516060840151608085015160a086015160c0909601516001600055600280546001600160a01b03199081163317909155600a80546001600160a01b0398891690831617905560088054968816968216969096179095556004805494871694861694909417909355600380549286169285169290921790915560058054918516918416919091179055600680549484169483169490941790935560078054929093169116179055614bef806200011c6000396000f3fe60806040526004361061031d5760003560e01c806383c58369116101ab578063bce645db116100f7578063dda86d7211610095578063e91dc7131161006f578063e91dc71314610d96578063f2dff42114610dab578063f47a396f14610dde578063feb87d1714610df357610324565b8063dda86d7214610d42578063e177246e14610d57578063e4598aa914610d8157610324565b8063c1a287e2116100d1578063c1a287e21461088b578063c850a95e14610d03578063d1b8a3b514610d18578063d77e795614610d2d57610324565b8063bce645db14610ba3578063bd0c5a9d14610bb8578063bf886c5c14610cee57610324565b80639312dc5f11610164578063a6425bae1161013e578063a6425bae14610b3a578063ae0638cb14610b4f578063b1b43ae514610b64578063b6b55f2514610b7957610324565b80639312dc5f146109ba57806396c8ee5c14610af25780639d65ccd514610b0757610324565b806383c58369146108a0578063880ad0af146108b55780638cac8f03146108ca5780638d72647e1461097b5780638da5cb5b146109905780638ecc676f146109a557610324565b8063375ba3781161026a5780635dd84ea7116102235780636edc28fd116101fd5780636edc28fd146106fb578063725968731461074057806372c3baa5146108765780637d645fab1461088b57610324565b80635dd84ea7146106bc5780636a42b8f8146106d15780636e9322b3146106e657610324565b8063375ba378146105e757806338266b22146105fc5780633ca5b234146106685780634ca6ef281461067d57806354fd4d501461069257806359aad470146106a757610324565b806316de220a116102d757806321e5e2c4116102b157806321e5e2c41461056057806324b9b13a146105935780632e1a7d4d146105a857806332009eda146105d257610324565b806316de220a146105215780631b99b1c1146105365780631f1fcd511461054b57610324565b80622b838314610329578063026c4207146103405780630e5c011e146103675780630e8c7a5b1461039a57806312518dc3146103af57806314ca81ed146103e057610324565b3661032457005b600080fd5b34801561033557600080fd5b5061033e610e08565b005b34801561034c57600080fd5b50610355610ff5565b60408051918252519081900360200190f35b34801561037357600080fd5b5061033e6004803603602081101561038a57600080fd5b50356001600160a01b0316610ffb565b3480156103a657600080fd5b50610355611506565b3480156103bb57600080fd5b506103c46115d3565b604080516001600160a01b039092168252519081900360200190f35b3480156103ec57600080fd5b5061033e6004803603606081101561040357600080fd5b810190602081018135600160201b81111561041d57600080fd5b82018360208201111561042f57600080fd5b803590602001918460018302840111600160201b8311171561045057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156104a257600080fd5b8201836020820111156104b457600080fd5b803590602001918460018302840111600160201b831117156104d557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550505090356001600160a01b031691506115e29050565b34801561052d57600080fd5b506103c46118c2565b34801561054257600080fd5b506103556118d1565b34801561055757600080fd5b506103c46118d7565b34801561056c57600080fd5b506103556004803603602081101561058357600080fd5b50356001600160a01b03166118e6565b34801561059f57600080fd5b506103556118f8565b3480156105b457600080fd5b5061033e600480360360208110156105cb57600080fd5b50356118fe565b3480156105de57600080fd5b5061033e611c8b565b3480156105f357600080fd5b506103c461227d565b34801561060857600080fd5b5061062f6004803603602081101561061f57600080fd5b50356001600160a01b031661228c565b604051808261016080838360005b8381101561065557818101518382015260200161063d565b5050505090500191505060405180910390f35b34801561067457600080fd5b506103c4612587565b34801561068957600080fd5b506103c4612596565b34801561069e57600080fd5b506103556125a5565b3480156106b357600080fd5b506103556125ab565b3480156106c857600080fd5b5061033e6127d7565b3480156106dd57600080fd5b50610355612a15565b3480156106f257600080fd5b5061033e612a1b565b34801561070757600080fd5b506107256004803603602081101561071e57600080fd5b5035612c53565b60408051921515835260208301919091528051918290030190f35b34801561074c57600080fd5b506103556004803603604081101561076357600080fd5b810190602081018135600160201b81111561077d57600080fd5b82018360208201111561078f57600080fd5b803590602001918460018302840111600160201b831117156107b057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561080257600080fd5b82018360208201111561081457600080fd5b803590602001918460018302840111600160201b8311171561083557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612c72945050505050565b34801561088257600080fd5b50610355612db5565b34801561089757600080fd5b50610355612dbb565b3480156108ac57600080fd5b50610355612dc2565b3480156108c157600080fd5b5061033e612dc8565b3480156108d657600080fd5b5061033e600480360360208110156108ed57600080fd5b810190602081018135600160201b81111561090757600080fd5b82018360208201111561091957600080fd5b803590602001918460018302840111600160201b8311171561093a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612fe1945050505050565b34801561098757600080fd5b506103c4613172565b34801561099c57600080fd5b506103c4613181565b3480156109b157600080fd5b5061033e613190565b3480156109c657600080fd5b5061033e600480360360608110156109dd57600080fd5b810190602081018135600160201b8111156109f757600080fd5b820183602082011115610a0957600080fd5b803590602001918460018302840111600160201b83111715610a2a57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115610a7c57600080fd5b820183602082011115610a8e57600080fd5b803590602001918460018302840111600160201b83111715610aaf57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250613378915050565b348015610afe57600080fd5b506103c461358b565b348015610b1357600080fd5b5061035560048036036020811015610b2a57600080fd5b50356001600160a01b031661359a565b348015610b4657600080fd5b5061033e6135ac565b348015610b5b57600080fd5b506103556137d7565b348015610b7057600080fd5b506103556137dd565b348015610b8557600080fd5b5061033e60048036036020811015610b9c57600080fd5b50356137e4565b348015610baf57600080fd5b506103c4613ac6565b348015610bc457600080fd5b506103c460048036036040811015610bdb57600080fd5b810190602081018135600160201b811115610bf557600080fd5b820183602082011115610c0757600080fd5b803590602001918460018302840111600160201b83111715610c2857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115610c7a57600080fd5b820183602082011115610c8c57600080fd5b803590602001918460018302840111600160201b83111715610cad57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550613ad5945050505050565b348015610cfa57600080fd5b5061033e613c1f565b348015610d0f57600080fd5b50610355613e33565b348015610d2457600080fd5b5061033e613e73565b348015610d3957600080fd5b5061033e614065565b348015610d4e57600080fd5b50610355614270565b348015610d6357600080fd5b5061033e60048036036020811015610d7a57600080fd5b5035614276565b348015610d8d57600080fd5b506103c461434c565b348015610da257600080fd5b5061033e61435b565b348015610db757600080fd5b5061035560048036036020811015610dce57600080fd5b50356001600160a01b0316614590565b348015610dea57600080fd5b50610355614737565b348015610dff57600080fd5b5061033e61473d565b6002546001600160a01b03163314610e55576040805162461bcd60e51b81526020600482015260126024820152600080516020614b9a833981519152604482015290519081900360640190fd5b604080516020808201819052600c828401526b7365745069644f664661726d60a01b6060808401919091528351808403909101815260808301808552815191830191909120600090815260179092529083902060c08301909352825460ff1615158152600183015460a090920191909152610ecf906147c5565b604080516020808201819052600982840152687069644f664661726d60b81b60608084019190915283518084039091018152608090920183528151918101919091206000908152600384019091522054610f61576040805162461bcd60e51b815260206004820152600e60248201526d1253959053125117d05353d5539560921b604482015290519081900360640190fd5b6040805160208082018190526009828401819052687069644f664661726d60b81b60608085018290528551808603909101815260808501865280519084012060009081526003870180855286822054600c5560a0860185905260c086019390935260e0808601929092528551808603909201825261010090940185528051908301208352905290812055805460ff19169055565b600d5481565b600954600b5460408051630c7e663b60e11b815260048101929092526001600160a01b03848116602484015281519316926318fccc769260448082019392918290030181600087803b15801561105057600080fd5b505af1158015611064573d6000803e3d6000fd5b505050506040513d604081101561107a57600080fd5b5050600854600c5460408051631175a1dd60e01b81526004810192909252306024830152516000926001600160a01b031691631175a1dd916044808301926020929190829003018186803b1580156110d157600080fd5b505afa1580156110e5573d6000803e3d6000fd5b505050506040513d60208110156110fb57600080fd5b50519050801580159061111057506000600d54115b1561131d57600854600c5460408051630441a3e760e41b8152600481019290925260006024830181905290516001600160a01b039093169263441a3e7092604480820193929182900301818387803b15801561116b57600080fd5b505af115801561117f573d6000803e3d6000fd5b5050505060006111a66127106111a0601354856148c290919063ffffffff16565b90614926565b905060006111c56127106111a0601454866148c290919063ffffffff16565b6003546015546040805163a9059cbb60e01b81526001600160a01b03928316600482015260248101879052905193945091169163a9059cbb916044808201926020929091908290030181600087803b15801561122057600080fd5b505af1158015611234573d6000803e3d6000fd5b505050506040513d602081101561124a57600080fd5b50506003546016546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018590529051919092169163a9059cbb9160448083019260209291908290030181600087803b1580156112a557600080fd5b505af11580156112b9573d6000803e3d6000fd5b505050506040513d60208110156112cf57600080fd5b506112e69050816112e0858561497e565b9061497e565b925061131761130e600d546111a069d3c21bcecceda1000000876148c290919063ffffffff16565b600e54906149c9565b600e5550505b42600f55600e546001600160a01b03831660009081526011602052604081205490916113599169d3c21bcecceda1000000916111a091906148c2565b6001600160a01b0384166000908152601260205260409020549091508111156114b0576001600160a01b0383166000908152601260205260408120546113a090839061497e565b600354604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156113f157600080fd5b505afa158015611405573d6000803e3d6000fd5b505050506040513d602081101561141b57600080fd5b505190508082111561142b578091505b6003546040805163a9059cbb60e01b81526001600160a01b038881166004830152602482018690529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561148157600080fd5b505af1158015611495573d6000803e3d6000fd5b505050506040513d60208110156114ab57600080fd5b505050505b600e546001600160a01b0384166000908152601160205260409020546114e59169d3c21bcecceda1000000916111a0916148c2565b6001600160a01b039093166000908152601260205260409020929092555050565b600854600c5460408051631175a1dd60e01b815260048101929092523060248301525160009283926001600160a01b0390911691631175a1dd91604480820192602092909190829003018186803b15801561156057600080fd5b505afa158015611574573d6000803e3d6000fd5b505050506040513d602081101561158a57600080fd5b5051600f549091506000904211156115be576115bb6115b4600f544261497e90919063ffffffff16565b8390614926565b90505b6010546115cc9082906148c2565b9250505090565b6005546001600160a01b031681565b6002546001600160a01b0316331461162f576040805162461bcd60e51b81526020600482015260126024820152600080516020614b9a833981519152604482015290519081900360640190fd5b600060176000856040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561167657818101518382015260200161165e565b50505050905090810190601f1680156116a35780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001208152602001908152602001600020905081816002016000856040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156117165781810151838201526020016116fe565b50505050905090810190601f1680156117435780820380516001836020036101000a031916815260200191505b5060408051808303601f1901815291815281516020928301208652908501959095525050500160002080546001600160a01b0319166001600160a01b0392909216919091179055805460ff191660011781556018546117a39042906149c9565b81600101819055507f1bd33efd68d2824f5f0f2519ce7c9ca0ddff6234523468e89077a0dca7b73970848484604051808060200180602001846001600160a01b03168152602001838103835286818151815260200191508051906020019080838360005b8381101561181f578181015183820152602001611807565b50505050905090810190601f16801561184c5780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b8381101561187f578181015183820152602001611867565b50505050905090810190601f1680156118ac5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a150505050565b6015546001600160a01b031681565b60145481565b6004546001600160a01b031681565b60116020526000908152604090205481565b600e5481565b60026000541415611956576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000558061199d576040805162461bcd60e51b815260206004820152600d60248201526c1253959053125117d253941555609a1b604482015290519081900360640190fd5b6119a633610ffb565b33600090815260116020526040902054811115611a0a576040805162461bcd60e51b815260206004820152601760248201527f494e56414c49445f414d4f554e545f5749544844524157000000000000000000604482015290519081900360640190fd5b600854600c5460408051630441a3e760e41b8152600481019290925260248201849052516001600160a01b039092169163441a3e709160448082019260009290919082900301818387803b158015611a6157600080fd5b505af1158015611a75573d6000803e3d6000fd5b505033600090815260116020526040902054611a94925090508261497e565b33600090815260116020526040902055600d54611ab1908261497e565b600d5560048054604080516370a0823160e01b81523093810193909352516000926001600160a01b03909216916370a08231916024808301926020929190829003018186803b158015611b0357600080fd5b505afa158015611b17573d6000803e3d6000fd5b505050506040513d6020811015611b2d57600080fd5b5051905081811015611b3d578091505b600480546040805163a9059cbb60e01b8152339381019390935260248301859052516001600160a01b039091169163a9059cbb9160448083019260209291908290030181600087803b158015611b9257600080fd5b505af1158015611ba6573d6000803e3d6000fd5b505050506040513d6020811015611bbc57600080fd5b505081811115611c3e57600854600c546001600160a01b039091169063e2bbb15890611be8848661497e565b6040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015611c2557600080fd5b505af1158015611c39573d6000803e3d6000fd5b505050505b611c4733614a11565b604080513381526020810184905281517fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc929181900390910190a150506001600055565b6002546001600160a01b03163314611cd8576040805162461bcd60e51b81526020600482015260126024820152600080516020614b9a833981519152604482015290519081900360640190fd5b604080516020808201819052601282840152716368616e6765546f6b656e4164647265737360701b6060808401919091528351808403909101815260808301808552815191830191909120600090815260179092529083902060c08301909352825460ff1615158152600183015460a090920191909152611d58906147c5565b604080516020808201819052600482840152631dd85b9d60e21b606080840191909152835180840390910181526080909201835281519181019190912060009081526002840190915220546001600160a01b031615611e5b576040805160208082018190526004828401819052631dd85b9d60e21b6060808501829052855180860390910181526080850186528051908401206000908152600287018085528682205484546001600160a01b039091166001600160a01b031991821617855560a0870186905260c087019490945260e080870193909352865180870390930183526101009095018652815191840191909120815292909152919020805490911690555b60408051602080820181905260068284015265545552494e4760d01b606080840191909152835180840390910181526080909201835281519181019190912060009081526002840190915220546001600160a01b031615611f6457604080516020808201819052600682840181905265545552494e4760d01b60608085018290528551808603909101815260808501865280519084012060009081526002870180855286822054600580546001600160a01b039092166001600160a01b031992831617905560a0870186905260c087019490945260e080870193909352865180870390930183526101009095018652815191840191909120815292909152919020805490911690555b6040805160208082018190526004828401526343414b4560e01b606080840191909152835180840390910181526080909201835281519181019190912060009081526002840190915220546001600160a01b0316156120695760408051602080820181905260048284018190526343414b4560e01b60608085018290528551808603909101815260808501865280519084012060009081526002870180855286822054600380546001600160a01b039092166001600160a01b031992831617905560a0870186905260c087019490945260e080870193909352865180870390930183526101009095018652815191840191909120815292909152919020805490911690555b604080516020808201819052600482840152633bb1373160e11b606080840191909152835180840390910181526080909201835281519181019190912060009081526002840190915220546001600160a01b03161561216e576040805160208082018190526004828401819052633bb1373160e11b60608085018290528551808603909101815260808501865280519084012060009081526002870180855286822054600680546001600160a01b039092166001600160a01b031992831617905560a0870186905260c087019490945260e080870193909352865180870390930183526101009095018652815191840191909120815292909152919020805490911690555b60408051602080820181905260048284015263189d5cd960e21b606080840191909152835180840390910181526080909201835281519181019190912060009081526002840190915220546001600160a01b03161561227357604080516020808201819052600482840181905263189d5cd960e21b60608085018290528551808603909101815260808501865280519084012060009081526002870180855286822054600780546001600160a01b039092166001600160a01b031992831617905560a0870186905260c087019490945260e080870193909352865180870390930183526101009095018652815191840191909120815292909152919020805490911690555b805460ff19169055565b600a546001600160a01b031681565b612294614ae7565b61229c613e33565b60408201526122a96125ab565b610140820152600954600b5460408051635e86cd9560e01b81526004810192909252516001600160a01b0390921691635e86cd9591602480820192602092909190829003018186803b1580156122fe57600080fd5b505afa158015612312573d6000803e3d6000fd5b505050506040513d602081101561232857600080fd5b50516080820152612337611506565b60a0820152600954600b54604080516324aa7cc560e11b81526004810192909252516001600160a01b0390921691634954f98a91602480820192602092909190829003018186803b15801561238b57600080fd5b505afa15801561239f573d6000803e3d6000fd5b505050506040513d60208110156123b557600080fd5b505181526001600160a01b03828116803160c0840152600954600b5460408051631069f3b560e01b8152600481019290925260248201939093529151921691631069f3b591604480820192606092909190829003018186803b15801561241a57600080fd5b505afa15801561242e573d6000803e3d6000fd5b505050506040513d606081101561244457600080fd5b505160e082015260048054604080516370a0823160e01b81526001600160a01b0386811694820194909452905192909116916370a0823191602480820192602092909190829003018186803b15801561249c57600080fd5b505afa1580156124b0573d6000803e3d6000fd5b505050506040513d60208110156124c657600080fd5b50516020808301919091526001600160a01b0383166000908152601190915260409020546101008201526124f982614590565b6060820152600854600c54604080516393f1a40b60e01b8152600481019290925230602483015280516001600160a01b03909316926393f1a40b926044808201939291829003018186803b15801561255057600080fd5b505afa158015612564573d6000803e3d6000fd5b505050506040513d604081101561257a57600080fd5b5051610120820152919050565b6007546001600160a01b031681565b6003546001600160a01b031681565b60015481565b6040805160038082526080820190925260009160609190602082018380368337505060035482519293506001600160a01b0316918391506000906125eb57fe5b6001600160a01b03928316602091820292909201015260065482519116908290600190811061261657fe5b6001600160a01b03928316602091820292909201015260075482519116908290600290811061264157fe5b6001600160a01b03928316602091820292909201810191909152600a546040805163d06ca61f60e01b8152670de0b6b3a76400006004820181815260248301938452875160448401528751600097959095169563d06ca61f9592948994929390926064019185810191028083838c5b838110156126c85781810151838201526020016126b0565b50505050905001935050505060006040518083038186803b1580156126ec57600080fd5b505afa9250505080156127ac57506040513d6000823e601f3d908101601f19168201604052602081101561271f57600080fd5b8101908080516040519392919084600160201b82111561273e57600080fd5b90830190602082018581111561275357600080fd5b82518660208202830111600160201b8211171561276f57600080fd5b82525081516020918201928201910280838360005b8381101561279c578181015183820152602001612784565b5050505090500160405250505060015b6127b8575060006127d1565b806002815181106127c557fe5b60200260200101519150505b91505090565b6002546001600160a01b03163314612824576040805162461bcd60e51b81526020600482015260126024820152600080516020614b9a833981519152604482015290519081900360640190fd5b604080516020808201819052601c828401527f73657450616e63616b654d617374657243686566436f6e7472616374000000006060808401919091528351808403909101815260808301808552815191830191909120600090815260179092529083902060c08301909352825460ff1615158152600183015460a0909201919091526128af906147c5565b604080516020808201819052601182840152703830b735b0b1b2a6b0b9ba32b921b432b360791b606080840191909152835180840390910181526080909201835281519181019190912060009081526002840190915220546001600160a01b0316612953576040805162461bcd60e51b815260206004820152600f60248201526e494e56414c49445f4144445245535360881b604482015290519081900360640190fd5b6040805160208082018190526011828401819052703830b735b0b1b2a6b0b9ba32b921b432b360791b60608085018290528551808603909101815260808501865280519084012060009081526002870180855286822054600880546001600160a01b039092166001600160a01b031992831617905560a0870186905260c087019490945260e08087019390935286518087039093018352610100909501865281519184019190912081529290915291902080549091169055805460ff19169055565b60185481565b6002546001600160a01b03163314612a68576040805162461bcd60e51b81526020600482015260126024820152600080516020614b9a833981519152604482015290519081900360640190fd5b60408051602080820181905260158284015274736574506572666f726d616e63654d616368696e6560581b6060808401919091528351808403909101815260808301808552815191830191909120600090815260179092529083902060c08301909352825460ff1615158152600183015460a090920191909152612aeb906147c5565b60408051602080820181905260128284015271706572666f726d616e63654d616368696e6560701b606080840191909152835180840390910181526080909201835281519181019190912060009081526002840190915220546001600160a01b0316612b90576040805162461bcd60e51b815260206004820152600f60248201526e494e56414c49445f4144445245535360881b604482015290519081900360640190fd5b604080516020808201819052601282840181905271706572666f726d616e63654d616368696e6560701b60608085018290528551808603909101815260808501865280519084012060009081526002870180855286822054601580546001600160a01b039092166001600160a01b031992831617905560a0870186905260c087019490945260e08087019390935286518087039093018352610100909501865281519184019190912081529290915291902080549091169055805460ff19169055565b6017602052600090815260409020805460019091015460ff9091169082565b600060176000846040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015612cb9578181015183820152602001612ca1565b50505050905090810190601f168015612ce65780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012081526020019081526020016000206003016000836040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015612d55578181015183820152602001612d3d565b50505050905090810190601f168015612d825780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012081526020019081526020016000205490505b92915050565b600c5481565b62278d0081565b60105481565b6002546001600160a01b03163314612e15576040805162461bcd60e51b81526020600482015260126024820152600080516020614b9a833981519152604482015290519081900360640190fd5b6040805160208082018190526011828401527007472616e736665724f776e65727368697607c1b6060808401919091528351808403909101815260808301808552815191830191909120600090815260179092529083902060c08301909352825460ff1615158152600183015460a090920191909152612e94906147c5565b6040805160208082018190526005828401526437bbb732b960d91b606080840191909152835180840390910181526080909201835281519181019190912060009081526002840190915220546001600160a01b0316612f2c576040805162461bcd60e51b815260206004820152600f60248201526e494e56414c49445f4144445245535360881b604482015290519081900360640190fd5b60408051602080820181905260058284018190526437bbb732b960d91b606080850182905285518086039091018152608085018652805190840120600090815260028781018086528783205482546001600160a01b039091166001600160a01b03199182161790925560a0870186905260c087019490945260e080870193909352865180870390930183526101009095018652815191840191909120815291529190912080549091169055805460ff19169055565b6002546001600160a01b0316331461302e576040805162461bcd60e51b81526020600482015260126024820152600080516020614b9a833981519152604482015290519081900360640190fd5b600060176000836040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561307557818101518382015260200161305d565b50505050905090810190601f1680156130a25780820380516001836020036101000a031916815260200191505b5060408051601f1981840301815291815281516020928301208652858201969096529385016000908120805460ff19168155865186815289518188015289519198507fce369f91d52b663114643c430217b52530c2cc7318cac7a3e9d46241cbc354a8978a97919650869550850193508601918190849084905b8381101561313457818101518382015260200161311c565b50505050905090810190601f1680156131615780820380516001836020036101000a031916815260200191505b509250505060405180910390a15050565b6006546001600160a01b031681565b6002546001600160a01b031681565b6002546001600160a01b031633146131dd576040805162461bcd60e51b81526020600482015260126024820152600080516020614b9a833981519152604482015290519081900360640190fd5b6040805160208082018190526010828401526f7365744d696e696e674d616368696e6560801b6060808401919091528351808403909101815260808301808552815191830191909120600090815260179092529083902060c08301909352825460ff1615158152600183015460a09092019190915261325b906147c5565b604080516020808201819052600d828401526c6d696e696e674d616368696e6560981b606080840191909152835180840390910181526080909201835281519181019190912060009081526002840190915220546001600160a01b03166132fb576040805162461bcd60e51b815260206004820152600f60248201526e494e56414c49445f4144445245535360881b604482015290519081900360640190fd5b604080516020808201819052600d828401526c6d696e696e674d616368696e6560981b60608084019190915283518084039091018152608090920183528151918101919091206000908152600284019091522054600980546001600160a01b0319166001600160a01b03909216919091179055805460ff19169055565b6002546001600160a01b031633146133c5576040805162461bcd60e51b81526020600482015260126024820152600080516020614b9a833981519152604482015290519081900360640190fd5b600060176000856040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561340c5781810151838201526020016133f4565b50505050905090810190601f1680156134395780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001208152602001908152602001600020905081816003016000856040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156134ac578181015183820152602001613494565b50505050905090810190601f1680156134d95780820380516001836020036101000a031916815260200191505b5060408051601f1981840301815291815281516020928301208652908501959095525050500160002055805460ff1916600117815560185461351c9042906149c9565b600182015560408051908101839052606080825285519082015284517f860699cc7b0f3cb3d034fd31cdfe0816887a9f55d10993224d77c359c3d5555191869186918691819060208083019160808401918801908083836000831561181f578181015183820152602001611807565b6008546001600160a01b031681565b60126020526000908152604090205481565b6002546001600160a01b031633146135f9576040805162461bcd60e51b81526020600482015260126024820152600080516020614b9a833981519152604482015290519081900360640190fd5b604080516020808201819052601682840152751cd95d14185b98d85ad954ddd85c10dbdb9d1c9858dd60521b6060808401919091528351808403909101815260808301808552815191830191909120600090815260179092529083902060c08301909352825460ff1615158152600183015460a09092019190915261367d906147c5565b604080516020808201819052600b828401526a070616e63616b65537761760ac1b606080840191909152835180840390910181526080909201835281519181019190912060009081526002840190915220546001600160a01b031661371b576040805162461bcd60e51b815260206004820152600f60248201526e494e56414c49445f4144445245535360881b604482015290519081900360640190fd5b604080516020808201819052600b8284018190526a070616e63616b65537761760ac1b60608085018290528551808603909101815260808501865280519084012060009081526002870180855286822054600a80546001600160a01b039092166001600160a01b031992831617905560a0870186905260c087019490945260e08087019390935286518087039093018352610100909501865281519184019190912081529290915291902080549091169055805460ff19169055565b600f5481565b6202a30081565b6002600054141561383c576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260005580613883576040805162461bcd60e51b815260206004820152600d60248201526c1253959053125117d253941555609a1b604482015290519081900360640190fd5b60048054604080516370a0823160e01b815233938101939093525183926001600160a01b03909216916370a08231916024808301926020929190829003018186803b1580156138d157600080fd5b505afa1580156138e5573d6000803e3d6000fd5b505050506040513d60208110156138fb57600080fd5b50511015613940576040805162461bcd60e51b815260206004820152600d60248201526c1253959053125117d253941555609a1b604482015290519081900360640190fd5b61394933610ffb565b60048054604080516323b872dd60e01b8152339381019390935230602484015260448301849052516001600160a01b03909116916323b872dd9160648083019260209291908290030181600087803b1580156139a457600080fd5b505af11580156139b8573d6000803e3d6000fd5b505050506040513d60208110156139ce57600080fd5b5050600854600c5460408051631c57762b60e31b8152600481019290925260248201849052516001600160a01b039092169163e2bbb1589160448082019260009290919082900301818387803b158015613a2757600080fd5b505af1158015613a3b573d6000803e3d6000fd5b505033600090815260116020526040902054613a5a92509050826149c9565b33600090815260116020526040902055600d54613a7790826149c9565b600d55613a8333614a11565b604080513381526020810183905281517f2bf9518c65eff7d1f3ee4106bf0dc41267ccde0924dbfa4ab476ed5c0f45da98929181900390910190a1506001600055565b6009546001600160a01b031681565b600060176000846040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015613b1c578181015183820152602001613b04565b50505050905090810190601f168015613b495780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012081526020019081526020016000206002016000836040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015613bb8578181015183820152602001613ba0565b50505050905090810190601f168015613be55780820380516001836020036101000a031916815260200191505b5060408051808303601f19018152918152815160209283012086529085019590955250505001600020546001600160a01b03169392505050565b6002546001600160a01b03163314613c6c576040805162461bcd60e51b81526020600482015260126024820152600080516020614b9a833981519152604482015290519081900360640190fd5b60408051602080820181905260178284018190527f736574526174654f66506572666f726d616e6365466565000000000000000000606080850191909152845180850390910181526080840180865281519184019190912060009081529190925283902060c08301909352825460ff1615158152600183015460a090920191909152613cf7906147c5565b60408051602080820181905260148284015273726174654f66506572666f726d616e636546656560601b60608084019190915283518084039091018152608090920183528151918101919091206000908152600384019091522054613d94576040805162461bcd60e51b815260206004820152600e60248201526d1253959053125117d05353d5539560921b604482015290519081900360640190fd5b604080516020808201819052601482840181905273726174654f66506572666f726d616e636546656560601b6060808501829052855180860390910181526080850186528051908401206000908152600387018085528682205460135560a0860185905260c086019390935260e0808601929092528551808603909201825261010090940185528051908301208352905290812055805460ff19169055565b6040805160038082526080820190925260009160609190602082018380368337505060055482519293506001600160a01b0316918391506000906125eb57fe5b6002546001600160a01b03163314613ec0576040805162461bcd60e51b81526020600482015260126024820152600080516020614b9a833981519152604482015290519081900360640190fd5b604080516020808201819052600e828401526d7365745069644f664d696e696e6760901b6060808401919091528351808403909101815260808301808552815191830191909120600090815260179092529083902060c08301909352825460ff1615158152600183015460a090920191909152613f3c906147c5565b604080516020808201819052600b828401526a7069644f664d696e696e6760a81b60608084019190915283518084039091018152608090920183528151918101919091206000908152600384019091522054613fd0576040805162461bcd60e51b815260206004820152600e60248201526d1253959053125117d05353d5539560921b604482015290519081900360640190fd5b604080516020808201819052600b8284018190526a7069644f664d696e696e6760a81b60608085018290528551808603909101815260808501865280519084012060009081526003870180855286822054845560a0860185905260c086019390935260e0808601929092528551808603909201825261010090940185528051908301208352905290812055805460ff19169055565b6002546001600160a01b031633146140b2576040805162461bcd60e51b81526020600482015260126024820152600080516020614b9a833981519152604482015290519081900360640190fd5b60408051602080820181905260168284015275736574526174654f66436f6e74726f6c6c657246656560501b6060808401919091528351808403909101815260808301808552815191830191909120600090815260179092529083902060c08301909352825460ff1615158152600183015460a090920191909152614136906147c5565b60408051602080820181905260138284015272726174654f66436f6e74726f6c6c657246656560681b606080840191909152835180840390910181526080909201835281519181019190912060009081526003840190915220546141d2576040805162461bcd60e51b815260206004820152600e60248201526d1253959053125117d05353d5539560921b604482015290519081900360640190fd5b604080516020808201819052601382840181905272726174654f66436f6e74726f6c6c657246656560681b6060808501829052855180860390910181526080850186528051908401206000908152600387018085528682205460145560a0860185905260c086019390935260e0808601929092528551808603909201825261010090940185528051908301208352905290812055805460ff19169055565b60135481565b6002546001600160a01b031633146142c3576040805162461bcd60e51b81526020600482015260126024820152600080516020614b9a833981519152604482015290519081900360640190fd5b6202a3008110156143055760405162461bcd60e51b8152600401808060200182810382526034815260200180614b076034913960400191505060405180910390fd5b62278d008111156143475760405162461bcd60e51b8152600401808060200182810382526038815260200180614b3b6038913960400191505060405180910390fd5b601855565b6016546001600160a01b031681565b6002546001600160a01b031633146143a8576040805162461bcd60e51b81526020600482015260126024820152600080516020614b9a833981519152604482015290519081900360640190fd5b60408051602080820181905260148284015273736574436f6e74726f6c6c65724d616368696e6560601b6060808401919091528351808403909101815260808301808552815191830191909120600090815260179092529083902060c08301909352825460ff1615158152600183015460a09092019190915261442a906147c5565b60408051602080820181905260118284015270636f6e74726f6c6c65724d616368696e6560781b606080840191909152835180840390910181526080909201835281519181019190912060009081526002840190915220546001600160a01b03166144ce576040805162461bcd60e51b815260206004820152600f60248201526e494e56414c49445f4144445245535360881b604482015290519081900360640190fd5b604080516020808201819052601182840181905270636f6e74726f6c6c65724d616368696e6560781b60608085018290528551808603909101815260808501865280519084012060009081526002870180855286822054601680546001600160a01b039092166001600160a01b031992831617905560a0870186905260c087019490945260e08087019390935286518087039093018352610100909501865281519184019190912081529290915291902080549091169055805460ff19169055565b600e54600854600c5460408051631175a1dd60e01b81526004810192909252306024830152516000939284926001600160a01b0390911691631175a1dd91604480820192602092909190829003018186803b1580156145ee57600080fd5b505afa158015614602573d6000803e3d6000fd5b505050506040513d602081101561461857600080fd5b50519050801580159061462d57506000600d54115b156146b257600061464f6127106111a0601354856148c290919063ffffffff16565b9050600061466e6127106111a0601454866148c290919063ffffffff16565b905061467e816112e0858561497e565b92506146ad6146a6600d546111a069d3c21bcecceda1000000876148c290919063ffffffff16565b85906149c9565b935050505b6001600160a01b0384166000908152601160205260408120546146e59069d3c21bcecceda1000000906111a090866148c2565b6001600160a01b03861660009081526012602052604090205490915081111561472f576001600160a01b03851660009081526012602052604090205461472c90829061497e565b93505b505050919050565b600b5481565b600480546008546040805163095ea7b360e01b81526001600160a01b039283169481019490945260001960248501525191169163095ea7b39160448083019260209291908290030181600087803b15801561479757600080fd5b505af11580156147ab573d6000803e3d6000fd5b505050506040513d60208110156147c157600080fd5b5050565b8051151560011461481d576040805162461bcd60e51b815260206004820152601f60248201527f5472616e73616374696f6e206861736e2774206265656e207175657565642e00604482015290519081900360640190fd5b42816020015111156148605760405162461bcd60e51b8152600401808060200182810382526027815260200180614b736027913960400191505060405180910390fd5b602081015142906148749062278d006149c9565b10156148bf576040805162461bcd60e51b81526020600482015260156024820152742a3930b739b0b1ba34b7b71034b99039ba30b6329760591b604482015290519081900360640190fd5b50565b6000826148d157506000612daf565b828202828482816148de57fe5b041461491f576040805162461bcd60e51b815260206004820152600b60248201526a1253959053125117d3555360aa1b604482015290519081900360640190fd5b9392505050565b600080821161496a576040805162461bcd60e51b815260206004820152600b60248201526a24a72b20a624a22fa224ab60a91b604482015290519081900360640190fd5b600082848161497557fe5b04949350505050565b6000828211156149c3576040805162461bcd60e51b815260206004820152600b60248201526a24a72b20a624a22fa9aaa160a91b604482015290519081900360640190fd5b50900390565b60008282018381101561491f576040805162461bcd60e51b815260206004820152600b60248201526a1253959053125117d0511160aa1b604482015290519081900360640190fd5b600954600b5460408051638fb4e1cd60e01b815260048101929092526001600160a01b0384811660248401529051921691638fb4e1cd916044808201926020929091908290030181600087803b158015614a6a57600080fd5b505af1158015614a7e573d6000803e3d6000fd5b505050506040513d6020811015614a9457600080fd5b5050600e546001600160a01b038216600090815260116020526040902054614acb9169d3c21bcecceda1000000916111a0916148c2565b6001600160a01b03909116600090815260126020526040902055565b604051806101600160405280600b90602082028036833750919291505056fe54696d656c6f636b3a3a73657444656c61793a2044656c6179206d75737420657863656564206d696e696d756d2064656c61792e54696d656c6f636b3a3a73657444656c61793a2044656c6179206d757374206e6f7420657863656564206d6178696d756d2064656c61792e5472616e73616374696f6e206861736e2774207375727061737365642074696d65206c6f636b2e494e56414c49445f5045524d495353494f4e0000000000000000000000000000a26469706673582212205432dbbad31dc79039aa246bae21b659705a5f0edcaf7fdd9cb153b3321438ab64736f6c634300060c003300000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e00000000000000000000000073feaa1ee314f8c655e354234017be2193c9e24e0000000000000000000000000ed7e52944161450477ee417de9cd3a859b14fd00000000000000000000000000e09fabb73bd3ade0a17ecc321fd13a19e81ce8200000000000000000000000076ed05fa250e8e993275e6e78b470b4d70ed120b000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c000000000000000000000000e9e7cea3dedca5984780bafc599bd69add087d56

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

00000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e00000000000000000000000073feaa1ee314f8c655e354234017be2193c9e24e0000000000000000000000000ed7e52944161450477ee417de9cd3a859b14fd00000000000000000000000000e09fabb73bd3ade0a17ecc321fd13a19e81ce8200000000000000000000000076ed05fa250e8e993275e6e78b470b4d70ed120b000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c000000000000000000000000e9e7cea3dedca5984780bafc599bd69add087d56

-----Decoded View---------------
Arg [0] : _pancakeSwap (address): 0x10ed43c718714eb63d5aa57b78b54704e256024e
Arg [1] : _pancakeMasterChef (address): 0x73feaa1ee314f8c655e354234017be2193c9e24e
Arg [2] : _want (address): 0x0ed7e52944161450477ee417de9cd3a859b14fd0
Arg [3] : _cake (address): 0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82
Arg [4] : _turing (address): 0x76ed05fa250e8e993275e6e78b470b4d70ed120b
Arg [5] : _wbnb (address): 0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c
Arg [6] : _busd (address): 0xe9e7cea3dedca5984780bafc599bd69add087d56

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 00000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e
Arg [1] : 00000000000000000000000073feaa1ee314f8c655e354234017be2193c9e24e
Arg [2] : 0000000000000000000000000ed7e52944161450477ee417de9cd3a859b14fd0
Arg [3] : 0000000000000000000000000e09fabb73bd3ade0a17ecc321fd13a19e81ce82
Arg [4] : 00000000000000000000000076ed05fa250e8e993275e6e78b470b4d70ed120b
Arg [5] : 000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c
Arg [6] : 000000000000000000000000e9e7cea3dedca5984780bafc599bd69add087d56


Deployed ByteCode Sourcemap

9892:18209:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20388:470;;;;;;;;;;;;;:::i;:::-;;10401:29;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;22666:1399;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22666:1399:0;-1:-1:-1;;;;;22666:1399:0;;:::i;26347:378::-;;;;;;;;;;;;;:::i;10108:20::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;10108:20:0;;;;;;;;;;;;;;13141:504;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13141:504:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13141:504:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13141:504:0;;;;;;;;-1:-1:-1;13141:504:0;;-1:-1:-1;;;;;13141:504:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13141:504:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13141:504:0;;-1:-1:-1;;;13141:504:0;;-1:-1:-1;;;;;13141:504:0;;-1:-1:-1;13141:504:0;;-1:-1:-1;13141:504:0:i;10827:33::-;;;;;;;;;;;;;:::i;10761:39::-;;;;;;;;;;;;;:::i;10079:18::-;;;;;;;;;;;;;:::i;10585:42::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10585:42:0;-1:-1:-1;;;;;10585:42:0;;:::i;10437:34::-;;;;;;;;;;;;;:::i;21843:815::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21843:815:0;;:::i;17335:1466::-;;;;;;;;;;;;;:::i;10291:37::-;;;;;;;;;;;;;:::i;24756:712::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24756:712:0;-1:-1:-1;;;;;24756:712:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10171:19;;;;;;;;;;;;;:::i;10050:18::-;;;;;;;;;;;;;:::i;9982:28::-;;;;;;;;;;;;;:::i;25914:425::-;;;;;;;;;;;;;:::i;16750:573::-;;;;;;;;;;;;;:::i;11197:17::-;;;;;;;;;;;;;:::i;15105:545::-;;;;;;;;;;;;;:::i;10991:46::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10991:46:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;27865:233;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;27865:233:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;27865:233:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27865:233:0;;;;;;;;-1:-1:-1;27865:233:0;;-1:-1:-1;;;;;27865:233:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;27865:233:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27865:233:0;;-1:-1:-1;27865:233:0;;-1:-1:-1;;;;;27865:233:0:i;10370:24::-;;;;;;;;;;;;;:::i;11146:44::-;;;;;;;;;;;;;:::i;10517:35::-;;;;;;;;;;;;;:::i;14150:485::-;;;;;;;;;;;;;:::i;12859:274::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12859:274:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12859:274:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12859:274:0;;-1:-1:-1;12859:274:0;;-1:-1:-1;;;;;12859:274:0:i;10145:19::-;;;;;;;;;;;;;:::i;10017:20::-;;;;;;;;;;;;;:::i;14643:454::-;;;;;;;;;;;;;:::i;13653:489::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13653:489:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13653:489:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13653:489:0;;;;;;;;-1:-1:-1;13653:489:0;;-1:-1:-1;;;;;13653:489:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13653:489:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13653:489:0;;-1:-1:-1;;13653:489:0;;;-1:-1:-1;13653:489:0;;-1:-1:-1;;13653:489:0:i;10199:43::-;;;;;;;;;;;;;:::i;10634:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10634:51:0;-1:-1:-1;;;;;10634:51:0;;:::i;16205:537::-;;;;;;;;;;;;;:::i;10478:32::-;;;;;;;;;;;;;:::i;11096:43::-;;;;;;;;;;;;;:::i;21255:582::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21255:582:0;;:::i;10249:35::-;;;;;;;;;;;;;:::i;27618:239::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;27618:239:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;27618:239:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27618:239:0;;;;;;;;-1:-1:-1;27618:239:0;;-1:-1:-1;;;;;27618:239:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;27618:239:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27618:239:0;;-1:-1:-1;27618:239:0;;-1:-1:-1;;;;;27618:239:0:i;18813:537::-;;;;;;;;;;;;;:::i;25477:429::-;;;;;;;;;;;;;:::i;19897:483::-;;;;;;;;;;;;;:::i;19358:531::-;;;;;;;;;;;;;:::i;10694:40::-;;;;;;;;;;;;;:::i;12442:285::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12442:285:0;;:::i;10950:32::-;;;;;;;;;;;;;:::i;15658:539::-;;;;;;;;;;;;;:::i;26733:877::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26733:877:0;-1:-1:-1;;;;;26733:877:0;;:::i;10337:26::-;;;;;;;;;;;;;:::i;12735:114::-;;;;;;;;;;;;;:::i;20388:470::-;11473:5;;-1:-1:-1;;;;;11473:5:0;11459:10;:19;11451:50;;;;;-1:-1:-1;;;11451:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11451:50:0;;;;;;;;;;;;;;;20495:26:::1;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;20495:26:0;;;;;;;;;;;;;;;;;;;;;;;;20485:37;;;;::::1;::::0;;;;20445:26:::1;20474:49:::0;;;:10:::1;:49:::0;;;;;;;20534:28;;;;;;;;::::1;;;;::::0;;;;::::1;::::0;;;;;;;;;::::1;::::0;:17:::1;:28::i;:::-;20608:23;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;20608:23:0;;;;;;;;;;;;;;;;;;;;;;;;20598:34;;;;::::1;::::0;;;;20636:1:::1;20581:52:::0;;;:16:::1;::::0;::::1;:52:::0;;;;;20573:83:::1;;;::::0;;-1:-1:-1;;;20573:83:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;20573:83:0;;;;;;;;;;;;;::::1;;20708:23;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;20708:23:0;;;;;;;;;;;;;;;;;;;;;;20698:34;;;;::::1;::::0;20681:52:::1;::::0;;;:16:::1;::::0;::::1;:52:::0;;;;;;;20669:9:::1;:64:::0;20778:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20768:34;;;;::::1;::::0;20751:52;;;;;;;20744:59;20814:36;;-1:-1:-1;;20814:36:0::1;::::0;;20388:470::o;10401:29::-;;;;:::o;22666:1399::-;22716:13;;22738:11;;22716:41;;;-1:-1:-1;;;22716:41:0;;;;;;;;;-1:-1:-1;;;;;22716:41:0;;;;;;;;;:13;;;:21;;:41;;;;;;;;;;;;:13;;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;22786:17:0;;22816:9;;22716:41;22786:55;;-1:-1:-1;;;22786:55:0;;;;;;;;;22835:4;22786:55;;;;;22768:15;;-1:-1:-1;;;;;22786:17:0;;:29;;:55;;;;;22716:41;;22786:55;;;;;;;:17;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22786:55:0;;-1:-1:-1;22870:11:0;;;;;:42;;;22911:1;22898:10;;:14;22870:42;22852:599;;;22943:17;;22970:9;;22943:40;;;-1:-1:-1;;;22943:40:0;;;;;;;;;:17;:40;;;;;;;;-1:-1:-1;;;;;22943:17:0;;;;:26;;:40;;;;;:17;:40;;;;;;:17;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22998:23;23024:44;23062:5;23024:33;23036:20;;23024:7;:11;;:33;;;;:::i;:::-;:37;;:44::i;:::-;22998:70;;23083:22;23108:43;23145:5;23108:32;23120:19;;23108:7;:11;;:32;;;;:::i;:43::-;23166:4;;23180:18;;23166:50;;;-1:-1:-1;;;23166:50:0;;-1:-1:-1;;;;;23180:18:0;;;23166:50;;;;;;;;;;;;23083:68;;-1:-1:-1;23166:4:0;;;:13;;:50;;;;;;;;;;;;;;;:4;;:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;23231:4:0;;23245:17;;23231:48;;;-1:-1:-1;;;23231:48:0;;-1:-1:-1;;;;;23245:17:0;;;23231:48;;;;;;;;;;;;:4;;;;;:13;;:48;;;;;23166:50;;23231:48;;;;;;;:4;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;23304:48:0;;-1:-1:-1;23337:14:0;23304:28;:7;23316:15;23304:11;:28::i;:::-;:32;;:48::i;:::-;23294:58;;23385:54;23405:33;23427:10;;23405:17;23417:4;23405:7;:11;;:17;;;;:::i;:33::-;23385:15;;;:19;:54::i;:::-;23367:15;:72;-1:-1:-1;;22852:599:0;23479:15;23463:13;:31;23553:15;;-1:-1:-1;;;;;23534:14:0;;23507:23;23534:14;;;:7;:14;;;;;;23507:23;;23534:45;;23574:4;;23534:35;;:14;:18;:35::i;:45::-;-1:-1:-1;;;;;23614:23:0;;;;;;:16;:23;;;;;;23507:72;;-1:-1:-1;23596:41:0;;23592:382;;;-1:-1:-1;;;;;23701:23:0;;23654:24;23701:23;;;:16;:23;;;;;;23681:44;;:15;;:19;:44::i;:::-;23763:4;;:29;;;-1:-1:-1;;;23763:29:0;;23786:4;23763:29;;;;;;23654:71;;-1:-1:-1;23740:20:0;;-1:-1:-1;;;;;23763:4:0;;;;:14;;:29;;;;;;;;;;;;;;;:4;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;23763:29:0;;-1:-1:-1;23811:31:0;;;23807:103;;;23882:12;23863:31;;23807:103;23924:4;;:38;;;-1:-1:-1;;;23924:38:0;;-1:-1:-1;;;;;23924:38:0;;;;;;;;;;;;;;;:4;;;;;:13;;:38;;;;;;;;;;;;;;:4;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;23592:382:0;24031:15;;-1:-1:-1;;;;;24012:14:0;;;;;;:7;:14;;;;;;:45;;24052:4;;24012:35;;:18;:35::i;:45::-;-1:-1:-1;;;;;23986:23:0;;;;;;;:16;:23;;;;;:71;;;;-1:-1:-1;;22666:1399:0:o;26347:378::-;26437:17;;26467:9;;26437:55;;;-1:-1:-1;;;26437:55:0;;;;;;;;;26486:4;26437:55;;;;;26399:7;;;;-1:-1:-1;;;;;26437:17:0;;;;:29;;:55;;;;;;;;;;;;;;;:17;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26437:55:0;26561:13;;26437:55;;-1:-1:-1;26503:21:0;;26543:15;:31;26539:131;;;26606:47;26618:34;26638:13;;26618:15;:19;;:34;;;;:::i;:::-;26606:7;;:11;:47::i;:::-;26590:63;;26539:131;26705:11;;26687:30;;:13;;:17;:30::i;:::-;26680:37;;;;26347:378;:::o;10108:20::-;;;-1:-1:-1;;;;;10108:20:0;;:::o;13141:504::-;11473:5;;-1:-1:-1;;;;;11473:5:0;11459:10;:19;11451:50;;;;;-1:-1:-1;;;11451:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11451:50:0;;;;;;;;;;;;;;;13289:26:::1;13318:10;:48;13350:13;13339:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13329:36;;;;;;13318:48;;;;;;;;;;;13289:77;;13434:8;13377:9;:19;;:54;13418:10;13407:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;13407:22:0::1;::::0;;;;::::1;-1:-1:-1::0;;13407:22:0;;;;;;13397:33;;13407:22:::1;13397:33:::0;;::::1;::::0;13377:54;;;;::::1;::::0;;;;-1:-1:-1;;;13377:54:0;-1:-1:-1;13377:54:0;:65;;-1:-1:-1;;;;;;13377:65:0::1;-1:-1:-1::0;;;;;13377:65:0;;;::::1;::::0;;;::::1;::::0;;13453:35;;-1:-1:-1;;13453:35:0::1;-1:-1:-1::0;13453:35:0::1;::::0;;13545:5:::1;::::0;13525:26:::1;::::0;:15:::1;::::0;:19:::1;:26::i;:::-;13499:9;:23;;:52;;;;13567:70;13601:13;13616:10;13628:8;13567:70;;;;;;;;;;-1:-1:-1::0;;;;;13567:70:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;13567:70:0;;::::1;::::0;;;;;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;::::1;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11512:1;13141:504:::0;;;:::o;10827:33::-;;;-1:-1:-1;;;;;10827:33:0;;:::o;10761:39::-;;;;:::o;10079:18::-;;;-1:-1:-1;;;;;10079:18:0;;:::o;10585:42::-;;;;;;;;;;;;;:::o;10437:34::-;;;;:::o;21843:815::-;8938:1;9543:7;;:19;;9535:63;;;;;-1:-1:-1;;;9535:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8938:1;9676:7;:18;21926:12;21918:38:::1;;;::::0;;-1:-1:-1;;;21918:38:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;21918:38:0;;;;;;;;;;;;;::::1;;21967:19;21975:10;21967:7;:19::i;:::-;22015:10;22007:19;::::0;;;:7:::1;:19;::::0;;;;;:31;-1:-1:-1;22007:31:0::1;21999:67;;;::::0;;-1:-1:-1;;;21999:67:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;22079:17;::::0;22106:9:::1;::::0;22079:47:::1;::::0;;-1:-1:-1;;;22079:47:0;;::::1;::::0;::::1;::::0;;;;;;;;;;;-1:-1:-1;;;;;22079:17:0;;::::1;::::0;:26:::1;::::0;:47;;;;;:17:::1;::::0;:47;;;;;;;;:17;;:47;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;22169:10:0::1;22161:19;::::0;;;:7:::1;:19;::::0;;;;;:33:::1;::::0;-1:-1:-1;22161:19:0;-1:-1:-1;22185:8:0;22161:23:::1;:33::i;:::-;22147:10;22139:19;::::0;;;:7:::1;:19;::::0;;;;:55;22218:10:::1;::::0;:24:::1;::::0;22233:8;22218:14:::1;:24::i;:::-;22205:10;:37:::0;22274:4:::1;::::0;;:29:::1;::::0;;-1:-1:-1;;;22274:29:0;;22297:4:::1;22274:29:::0;;::::1;::::0;;;;;22255:16:::1;::::0;-1:-1:-1;;;;;22274:4:0;;::::1;::::0;:14:::1;::::0;:29;;;;;::::1;::::0;;;;;;;;:4;:29;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;22274:29:0;;-1:-1:-1;22319:19:0;;::::1;22315:71;;;22366:8;22355:19;;22315:71;22396:4;::::0;;:35:::1;::::0;;-1:-1:-1;;;22396:35:0;;22410:10:::1;22396:35:::0;;::::1;::::0;;;;;;;;;;;-1:-1:-1;;;;;22396:4:0;;::::1;::::0;:13:::1;::::0;:35;;;;;::::1;::::0;;;;;;;;:4:::1;::::0;:35;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;22446:19:0;;::::1;22442:112;;;22482:17;::::0;22508:9:::1;::::0;-1:-1:-1;;;;;22482:17:0;;::::1;::::0;:25:::1;::::0;22519:22:::1;:8:::0;22532;22519:12:::1;:22::i;:::-;22482:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;22442:112;22566:23;22578:10;22566:11;:23::i;:::-;22618:32;::::0;;22629:10:::1;22618:32:::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;;;;;;;;::::1;-1:-1:-1::0;;8894:1:0;9855:7;:22;21843:815::o;17335:1466::-;11473:5;;-1:-1:-1;;;;;11473:5:0;11459:10;:19;11451:50;;;;;-1:-1:-1;;;11451:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11451:50:0;;;;;;;;;;;;;;;17448:32:::1;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;17448:32:0;;;;;;;;;;;;;;;;;;;;;;;;17438:43;;;;::::1;::::0;;;;17398:26:::1;17427:55:::0;;;:10:::1;:55:::0;;;;;;;17495:28;;;;;;;;::::1;;;;::::0;;;;::::1;::::0;;;;;;;;;::::1;::::0;:17:::1;:28::i;:::-;17574:18;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;17574:18:0;;;;;;;;;;;;;;;;;;;;;;;;17564:29;;;;::::1;::::0;;;;17606:1:::1;17544:50:::0;;;:19:::1;::::0;::::1;:50:::0;;;;;-1:-1:-1;;;;;17544:50:0::1;:64:::0;17540:234:::1;;17669:18;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;17669:18:0;;;;;;;;;;;;;;;;;;;;;;17659:29;;;;::::1;::::0;-1:-1:-1;17639:50:0;;;:19:::1;::::0;::::1;:50:::0;;;;;;;17625:65;;-1:-1:-1;;;;;17639:50:0;;::::1;-1:-1:-1::0;;;;;;17625:65:0;;::::1;;::::0;;17742:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17639:50:::1;17742:18:::0;;;;;17732:29;;;;::::1;::::0;;;;17712:50;;;;;;;;;17705:57;;;;::::1;::::0;;17540:234:::1;17819:20;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;17819:20:0;;;;;;;;;;;;;;;;;;;;;;;;17809:31;;;;::::1;::::0;;;;17853:1:::1;17789:52:::0;;;:19:::1;::::0;::::1;:52:::0;;;;;-1:-1:-1;;;;;17789:52:0::1;:66:::0;17785:242:::1;;17918:20;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;17918:20:0;;;;;;;;;;;;;;;;;;;;;;17908:31;;;;::::1;::::0;-1:-1:-1;17888:52:0;;;:19:::1;::::0;::::1;:52:::0;;;;;;;17872:6:::1;:69:::0;;-1:-1:-1;;;;;17888:52:0;;::::1;-1:-1:-1::0;;;;;;17872:69:0;;::::1;;::::0;;17993:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17888:52:::1;17993:20:::0;;;;;17983:31;;;;::::1;::::0;;;;17963:52;;;;;;;;;17956:59;;;;::::1;::::0;;17785:242:::1;18072:18;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;18072:18:0;;;;;;;;;;;;;;;;;;;;;;;;18062:29;;;;::::1;::::0;;;;18104:1:::1;18042:50:::0;;;:19:::1;::::0;::::1;:50:::0;;;;;-1:-1:-1;;;;;18042:50:0::1;:64:::0;18038:234:::1;;18167:18;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;18167:18:0;;;;;;;;;;;;;;;;;;;;;;18157:29;;;;::::1;::::0;-1:-1:-1;18137:50:0;;;:19:::1;::::0;::::1;:50:::0;;;;;;;18123:4:::1;:65:::0;;-1:-1:-1;;;;;18137:50:0;;::::1;-1:-1:-1::0;;;;;;18123:65:0;;::::1;;::::0;;18240:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18137:50:::1;18240:18:::0;;;;;18230:29;;;;::::1;::::0;;;;18210:50;;;;;;;;;18203:57;;;;::::1;::::0;;18038:234:::1;18317:18;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;18317:18:0;;;;;;;;;;;;;;;;;;;;;;;;18307:29;;;;::::1;::::0;;;;18349:1:::1;18287:50:::0;;;:19:::1;::::0;::::1;:50:::0;;;;;-1:-1:-1;;;;;18287:50:0::1;:64:::0;18283:226:::1;;18405:18;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;18405:18:0;;;;;;;;;;;;;;;;;;;;;;18395:29;;;;::::1;::::0;-1:-1:-1;18375:50:0;;;:19:::1;::::0;::::1;:50:::0;;;;;;;18368:4:::1;:57:::0;;-1:-1:-1;;;;;18375:50:0;;::::1;-1:-1:-1::0;;;;;;18368:57:0;;::::1;;::::0;;18477:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18375:50:::1;18477:18:::0;;;;;18467:29;;;;::::1;::::0;;;;18447:50;;;;;;;;;18440:57;;;;::::1;::::0;;18283:226:::1;18554:18;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;18554:18:0;;;;;;;;;;;;;;;;;;;;;;;;18544:29;;;;::::1;::::0;;;;18586:1:::1;18524:50:::0;;;:19:::1;::::0;::::1;:50:::0;;;;;-1:-1:-1;;;;;18524:50:0::1;:64:::0;18520:226:::1;;18642:18;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;18642:18:0;;;;;;;;;;;;;;;;;;;;;;18632:29;;;;::::1;::::0;-1:-1:-1;18612:50:0;;;:19:::1;::::0;::::1;:50:::0;;;;;;;18605:4:::1;:57:::0;;-1:-1:-1;;;;;18612:50:0;;::::1;-1:-1:-1::0;;;;;;18605:57:0;;::::1;;::::0;;18714:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18612:50:::1;18714:18:::0;;;;;18704:29;;;;::::1;::::0;;;;18684:50;;;;;;;;;18677:57;;;;::::1;::::0;;18520:226:::1;18757:36:::0;;-1:-1:-1;;18757:36:0::1;::::0;;17335:1466::o;10291:37::-;;;-1:-1:-1;;;;;10291:37:0;;:::o;24756:712::-;24851:24;;:::i;:::-;24905:16;:14;:16::i;:::-;24894:8;;;:27;24944:14;:12;:14::i;:::-;24932:9;;;:26;24980:13;;25015:11;;24980:47;;;-1:-1:-1;;;24980:47:0;;;;;;;;;;-1:-1:-1;;;;;24980:13:0;;;;:34;;:47;;;;;24932:9;;24980:47;;;;;;;;:13;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24980:47:0;24969:8;;;:58;25049:22;:20;:22::i;:::-;25038:8;;;:33;25095:13;;25126:11;;25095:43;;;-1:-1:-1;;;25095:43:0;;;;;;;;;;-1:-1:-1;;;;;25095:13:0;;;;:30;;:43;;;;;25038:8;;25095:43;;;;;;;;:13;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;25095:43:0;25084:54;;-1:-1:-1;;;;;25160:22:0;;;;;25149:8;;;:33;25210:13;;25236:11;;25210:45;;;-1:-1:-1;;;25210:45:0;;;;;;;;;;;;;;;;;;:13;;;:25;;:45;;;;;;;;;;;;;;;:13;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;25210:45:0;25194:8;;;25193:62;25279:4;;;:21;;;-1:-1:-1;;;25279:21:0;;-1:-1:-1;;;;;25279:21:0;;;;;;;;;;;;:4;;;;;:14;;:21;;;;;25194:8;;25279:21;;;;;;;;:4;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;25279:21:0;25268:8;;;;:32;;;;-1:-1:-1;;;;;25324:14:0;;;;;;:7;:14;;;;;;;25313:8;;;:25;25360:20;25324:14;25360:13;:20::i;:::-;25349:8;;;:31;25408:17;;25435:9;;25408:52;;;-1:-1:-1;;;25408:52:0;;;;;;;;;25454:4;25408:52;;;;;;-1:-1:-1;;;;;25408:17:0;;;;:26;;:52;;;;;;;;;;;;:17;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;25408:52:0;25394:8;;;25393:67;25394:5;24756:712;-1:-1:-1;24756:712:0:o;10171:19::-;;;-1:-1:-1;;;;;10171:19:0;;:::o;10050:18::-;;;-1:-1:-1;;;;;10050:18:0;;:::o;9982:28::-;;;;:::o;25914:425::-;26004:16;;;26018:1;26004:16;;;;;;;;;25958:7;;25980:21;;26004:16;;;;25980:21;;26004:16;;;-1:-1:-1;;26051:4:0;;26033:7;;;;-1:-1:-1;;;;;;26051:4:0;;26033:7;;-1:-1:-1;26051:4:0;;26033:7;;;;-1:-1:-1;;;;;26033:23:0;;;:7;;;;;;;;;:23;26077:4;;26067:7;;26077:4;;;26067;;26077;;26067:7;;;;;;-1:-1:-1;;;;;26067:14:0;;;:7;;;;;;;;;:14;26102:4;;26092:7;;26102:4;;;26092;;26097:1;;26092:7;;;;;;-1:-1:-1;;;;;26092:14:0;;;:7;;;;;;;;;;:14;;;;26146:11;;:37;;;-1:-1:-1;;;26146:37:0;;26172:4;26146:37;;;;;;;;;;;;;;;;;;;;26117:14;;26146:11;;;;;:25;;26172:4;;26178;;26146:37;;;;;;;;;;;;;;;26117:14;26146:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;26146:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;26146:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;26146:37:0;;;;;;;;;;;;-1:-1:-1;26146:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26142:166;;-1:-1:-1;26292:1:0;26142:166;;;26239:7;26247:1;26239:10;;;;;;;;;;;;;;26230:19;;26184:77;26142:166;26325:6;-1:-1:-1;;25914:425:0;:::o;16750:573::-;11473:5;;-1:-1:-1;;;;;11473:5:0;11459:10;:19;11451:50;;;;;-1:-1:-1;;;11451:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11451:50:0;;;;;;;;;;;;;;;16870:42:::1;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;;;;;;;;;;;;16860:53;;;;::::1;::::0;;;;16820:26:::1;16849:65:::0;;;:10:::1;:65:::0;;;;;;;16927:28;;;;;;;;::::1;;;;::::0;;;;::::1;::::0;;;;;;;;;::::1;::::0;:17:::1;:28::i;:::-;17004:31;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;17004:31:0;;;;;;;;;;;;;;;;;;;;;;;;16994:42;;;;::::1;::::0;;;;17049:1:::1;16974:63:::0;;;:19:::1;::::0;::::1;:63:::0;;;;;-1:-1:-1;;;;;16974:63:0::1;16966:105;;;::::0;;-1:-1:-1;;;16966:105:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;16966:105:0;;;;;;;;;;;;;::::1;;17153:31;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;17153:31:0;;;;;;;;;;;;;;;;;;;;;;17143:42;;;;::::1;::::0;-1:-1:-1;17123:63:0;;;:19:::1;::::0;::::1;:63:::0;;;;;;;17084:17:::1;:103:::0;;-1:-1:-1;;;;;17123:63:0;;::::1;-1:-1:-1::0;;;;;;17084:103:0;;::::1;;::::0;;17235:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17123:63:::1;17235:31:::0;;;;;17225:42;;;;::::1;::::0;;;;17205:63;;;;;;;;;17198:70;;;;::::1;::::0;;17279:36;;-1:-1:-1;;17279:36:0::1;::::0;;16750:573::o;11197:17::-;;;;:::o;15105:545::-;11473:5;;-1:-1:-1;;;;;11473:5:0;11459:10;:19;11451:50;;;;;-1:-1:-1;;;11451:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11451:50:0;;;;;;;;;;;;;;;15222:35:::1;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;15222:35:0;;;;;;;;;;;;;;;;;;;;;;;;15212:46;;;;::::1;::::0;;;;15172:26:::1;15201:58:::0;;;:10:::1;:58:::0;;;;;;;15270:28;;;;;;;;::::1;;;;::::0;;;;::::1;::::0;;;;;;;;;::::1;::::0;:17:::1;:28::i;:::-;15347:32;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;15347:32:0;;;;;;;;;;;;;;;;;;;;;;;;15337:43;;;;::::1;::::0;;;;15393:1:::1;15317:64:::0;;;:19:::1;::::0;::::1;:64:::0;;;;;-1:-1:-1;;;;;15317:64:0::1;15309:106;;;::::0;;-1:-1:-1;;;15309:106:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;15309:106:0;;;;;;;;;;;;;::::1;;15479:32;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;15479:32:0;;;;;;;;;;;;;;;;;;;;;;15469:43;;;;::::1;::::0;-1:-1:-1;15449:64:0;;;:19:::1;::::0;::::1;:64:::0;;;;;;;15428:18:::1;:85:::0;;-1:-1:-1;;;;;15449:64:0;;::::1;-1:-1:-1::0;;;;;;15428:85:0;;::::1;;::::0;;15561:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15449:64:::1;15561:32:::0;;;;;15551:43;;;;::::1;::::0;;;;15531:64;;;;;;;;;15524:71;;;;::::1;::::0;;15606:36;;-1:-1:-1;;15606:36:0::1;::::0;;15105:545::o;10991:46::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;27865:233::-;27973:7;28000:10;:48;28032:13;28021:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28011:36;;;;;;28000:48;;;;;;;;;;;:55;;:90;28077:10;28066:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28056:33;;;;;;28000:90;;;;;;;;;;;;27993:97;;27865:233;;;;;:::o;10370:24::-;;;;:::o;11146:44::-;11183:7;11146:44;:::o;10517:35::-;;;;:::o;14150:485::-;11473:5;;-1:-1:-1;;;;;11473:5:0;11459:10;:19;11451:50;;;;;-1:-1:-1;;;11451:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11451:50:0;;;;;;;;;;;;;;;14263:31:::1;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;14263:31:0;;;;;;;;;;;;;;;;;;;;;;;;14253:42;;;;::::1;::::0;;;;14213:26:::1;14242:54:::0;;;:10:::1;:54:::0;;;;;;;14307:28;;;;;;;;::::1;;;;::::0;;;;::::1;::::0;;;;;;;;;::::1;::::0;:17:::1;:28::i;:::-;14384:19;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;14384:19:0;;;;;;;;;;;;;;;;;;;;;;;;14374:30;;;;::::1;::::0;;;;14417:1:::1;14354:51:::0;;;:19:::1;::::0;::::1;:51:::0;;;;;-1:-1:-1;;;;;14354:51:0::1;14346:93;;;::::0;;-1:-1:-1;;;14346:93:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;14346:93:0;;;;;;;;;;;;;::::1;;14490:19;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;14490:19:0;;;;;;;;;;;;;;;;;;;;;;14480:30;;;;::::1;::::0;-1:-1:-1;14460:51:0;;;:19:::1;::::0;;::::1;:51:::0;;;;;;;14452:59;;-1:-1:-1;;;;;14460:51:0;;::::1;-1:-1:-1::0;;;;;;14452:59:0;;::::1;;::::0;;;14559:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14460:51:::1;14559:19:::0;;;;;14549:30;;;;::::1;::::0;;;;14529:51;;;;;;;;14522:58;;;;::::1;::::0;;14591:36;;-1:-1:-1;;14591:36:0::1;::::0;;14150:485::o;12859:274::-;11473:5;;-1:-1:-1;;;;;11473:5:0;11459:10;:19;11451:50;;;;;-1:-1:-1;;;11451:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11451:50:0;;;;;;;;;;;;;;;12950:26:::1;12979:10;:48;13011:13;13000:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;13000:25:0::1;::::0;;-1:-1:-1;;13000:25:0;;::::1;::::0;;;;;;12990:36;;13000:25:::1;12990:36:::0;;::::1;::::0;12979:48;;;;::::1;::::0;;;;;;;-1:-1:-1;12979:48:0;;;13038:36;;-1:-1:-1;;13038:36:0::1;::::0;;13090:35;;;;;;;;;::::1;::::0;;;12979:48;;-1:-1:-1;13090:35:0::1;::::0;13111:13;;13090:35;;-1:-1:-1;13090:35:0;;-1:-1:-1;13090:35:0;;;-1:-1:-1;13090:35:0;::::1;::::0;;;;;;;::::1;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11512:1;12859:274:::0;:::o;10145:19::-;;;-1:-1:-1;;;;;10145:19:0;;:::o;10017:20::-;;;-1:-1:-1;;;;;10017:20:0;;:::o;14643:454::-;11473:5;;-1:-1:-1;;;;;11473:5:0;11459:10;:19;11451:50;;;;;-1:-1:-1;;;11451:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11451:50:0;;;;;;;;;;;;;;;14755:30:::1;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;14755:30:0;;;;;;;;;;;;;;;;;;;;;;;;14745:41;;;;::::1;::::0;;;;14705:26:::1;14734:53:::0;;;:10:::1;:53:::0;;;;;;;14798:28;;;;;;;;::::1;;;;::::0;;;;::::1;::::0;;;;;;;;;::::1;::::0;:17:::1;:28::i;:::-;14875:27;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;14875:27:0;;;;;;;;;;;;;;;;;;;;;;;;14865:38;;;;::::1;::::0;;;;14916:1:::1;14845:59:::0;;;:19:::1;::::0;::::1;:59:::0;;;;;-1:-1:-1;;;;;14845:59:0::1;14837:101;;;::::0;;-1:-1:-1;;;14837:101:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;14837:101:0;;;;;;;;;;;;;::::1;;15012:27;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;15012:27:0;;;;;;;;;;;;;;;;;;;;;;;;15002:38;;;;::::1;::::0;;;;14982:59:::1;::::0;;;:19:::1;::::0;::::1;:59:::0;;;;;14951:13:::1;:91:::0;;-1:-1:-1;;;;;;14951:91:0::1;-1:-1:-1::0;;;;;14982:59:0;;::::1;14951:91:::0;;;::::1;::::0;;15053:36;;-1:-1:-1;;15053:36:0::1;::::0;;14643:454::o;13653:489::-;11473:5;;-1:-1:-1;;;;;11473:5:0;11459:10;:19;11451:50;;;;;-1:-1:-1;;;11451:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11451:50:0;;;;;;;;;;;;;;;13796:26:::1;13825:10;:48;13857:13;13846:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13836:36;;;;;;13825:48;;;;;;;;;;;13796:77;;13938:6;13884:9;:16;;:51;13922:10;13911:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;13911:22:0::1;::::0;;-1:-1:-1;;13911:22:0;;::::1;::::0;;;;;;13901:33;;13911:22:::1;13901:33:::0;;::::1;::::0;13884:51;;;;::::1;::::0;;;;-1:-1:-1;;;13884:51:0;-1:-1:-1;13884:51:0;:60;13955:35;;-1:-1:-1;;13955:35:0::1;13986:4;13955:35;::::0;;14047:5:::1;::::0;14027:26:::1;::::0;:15:::1;::::0;:19:::1;:26::i;:::-;14001:23;::::0;::::1;:52:::0;14069:65:::1;::::0;;;;;;;;;;;;;;;;;;;;::::1;::::0;14100:13;;14115:10;;14127:6;;14069:65;;::::1;::::0;;::::1;::::0;;;;;;::::1;::::0;;;;;;;::::1;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;10199:43:::0;;;-1:-1:-1;;;;;10199:43:0;;:::o;10634:51::-;;;;;;;;;;;;;:::o;16205:537::-;11473:5;;-1:-1:-1;;;;;11473:5:0;11459:10;:19;11451:50;;;;;-1:-1:-1;;;11451:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11451:50:0;;;;;;;;;;;;;;;16319:36:::1;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;16319:36:0;;;;;;;;;;;;;;;;;;;;;;;;16309:47;;;;::::1;::::0;;;;16269:26:::1;16298:59:::0;;;:10:::1;:59:::0;;;;;;;16370:28;;;;;;;;::::1;;;;::::0;;;;::::1;::::0;;;;;;;;;::::1;::::0;:17:::1;:28::i;:::-;16447:25;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;16447:25:0;;;;;;;;;;;;;;;;;;;;;;;;16437:36;;;;::::1;::::0;;;;16486:1:::1;16417:57:::0;;;:19:::1;::::0;::::1;:57:::0;;;;;-1:-1:-1;;;;;16417:57:0::1;16409:99;;;::::0;;-1:-1:-1;;;16409:99:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;16409:99:0;;;;;;;;;;;;;::::1;;16584:25;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;16584:25:0;;;;;;;;;;;;;;;;;;;;;;16574:36;;;;::::1;::::0;-1:-1:-1;16554:57:0;;;:19:::1;::::0;::::1;:57:::0;;;;;;;16521:11:::1;:91:::0;;-1:-1:-1;;;;;16554:57:0;;::::1;-1:-1:-1::0;;;;;;16521:91:0;;::::1;;::::0;;16660:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16554:57:::1;16660:25:::0;;;;;16650:36;;;;::::1;::::0;;;;16630:57;;;;;;;;;16623:64;;;;::::1;::::0;;16698:36;;-1:-1:-1;;16698:36:0::1;::::0;;16205:537::o;10478:32::-;;;;:::o;11096:43::-;11133:6;11096:43;:::o;21255:582::-;8938:1;9543:7;;:19;;9535:63;;;;;-1:-1:-1;;;9535:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8938:1;9676:7;:18;21337:12;21329:38:::1;;;::::0;;-1:-1:-1;;;21329:38:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;21329:38:0;;;;;;;;;;;;;::::1;;21386:4;::::0;;:26:::1;::::0;;-1:-1:-1;;;21386:26:0;;21401:10:::1;21386:26:::0;;::::1;::::0;;;;;21416:8;;-1:-1:-1;;;;;21386:4:0;;::::1;::::0;:14:::1;::::0;:26;;;;;::::1;::::0;;;;;;;;:4;:26;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;21386:26:0;:38:::1;;21378:64;;;::::0;;-1:-1:-1;;;21378:64:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;21378:64:0;;;;;;;;;;;;;::::1;;21455:19;21463:10;21455:7;:19::i;:::-;21485:4;::::0;;:54:::1;::::0;;-1:-1:-1;;;21485:54:0;;21503:10:::1;21485:54:::0;;::::1;::::0;;;;21523:4:::1;21485:54:::0;;;;;;;;;;;-1:-1:-1;;;;;21485:4:0;;::::1;::::0;:17:::1;::::0;:54;;;;;::::1;::::0;;;;;;;;:4:::1;::::0;:54;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;21550:17:0::1;::::0;21576:9:::1;::::0;21550:46:::1;::::0;;-1:-1:-1;;;21550:46:0;;::::1;::::0;::::1;::::0;;;;;;;;;;;-1:-1:-1;;;;;21550:17:0;;::::1;::::0;:25:::1;::::0;:46;;;;;:17:::1;::::0;:46;;;;;;;;:17;;:46;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;21673:10:0::1;21665:19;::::0;;;:7:::1;:19;::::0;;;;;:33:::1;::::0;-1:-1:-1;21665:19:0;-1:-1:-1;21689:8:0;21665:23:::1;:33::i;:::-;21651:10;21643:19;::::0;;;:7:::1;:19;::::0;;;;:55;21722:10:::1;::::0;:24:::1;::::0;21737:8;21722:14:::1;:24::i;:::-;21709:10;:37:::0;21757:23:::1;21769:10;21757:11;:23::i;:::-;21796:31;::::0;;21806:10:::1;21796:31:::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;;;;;;;;::::1;-1:-1:-1::0;8894:1:0;9855:7;:22;21255:582::o;10249:35::-;;;-1:-1:-1;;;;;10249:35:0;;:::o;27618:239::-;27729:7;27756:10;:48;27788:13;27777:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27767:36;;;;;;27756:48;;;;;;;;;;;:58;;:93;27836:10;27825:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27825:22:0;;;;;;-1:-1:-1;;27825:22:0;;;;;;27815:33;;27825:22;27815:33;;;;27756:93;;;;;;;;;-1:-1:-1;;;27756:93:0;-1:-1:-1;27756:93:0;;-1:-1:-1;;;;;27756:93:0;;27618:239;-1:-1:-1;;;27618:239:0:o;18813:537::-;11473:5;;-1:-1:-1;;;;;11473:5:0;11459:10;:19;11451:50;;;;;-1:-1:-1;;;11451:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11451:50:0;;;;;;;;;;;;;;;18932:37:::1;::::0;;::::1;::::0;;::::1;::::0;;;18911:10:::1;18932:37:::0;;;;;;::::1;::::0;;;;;;;;;;;;;;;;;;;;;;;;18922:48;;;;::::1;::::0;;;;18882:26:::1;18911:60:::0;;;;;;;;;;18982:28;;;;;;;;::::1;;;;::::0;;;;::::1;::::0;;;;;;;;;::::1;::::0;:17:::1;:28::i;:::-;19056:34;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;19056:34:0;;;;;;;;;;;;;;;;;;;;;;;;19046:45;;;;::::1;::::0;;;;19095:1:::1;19029:63:::0;;;:16:::1;::::0;::::1;:63:::0;;;;;19021:94:::1;;;::::0;;-1:-1:-1;;;19021:94:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;19021:94:0;;;;;;;;;;;;;::::1;;19178:34;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;19178:34:0;;;;;;;;;;;;;;;;;;;;;;19168:45;;;;::::1;::::0;19151:63:::1;::::0;;;:16:::1;::::0;::::1;:63:::0;;;;;;;19128:20:::1;:86:::0;19259:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19249:45;;;;::::1;::::0;19232:63;;;;;;;19225:70;19306:36;;-1:-1:-1;;19306:36:0::1;::::0;;18813:537::o;25477:429::-;25569:16;;;25583:1;25569:16;;;;;;;;;25523:7;;25545:21;;25569:16;;;;25545:21;;25569:16;;;-1:-1:-1;;25616:6:0;;25598:7;;;;-1:-1:-1;;;;;;25616:6:0;;25598:7;;-1:-1:-1;25616:6:0;;25598:7;;;19897:483;11473:5;;-1:-1:-1;;;;;11473:5:0;11459:10;:19;11451:50;;;;;-1:-1:-1;;;11451:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11451:50:0;;;;;;;;;;;;;;;20007:28:::1;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;20007:28:0;;;;;;;;;;;;;;;;;;;;;;;;19997:39;;;;::::1;::::0;;;;19957:26:::1;19986:51:::0;;;:10:::1;:51:::0;;;;;;;20048:28;;;;;;;;::::1;;;;::::0;;;;::::1;::::0;;;;;;;;;::::1;::::0;:17:::1;:28::i;:::-;20122:25;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;20122:25:0;;;;;;;;;;;;;;;;;;;;;;;;20112:36;;;;::::1;::::0;;;;20152:1:::1;20095:54:::0;;;:16:::1;::::0;::::1;:54:::0;;;;;20087:85:::1;;;::::0;;-1:-1:-1;;;20087:85:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;20087:85:0;;;;;;;;;;;;;::::1;;20226:25;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;20226:25:0;;;;;;;;;;;;;;;;;;;;;;20216:36;;;;::::1;::::0;20199:54:::1;::::0;;;:16:::1;::::0;::::1;:54:::0;;;;;;;20185:68;;20298:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20288:36;;;;::::1;::::0;20271:54;;;;;;;20264:61;20336:36;;-1:-1:-1;;20336:36:0::1;::::0;;19897:483::o;19358:531::-;11473:5;;-1:-1:-1;;;;;11473:5:0;11459:10;:19;11451:50;;;;;-1:-1:-1;;;11451:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11451:50:0;;;;;;;;;;;;;;;19476:36:::1;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;19476:36:0;;;;;;;;;;;;;;;;;;;;;;;;19466:47;;;;::::1;::::0;;;;19426:26:::1;19455:59:::0;;;:10:::1;:59:::0;;;;;;;19525:28;;;;;;;;::::1;;;;::::0;;;;::::1;::::0;;;;;;;;;::::1;::::0;:17:::1;:28::i;:::-;19599:33;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;19599:33:0;;;;;;;;;;;;;;;;;;;;;;;;19589:44;;;;::::1;::::0;;;;19637:1:::1;19572:62:::0;;;:16:::1;::::0;::::1;:62:::0;;;;;19564:93:::1;;;::::0;;-1:-1:-1;;;19564:93:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;19564:93:0;;;;;;;;;;;;;::::1;;19719:33;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;19719:33:0;;;;;;;;;;;;;;;;;;;;;;19709:44;;;;::::1;::::0;19692:62:::1;::::0;;;:16:::1;::::0;::::1;:62:::0;;;;;;;19670:19:::1;:84:::0;19799:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19789:44;;;;::::1;::::0;19772:62;;;;;;;19765:69;19845:36;;-1:-1:-1;;19845:36:0::1;::::0;;19358:531::o;10694:40::-;;;;:::o;12442:285::-;11473:5;;-1:-1:-1;;;;;11473:5:0;11459:10;:19;11451:50;;;;;-1:-1:-1;;;11451:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11451:50:0;;;;;;;;;;;;;;;11133:6:::1;12509;:23;;12501:88;;;;-1:-1:-1::0;;;12501:88:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11183:7;12608:6;:23;;12600:92;;;;-1:-1:-1::0;;;12600:92:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12705:5;:14:::0;12442:285::o;10950:32::-;;;-1:-1:-1;;;;;10950:32:0;;:::o;15658:539::-;11473:5;;-1:-1:-1;;;;;11473:5:0;11459:10;:19;11451:50;;;;;-1:-1:-1;;;11451:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11451:50:0;;;;;;;;;;;;;;;15774:34:::1;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;15774:34:0;;;;;;;;;;;;;;;;;;;;;;;;15764:45;;;;::::1;::::0;;;;15724:26:::1;15753:57:::0;;;:10:::1;:57:::0;;;;;;;15821:28;;;;;;;;::::1;;;;::::0;;;;::::1;::::0;;;;;;;;;::::1;::::0;:17:::1;:28::i;:::-;15898:31;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;15898:31:0;;;;;;;;;;;;;;;;;;;;;;;;15888:42;;;;::::1;::::0;;;;15943:1:::1;15868:63:::0;;;:19:::1;::::0;::::1;:63:::0;;;;;-1:-1:-1;;;;;15868:63:0::1;15860:105;;;::::0;;-1:-1:-1;;;15860:105:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;15860:105:0;;;;;;;;;;;;;::::1;;16028:31;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;16028:31:0;;;;;;;;;;;;;;;;;;;;;;16018:42;;;;::::1;::::0;-1:-1:-1;15998:63:0;;;:19:::1;::::0;::::1;:63:::0;;;;;;;15978:17:::1;:83:::0;;-1:-1:-1;;;;;15998:63:0;;::::1;-1:-1:-1::0;;;;;;15978:83:0;;::::1;;::::0;;16109:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15998:63:::1;16109:31:::0;;;;;16099:42;;;;::::1;::::0;;;;16079:63;;;;;;;;;16072:70;;;;::::1;::::0;;16153:36;;-1:-1:-1;;16153:36:0::1;::::0;;15658:539::o;26733:877::-;26855:15;;26899:17;;26929:9;;26899:55;;;-1:-1:-1;;;26899:55:0;;;;;;;;;26948:4;26899:55;;;;;26792:20;;26855:15;26792:20;;-1:-1:-1;;;;;26899:17:0;;;;:29;;:55;;;;;;;;;;;;;;;:17;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26899:55:0;;-1:-1:-1;26983:11:0;;;;;:42;;;27024:1;27011:10;;:14;26983:42;26965:419;;;27056:23;27082:44;27120:5;27082:33;27094:20;;27082:7;:11;;:33;;;;:::i;:44::-;27056:70;;27141:22;27167:43;27204:5;27167:32;27179:19;;27167:7;:11;;:32;;;;:::i;:43::-;27141:69;-1:-1:-1;27235:48:0;27141:69;27235:28;:7;27247:15;27235:11;:28::i;:48::-;27225:58;;27317:55;27338:33;27360:10;;27338:17;27350:4;27338:7;:11;;:17;;;;:::i;:33::-;27317:16;;:20;:55::i;:::-;27298:74;;26965:419;;;-1:-1:-1;;;;;27419:14:0;;27396:19;27419:14;;;:7;:14;;;;;;:46;;27460:4;;27419:36;;27438:16;27419:18;:36::i;:46::-;-1:-1:-1;;;;;27496:23:0;;;;;;:16;:23;;;;;;27396:69;;-1:-1:-1;27482:37:0;;27478:125;;;-1:-1:-1;;;;;27567:23:0;;;;;;:16;:23;;;;;;27551:40;;:11;;:15;:40::i;:::-;27536:55;;27478:125;26733:877;;;;;;:::o;10337:26::-;;;;:::o;12735:114::-;12788:4;;;12809:17;;12788:53;;;-1:-1:-1;;;12788:53:0;;-1:-1:-1;;;;;12809:17:0;;;12788:53;;;;;;;-1:-1:-1;;12788:53:0;;;;;:4;;;:12;;:53;;;;;;;;;;;;;;:4;;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12735:114:0:o;20866:381::-;20957:28;;:36;;20989:4;20957:36;20949:80;;;;;-1:-1:-1;;;20949:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;21075:15;21048:9;:23;;;:42;;21040:94;;;;-1:-1:-1;;;21040:94:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21153:23;;;;21198:15;;21153:41;;11082:7;21153:27;:41::i;:::-;:60;;21145:94;;;;;-1:-1:-1;;;21145:94:0;;;;;;;;;;;;-1:-1:-1;;;21145:94:0;;;;;;;;;;;;;;;20866:381;:::o;7020:196::-;7078:7;7098:6;7094:37;;-1:-1:-1;7122:1:0;7115:8;;7094:37;7149:5;;;7153:1;7149;:5;:1;7169:5;;;;;:10;7161:34;;;;;-1:-1:-1;;;7161:34:0;;;;;;;;;;;;-1:-1:-1;;;7161:34:0;;;;;;;;;;;;;;;7209:1;7020:196;-1:-1:-1;;;7020:196:0:o;7303:283::-;7361:7;7389:1;7385;:5;7377:29;;;;;-1:-1:-1;;;7377:29:0;;;;;;;;;;;;-1:-1:-1;;;7377:29:0;;;;;;;;;;;;;;;7465:9;7481:1;7477;:5;;;;;;;7303:283;-1:-1:-1;;;;7303:283:0:o;7704:129::-;7762:7;7791:1;7786;:6;;7778:30;;;;;-1:-1:-1;;;7778:30:0;;;;;;;;;;;;-1:-1:-1;;;7778:30:0;;;;;;;;;;;;;;;-1:-1:-1;7822:5:0;;;7704:129::o;7900:149::-;7958:7;7986:5;;;8006:6;;;;7998:30;;;;;-1:-1:-1;;;7998:30:0;;;;;;;;;;;;-1:-1:-1;;;7998:30:0;;;;;;;;;;;;;;24073:196;24135:13;;24160:11;;24135:44;;;-1:-1:-1;;;24135:44:0;;;;;;;;;-1:-1:-1;;;;;24135:44:0;;;;;;;;;:13;;;:24;;:44;;;;;;;;;;;;;;;:13;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;24235:15:0;;-1:-1:-1;;;;;24216:14:0;;;;;;:7;24135:44;24216:14;;;;;:45;;24256:4;;24216:35;;:18;:35::i;:45::-;-1:-1:-1;;;;;24190:23:0;;;;;;;:16;:23;;;;;:71;24073:196::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

ipfs://5432dbbad31dc79039aa246bae21b659705a5f0edcaf7fdd9cb153b3321438ab
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.