Contract 0xcfa7f1485fbdc29f52662a8e2d3f247539df51dc

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x7c0d0e50eeae7af6f0c5eca946712ff8ef48d7d0f45d3d25abfe298f7aeebe76Deposit118248092021-10-16 14:28:1547 days 17 hrs ago0x9ae3329ca194a863454096f0c3fe7e63e333356d IN  0xcfa7f1485fbdc29f52662a8e2d3f247539df51dc0 BNB0.00204712
0x2e07ea7e699b2c1249ff9ea84983c43ddd439972c3f09b281a07be48d8f1afc3Withdraw115975712021-10-08 15:22:3455 days 16 hrs ago0x21c2d83737c7523996ea7c68d49580596098a7e7 IN  0xcfa7f1485fbdc29f52662a8e2d3f247539df51dc0 BNB0.001929265
0x5f53fca21718711abc897e9e653e5604572c930e21c87f041caee004c7a987afDeposit114487572021-10-03 11:11:1160 days 20 hrs ago0x21c2d83737c7523996ea7c68d49580596098a7e7 IN  0xcfa7f1485fbdc29f52662a8e2d3f247539df51dc0 BNB0.00204712
0x7738d027a6a53cbed4c98e1f7688c29ee699a333ce8fa9252938492fe77bc03aDeposit114487332021-10-03 11:09:5960 days 20 hrs ago0x21c2d83737c7523996ea7c68d49580596098a7e7 IN  0xcfa7f1485fbdc29f52662a8e2d3f247539df51dc0 BNB0.0001563
0x1727b682c6f3a23944a0aa4f6426cfe05bdac1bc64dfddd8ae7d318c6fe229f5Deposit114487172021-10-03 11:09:1160 days 20 hrs ago0x21c2d83737c7523996ea7c68d49580596098a7e7 IN  0xcfa7f1485fbdc29f52662a8e2d3f247539df51dc0 BNB0.0001563
0x6c5d6654badd229743d3e6cdae9e7aec7ba61df6d5449c485292da5cbc72a177Withdraw113907532021-10-01 10:18:0162 days 21 hrs ago0x21c2d83737c7523996ea7c68d49580596098a7e7 IN  0xcfa7f1485fbdc29f52662a8e2d3f247539df51dc0 BNB0.00185869
0x059a67228ff76dc6443cd629390873b5a1896865f948c121bc1c789964977d67Harvest112884462021-09-27 20:10:0466 days 11 hrs ago0x21c2d83737c7523996ea7c68d49580596098a7e7 IN  0xcfa7f1485fbdc29f52662a8e2d3f247539df51dc0 BNB0.00166363
0xd46729526154a01652f12ba060b0b72ebaa04f762c13378a982507bf9c9a5de4Withdraw106723782021-09-06 7:17:0288 days 32 mins ago0x9ae3329ca194a863454096f0c3fe7e63e333356d IN  0xcfa7f1485fbdc29f52662a8e2d3f247539df51dc0 BNB0.001928195
0x1bfd751d8d8e3cc10d3b4c8613e9ad6ca2b4307c2bbfbb843f700d7ac393875dDeposit105906412021-09-03 10:49:5890 days 20 hrs ago0x21c2d83737c7523996ea7c68d49580596098a7e7 IN  0xcfa7f1485fbdc29f52662a8e2d3f247539df51dc0 BNB0.002154785
0x7f48e72fa684843abebb8e6b5fa7a65c69a65b75d3cfc69655872097be412ea1Harvest97042292021-08-03 4:12:26122 days 3 hrs ago0x9ae3329ca194a863454096f0c3fe7e63e333356d IN  0xcfa7f1485fbdc29f52662a8e2d3f247539df51dc0 BNB0.00166363
0xa45cec20eec1da65e4705061d940ee99dbb87950a8cc382139d04b2d1f046321Harvest94073532021-07-23 11:39:45132 days 20 hrs ago0x9ae3329ca194a863454096f0c3fe7e63e333356d IN  0xcfa7f1485fbdc29f52662a8e2d3f247539df51dc0 BNB0.00166363
0xd3cf05a2e4d954d95887deca055c4cb8a9a2acbbf8c402b2248072b16475a468Harvest89988542021-07-09 7:06:03147 days 43 mins ago0x21c2d83737c7523996ea7c68d49580596098a7e7 IN  0xcfa7f1485fbdc29f52662a8e2d3f247539df51dc0 BNB0.00173863
0xcf5d0be15f9357e7142b0da2f40c5f6dc93177671aa7f23e20e4862c3b45955fHarvest89125522021-07-06 7:04:20150 days 45 mins agoTuringMachine Token: Deployer IN  0xcfa7f1485fbdc29f52662a8e2d3f247539df51dc0 BNB0.00164263
0xd36b79ca549094c6609dd10fa128b8466ecd011167c664d55a386884bd8c295aDeposit88987092021-07-05 19:25:32150 days 12 hrs ago0x21c2d83737c7523996ea7c68d49580596098a7e7 IN  0xcfa7f1485fbdc29f52662a8e2d3f247539df51dc0 BNB0.00204718
0x56c3e160e9cc06bd5bc6a9bbb48a62d7926f00dc159dbaf695f5aeb3c5d2ec3fWithdraw86117812021-06-25 18:33:26160 days 13 hrs ago0xf1b0e78a2bc422df50ec9ee4c324895c9b79f80a IN  0xcfa7f1485fbdc29f52662a8e2d3f247539df51dc0 BNB0.00185869
0xb9929b1c735067ab25a806df2a2afb0a5a0d66ad2f26a547c9a484801e8cc4c9Withdraw86009952021-06-25 9:31:41160 days 22 hrs ago0x17b1d9a1a8f0363e04bccdf2839cb107b2297774 IN  0xcfa7f1485fbdc29f52662a8e2d3f247539df51dc0 BNB0.001854265
0x4071c9b09c93eb02a5e23ee9e6128dd94f77466fb6869fd5f10080373f29f9afWithdraw86006952021-06-25 9:16:41160 days 22 hrs ago0x2c5f9400823db2b62ad09cd36fa4faeeb880435b IN  0xcfa7f1485fbdc29f52662a8e2d3f247539df51dc0 BNB0.001854265
0xef143552c5b88266edb85d6f30abc10617b052b448835ec895e4614c89111625Harvest86006882021-06-25 9:16:20160 days 22 hrs ago0x2c5f9400823db2b62ad09cd36fa4faeeb880435b IN  0xcfa7f1485fbdc29f52662a8e2d3f247539df51dc0 BNB0.00166357
0x58331b16ee204fe5aea9c8da01e1571eaf5c903706f60fb019d7e36e91178ae8Withdraw86005202021-06-25 9:07:56160 days 22 hrs ago0x07c389dd281f115017e2b28065fac2b8854f5874 IN  0xcfa7f1485fbdc29f52662a8e2d3f247539df51dc0 BNB0.001854265
0x6f4ca2f08eddb3a3d72f022cd61bc182b3ed2207f237c9e50bd7b4b5b6949121Harvest85088692021-06-22 4:25:31164 days 3 hrs agoTuringMachine Token: Deployer IN  0xcfa7f1485fbdc29f52662a8e2d3f247539df51dc0 BNB0.00172619
0x5a484c6d7a7a20fa3d4eb48bf2dd09f4a1f0597ac23d58dadb806d11d920bc1bDeposit84861042021-06-21 9:21:51164 days 22 hrs ago0x9ae3329ca194a863454096f0c3fe7e63e333356d IN  0xcfa7f1485fbdc29f52662a8e2d3f247539df51dc0 BNB0.00216866
0x94b68ea8e60d4b8d64495fbe3be7f6804709786a1a34c31bfe886f04ba6cf7deDeposit84366522021-06-19 16:06:42166 days 15 hrs ago0x9ae3329ca194a863454096f0c3fe7e63e333356d IN  0xcfa7f1485fbdc29f52662a8e2d3f247539df51dc0 BNB0.00204718
0x3e0e58608a5e73add8dd1c22ecf5f292de8a25e74c7c53efcb24814348c3aa10Deposit84307812021-06-19 11:06:01166 days 20 hrs ago0x17b1d9a1a8f0363e04bccdf2839cb107b2297774 IN  0xcfa7f1485fbdc29f52662a8e2d3f247539df51dc0 BNB0.00204712
0xf3417909396c334f0479b43993d87e550768c342c5a4e39f18320a68a85ca0b3Harvest84033312021-06-18 12:01:49167 days 19 hrs ago0x2c5f9400823db2b62ad09cd36fa4faeeb880435b IN  0xcfa7f1485fbdc29f52662a8e2d3f247539df51dc0 BNB0.00174713
0x046bec58be57bfddddbc46db75be83edbee167642715822fd65cc951dd64a7d3Withdraw82974602021-06-14 18:52:44171 days 12 hrs ago0x17b1d9a1a8f0363e04bccdf2839cb107b2297774 IN  0xcfa7f1485fbdc29f52662a8e2d3f247539df51dc0 BNB0.001937765
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TuringFarmBTCBBNBLP

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-05-05
*/

// 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 TuringFarmBTCBBNBLP 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);

        if (_wantAmt > shareOf[msg.sender]) {
            _wantAmt = shareOf[msg.sender];
        }

        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"}]

608060405260646001556000600d556000600e556000600f55620151806010556032601355600a60145534801561003557600080fd5b5060405162004cd038038062004cd0833981810160405260e081101561005a57600080fd5b508051602082015160408301516060840151608085015160a086015160c0909601516001600055600280546001600160a01b03199081163317909155600a80546001600160a01b0398891690831617905560088054968816968216969096179095556004805494871694861694909417909355600380549286169285169290921790915560058054918516918416919091179055600680549484169483169490941790935560078054929093169116179055614bb4806200011c6000396000f3fe60806040526004361061031d5760003560e01c806383c58369116101ab578063bce645db116100f7578063dda86d7211610095578063e91dc7131161006f578063e91dc71314610d96578063f2dff42114610dab578063f47a396f14610dde578063feb87d1714610df357610324565b8063dda86d7214610d42578063e177246e14610d57578063e4598aa914610d8157610324565b8063c1a287e2116100d1578063c1a287e21461088b578063c850a95e14610d03578063d1b8a3b514610d18578063d77e795614610d2d57610324565b8063bce645db14610ba3578063bd0c5a9d14610bb8578063bf886c5c14610cee57610324565b80639312dc5f11610164578063a6425bae1161013e578063a6425bae14610b3a578063ae0638cb14610b4f578063b1b43ae514610b64578063b6b55f2514610b7957610324565b80639312dc5f146109ba57806396c8ee5c14610af25780639d65ccd514610b0757610324565b806383c58369146108a0578063880ad0af146108b55780638cac8f03146108ca5780638d72647e1461097b5780638da5cb5b146109905780638ecc676f146109a557610324565b8063375ba3781161026a5780635dd84ea7116102235780636edc28fd116101fd5780636edc28fd146106fb578063725968731461074057806372c3baa5146108765780637d645fab1461088b57610324565b80635dd84ea7146106bc5780636a42b8f8146106d15780636e9322b3146106e657610324565b8063375ba378146105e757806338266b22146105fc5780633ca5b234146106685780634ca6ef281461067d57806354fd4d501461069257806359aad470146106a757610324565b806316de220a116102d757806321e5e2c4116102b157806321e5e2c41461056057806324b9b13a146105935780632e1a7d4d146105a857806332009eda146105d257610324565b806316de220a146105215780631b99b1c1146105365780631f1fcd511461054b57610324565b80622b838314610329578063026c4207146103405780630e5c011e146103675780630e8c7a5b1461039a57806312518dc3146103af57806314ca81ed146103e057610324565b3661032457005b600080fd5b34801561033557600080fd5b5061033e610e08565b005b34801561034c57600080fd5b50610355610ff5565b60408051918252519081900360200190f35b34801561037357600080fd5b5061033e6004803603602081101561038a57600080fd5b50356001600160a01b0316610ffb565b3480156103a657600080fd5b50610355611506565b3480156103bb57600080fd5b506103c46115d3565b604080516001600160a01b039092168252519081900360200190f35b3480156103ec57600080fd5b5061033e6004803603606081101561040357600080fd5b810190602081018135600160201b81111561041d57600080fd5b82018360208201111561042f57600080fd5b803590602001918460018302840111600160201b8311171561045057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156104a257600080fd5b8201836020820111156104b457600080fd5b803590602001918460018302840111600160201b831117156104d557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550505090356001600160a01b031691506115e29050565b34801561052d57600080fd5b506103c46118c2565b34801561054257600080fd5b506103556118d1565b34801561055757600080fd5b506103c46118d7565b34801561056c57600080fd5b506103556004803603602081101561058357600080fd5b50356001600160a01b03166118e6565b34801561059f57600080fd5b506103556118f8565b3480156105b457600080fd5b5061033e600480360360208110156105cb57600080fd5b50356118fe565b3480156105de57600080fd5b5061033e611c50565b3480156105f357600080fd5b506103c4612242565b34801561060857600080fd5b5061062f6004803603602081101561061f57600080fd5b50356001600160a01b0316612251565b604051808261016080838360005b8381101561065557818101518382015260200161063d565b5050505090500191505060405180910390f35b34801561067457600080fd5b506103c461254c565b34801561068957600080fd5b506103c461255b565b34801561069e57600080fd5b5061035561256a565b3480156106b357600080fd5b50610355612570565b3480156106c857600080fd5b5061033e61279c565b3480156106dd57600080fd5b506103556129da565b3480156106f257600080fd5b5061033e6129e0565b34801561070757600080fd5b506107256004803603602081101561071e57600080fd5b5035612c18565b60408051921515835260208301919091528051918290030190f35b34801561074c57600080fd5b506103556004803603604081101561076357600080fd5b810190602081018135600160201b81111561077d57600080fd5b82018360208201111561078f57600080fd5b803590602001918460018302840111600160201b831117156107b057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561080257600080fd5b82018360208201111561081457600080fd5b803590602001918460018302840111600160201b8311171561083557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612c37945050505050565b34801561088257600080fd5b50610355612d7a565b34801561089757600080fd5b50610355612d80565b3480156108ac57600080fd5b50610355612d87565b3480156108c157600080fd5b5061033e612d8d565b3480156108d657600080fd5b5061033e600480360360208110156108ed57600080fd5b810190602081018135600160201b81111561090757600080fd5b82018360208201111561091957600080fd5b803590602001918460018302840111600160201b8311171561093a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612fa6945050505050565b34801561098757600080fd5b506103c4613137565b34801561099c57600080fd5b506103c4613146565b3480156109b157600080fd5b5061033e613155565b3480156109c657600080fd5b5061033e600480360360608110156109dd57600080fd5b810190602081018135600160201b8111156109f757600080fd5b820183602082011115610a0957600080fd5b803590602001918460018302840111600160201b83111715610a2a57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115610a7c57600080fd5b820183602082011115610a8e57600080fd5b803590602001918460018302840111600160201b83111715610aaf57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925061333d915050565b348015610afe57600080fd5b506103c4613550565b348015610b1357600080fd5b5061035560048036036020811015610b2a57600080fd5b50356001600160a01b031661355f565b348015610b4657600080fd5b5061033e613571565b348015610b5b57600080fd5b5061035561379c565b348015610b7057600080fd5b506103556137a2565b348015610b8557600080fd5b5061033e60048036036020811015610b9c57600080fd5b50356137a9565b348015610baf57600080fd5b506103c4613a8b565b348015610bc457600080fd5b506103c460048036036040811015610bdb57600080fd5b810190602081018135600160201b811115610bf557600080fd5b820183602082011115610c0757600080fd5b803590602001918460018302840111600160201b83111715610c2857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115610c7a57600080fd5b820183602082011115610c8c57600080fd5b803590602001918460018302840111600160201b83111715610cad57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550613a9a945050505050565b348015610cfa57600080fd5b5061033e613be4565b348015610d0f57600080fd5b50610355613df8565b348015610d2457600080fd5b5061033e613e38565b348015610d3957600080fd5b5061033e61402a565b348015610d4e57600080fd5b50610355614235565b348015610d6357600080fd5b5061033e60048036036020811015610d7a57600080fd5b503561423b565b348015610d8d57600080fd5b506103c4614311565b348015610da257600080fd5b5061033e614320565b348015610db757600080fd5b5061035560048036036020811015610dce57600080fd5b50356001600160a01b0316614555565b348015610dea57600080fd5b506103556146fc565b348015610dff57600080fd5b5061033e614702565b6002546001600160a01b03163314610e55576040805162461bcd60e51b81526020600482015260126024820152600080516020614b5f833981519152604482015290519081900360640190fd5b604080516020808201819052600c828401526b7365745069644f664661726d60a01b6060808401919091528351808403909101815260808301808552815191830191909120600090815260179092529083902060c08301909352825460ff1615158152600183015460a090920191909152610ecf9061478a565b604080516020808201819052600982840152687069644f664661726d60b81b60608084019190915283518084039091018152608090920183528151918101919091206000908152600384019091522054610f61576040805162461bcd60e51b815260206004820152600e60248201526d1253959053125117d05353d5539560921b604482015290519081900360640190fd5b6040805160208082018190526009828401819052687069644f664661726d60b81b60608085018290528551808603909101815260808501865280519084012060009081526003870180855286822054600c5560a0860185905260c086019390935260e0808601929092528551808603909201825261010090940185528051908301208352905290812055805460ff19169055565b600d5481565b600954600b5460408051630c7e663b60e11b815260048101929092526001600160a01b03848116602484015281519316926318fccc769260448082019392918290030181600087803b15801561105057600080fd5b505af1158015611064573d6000803e3d6000fd5b505050506040513d604081101561107a57600080fd5b5050600854600c5460408051631175a1dd60e01b81526004810192909252306024830152516000926001600160a01b031691631175a1dd916044808301926020929190829003018186803b1580156110d157600080fd5b505afa1580156110e5573d6000803e3d6000fd5b505050506040513d60208110156110fb57600080fd5b50519050801580159061111057506000600d54115b1561131d57600854600c5460408051630441a3e760e41b8152600481019290925260006024830181905290516001600160a01b039093169263441a3e7092604480820193929182900301818387803b15801561116b57600080fd5b505af115801561117f573d6000803e3d6000fd5b5050505060006111a66127106111a06013548561488790919063ffffffff16565b906148eb565b905060006111c56127106111a06014548661488790919063ffffffff16565b6003546015546040805163a9059cbb60e01b81526001600160a01b03928316600482015260248101879052905193945091169163a9059cbb916044808201926020929091908290030181600087803b15801561122057600080fd5b505af1158015611234573d6000803e3d6000fd5b505050506040513d602081101561124a57600080fd5b50506003546016546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018590529051919092169163a9059cbb9160448083019260209291908290030181600087803b1580156112a557600080fd5b505af11580156112b9573d6000803e3d6000fd5b505050506040513d60208110156112cf57600080fd5b506112e69050816112e08585614943565b90614943565b925061131761130e600d546111a069d3c21bcecceda10000008761488790919063ffffffff16565b600e549061498e565b600e5550505b42600f55600e546001600160a01b03831660009081526011602052604081205490916113599169d3c21bcecceda1000000916111a09190614887565b6001600160a01b0384166000908152601260205260409020549091508111156114b0576001600160a01b0383166000908152601260205260408120546113a0908390614943565b600354604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156113f157600080fd5b505afa158015611405573d6000803e3d6000fd5b505050506040513d602081101561141b57600080fd5b505190508082111561142b578091505b6003546040805163a9059cbb60e01b81526001600160a01b038881166004830152602482018690529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561148157600080fd5b505af1158015611495573d6000803e3d6000fd5b505050506040513d60208110156114ab57600080fd5b505050505b600e546001600160a01b0384166000908152601160205260409020546114e59169d3c21bcecceda1000000916111a091614887565b6001600160a01b039093166000908152601260205260409020929092555050565b600854600c5460408051631175a1dd60e01b815260048101929092523060248301525160009283926001600160a01b0390911691631175a1dd91604480820192602092909190829003018186803b15801561156057600080fd5b505afa158015611574573d6000803e3d6000fd5b505050506040513d602081101561158a57600080fd5b5051600f549091506000904211156115be576115bb6115b4600f544261494390919063ffffffff16565b83906148eb565b90505b6010546115cc908290614887565b9250505090565b6005546001600160a01b031681565b6002546001600160a01b0316331461162f576040805162461bcd60e51b81526020600482015260126024820152600080516020614b5f833981519152604482015290519081900360640190fd5b600060176000856040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561167657818101518382015260200161165e565b50505050905090810190601f1680156116a35780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001208152602001908152602001600020905081816002016000856040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156117165781810151838201526020016116fe565b50505050905090810190601f1680156117435780820380516001836020036101000a031916815260200191505b5060408051808303601f1901815291815281516020928301208652908501959095525050500160002080546001600160a01b0319166001600160a01b0392909216919091179055805460ff191660011781556018546117a390429061498e565b81600101819055507f1bd33efd68d2824f5f0f2519ce7c9ca0ddff6234523468e89077a0dca7b73970848484604051808060200180602001846001600160a01b03168152602001838103835286818151815260200191508051906020019080838360005b8381101561181f578181015183820152602001611807565b50505050905090810190601f16801561184c5780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b8381101561187f578181015183820152602001611867565b50505050905090810190601f1680156118ac5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a150505050565b6015546001600160a01b031681565b60145481565b6004546001600160a01b031681565b60116020526000908152604090205481565b600e5481565b60026000541415611956576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000558061199d576040805162461bcd60e51b815260206004820152600d60248201526c1253959053125117d253941555609a1b604482015290519081900360640190fd5b6119a633610ffb565b336000908152601160205260409020548111156119cf5750336000908152601160205260409020545b600854600c5460408051630441a3e760e41b8152600481019290925260248201849052516001600160a01b039092169163441a3e709160448082019260009290919082900301818387803b158015611a2657600080fd5b505af1158015611a3a573d6000803e3d6000fd5b505033600090815260116020526040902054611a599250905082614943565b33600090815260116020526040902055600d54611a769082614943565b600d5560048054604080516370a0823160e01b81523093810193909352516000926001600160a01b03909216916370a08231916024808301926020929190829003018186803b158015611ac857600080fd5b505afa158015611adc573d6000803e3d6000fd5b505050506040513d6020811015611af257600080fd5b5051905081811015611b02578091505b600480546040805163a9059cbb60e01b8152339381019390935260248301859052516001600160a01b039091169163a9059cbb9160448083019260209291908290030181600087803b158015611b5757600080fd5b505af1158015611b6b573d6000803e3d6000fd5b505050506040513d6020811015611b8157600080fd5b505081811115611c0357600854600c546001600160a01b039091169063e2bbb15890611bad8486614943565b6040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015611bea57600080fd5b505af1158015611bfe573d6000803e3d6000fd5b505050505b611c0c336149d6565b604080513381526020810184905281517fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc929181900390910190a150506001600055565b6002546001600160a01b03163314611c9d576040805162461bcd60e51b81526020600482015260126024820152600080516020614b5f833981519152604482015290519081900360640190fd5b604080516020808201819052601282840152716368616e6765546f6b656e4164647265737360701b6060808401919091528351808403909101815260808301808552815191830191909120600090815260179092529083902060c08301909352825460ff1615158152600183015460a090920191909152611d1d9061478a565b604080516020808201819052600482840152631dd85b9d60e21b606080840191909152835180840390910181526080909201835281519181019190912060009081526002840190915220546001600160a01b031615611e20576040805160208082018190526004828401819052631dd85b9d60e21b6060808501829052855180860390910181526080850186528051908401206000908152600287018085528682205484546001600160a01b039091166001600160a01b031991821617855560a0870186905260c087019490945260e080870193909352865180870390930183526101009095018652815191840191909120815292909152919020805490911690555b60408051602080820181905260068284015265545552494e4760d01b606080840191909152835180840390910181526080909201835281519181019190912060009081526002840190915220546001600160a01b031615611f2957604080516020808201819052600682840181905265545552494e4760d01b60608085018290528551808603909101815260808501865280519084012060009081526002870180855286822054600580546001600160a01b039092166001600160a01b031992831617905560a0870186905260c087019490945260e080870193909352865180870390930183526101009095018652815191840191909120815292909152919020805490911690555b6040805160208082018190526004828401526343414b4560e01b606080840191909152835180840390910181526080909201835281519181019190912060009081526002840190915220546001600160a01b03161561202e5760408051602080820181905260048284018190526343414b4560e01b60608085018290528551808603909101815260808501865280519084012060009081526002870180855286822054600380546001600160a01b039092166001600160a01b031992831617905560a0870186905260c087019490945260e080870193909352865180870390930183526101009095018652815191840191909120815292909152919020805490911690555b604080516020808201819052600482840152633bb1373160e11b606080840191909152835180840390910181526080909201835281519181019190912060009081526002840190915220546001600160a01b031615612133576040805160208082018190526004828401819052633bb1373160e11b60608085018290528551808603909101815260808501865280519084012060009081526002870180855286822054600680546001600160a01b039092166001600160a01b031992831617905560a0870186905260c087019490945260e080870193909352865180870390930183526101009095018652815191840191909120815292909152919020805490911690555b60408051602080820181905260048284015263189d5cd960e21b606080840191909152835180840390910181526080909201835281519181019190912060009081526002840190915220546001600160a01b03161561223857604080516020808201819052600482840181905263189d5cd960e21b60608085018290528551808603909101815260808501865280519084012060009081526002870180855286822054600780546001600160a01b039092166001600160a01b031992831617905560a0870186905260c087019490945260e080870193909352865180870390930183526101009095018652815191840191909120815292909152919020805490911690555b805460ff19169055565b600a546001600160a01b031681565b612259614aac565b612261613df8565b604082015261226e612570565b610140820152600954600b5460408051635e86cd9560e01b81526004810192909252516001600160a01b0390921691635e86cd9591602480820192602092909190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b505160808201526122fc611506565b60a0820152600954600b54604080516324aa7cc560e11b81526004810192909252516001600160a01b0390921691634954f98a91602480820192602092909190829003018186803b15801561235057600080fd5b505afa158015612364573d6000803e3d6000fd5b505050506040513d602081101561237a57600080fd5b505181526001600160a01b03828116803160c0840152600954600b5460408051631069f3b560e01b8152600481019290925260248201939093529151921691631069f3b591604480820192606092909190829003018186803b1580156123df57600080fd5b505afa1580156123f3573d6000803e3d6000fd5b505050506040513d606081101561240957600080fd5b505160e082015260048054604080516370a0823160e01b81526001600160a01b0386811694820194909452905192909116916370a0823191602480820192602092909190829003018186803b15801561246157600080fd5b505afa158015612475573d6000803e3d6000fd5b505050506040513d602081101561248b57600080fd5b50516020808301919091526001600160a01b0383166000908152601190915260409020546101008201526124be82614555565b6060820152600854600c54604080516393f1a40b60e01b8152600481019290925230602483015280516001600160a01b03909316926393f1a40b926044808201939291829003018186803b15801561251557600080fd5b505afa158015612529573d6000803e3d6000fd5b505050506040513d604081101561253f57600080fd5b5051610120820152919050565b6007546001600160a01b031681565b6003546001600160a01b031681565b60015481565b6040805160038082526080820190925260009160609190602082018380368337505060035482519293506001600160a01b0316918391506000906125b057fe5b6001600160a01b0392831660209182029290920101526006548251911690829060019081106125db57fe5b6001600160a01b03928316602091820292909201015260075482519116908290600290811061260657fe5b6001600160a01b03928316602091820292909201810191909152600a546040805163d06ca61f60e01b8152670de0b6b3a76400006004820181815260248301938452875160448401528751600097959095169563d06ca61f9592948994929390926064019185810191028083838c5b8381101561268d578181015183820152602001612675565b50505050905001935050505060006040518083038186803b1580156126b157600080fd5b505afa92505050801561277157506040513d6000823e601f3d908101601f1916820160405260208110156126e457600080fd5b8101908080516040519392919084600160201b82111561270357600080fd5b90830190602082018581111561271857600080fd5b82518660208202830111600160201b8211171561273457600080fd5b82525081516020918201928201910280838360005b83811015612761578181015183820152602001612749565b5050505090500160405250505060015b61277d57506000612796565b8060028151811061278a57fe5b60200260200101519150505b91505090565b6002546001600160a01b031633146127e9576040805162461bcd60e51b81526020600482015260126024820152600080516020614b5f833981519152604482015290519081900360640190fd5b604080516020808201819052601c828401527f73657450616e63616b654d617374657243686566436f6e7472616374000000006060808401919091528351808403909101815260808301808552815191830191909120600090815260179092529083902060c08301909352825460ff1615158152600183015460a0909201919091526128749061478a565b604080516020808201819052601182840152703830b735b0b1b2a6b0b9ba32b921b432b360791b606080840191909152835180840390910181526080909201835281519181019190912060009081526002840190915220546001600160a01b0316612918576040805162461bcd60e51b815260206004820152600f60248201526e494e56414c49445f4144445245535360881b604482015290519081900360640190fd5b6040805160208082018190526011828401819052703830b735b0b1b2a6b0b9ba32b921b432b360791b60608085018290528551808603909101815260808501865280519084012060009081526002870180855286822054600880546001600160a01b039092166001600160a01b031992831617905560a0870186905260c087019490945260e08087019390935286518087039093018352610100909501865281519184019190912081529290915291902080549091169055805460ff19169055565b60185481565b6002546001600160a01b03163314612a2d576040805162461bcd60e51b81526020600482015260126024820152600080516020614b5f833981519152604482015290519081900360640190fd5b60408051602080820181905260158284015274736574506572666f726d616e63654d616368696e6560581b6060808401919091528351808403909101815260808301808552815191830191909120600090815260179092529083902060c08301909352825460ff1615158152600183015460a090920191909152612ab09061478a565b60408051602080820181905260128284015271706572666f726d616e63654d616368696e6560701b606080840191909152835180840390910181526080909201835281519181019190912060009081526002840190915220546001600160a01b0316612b55576040805162461bcd60e51b815260206004820152600f60248201526e494e56414c49445f4144445245535360881b604482015290519081900360640190fd5b604080516020808201819052601282840181905271706572666f726d616e63654d616368696e6560701b60608085018290528551808603909101815260808501865280519084012060009081526002870180855286822054601580546001600160a01b039092166001600160a01b031992831617905560a0870186905260c087019490945260e08087019390935286518087039093018352610100909501865281519184019190912081529290915291902080549091169055805460ff19169055565b6017602052600090815260409020805460019091015460ff9091169082565b600060176000846040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015612c7e578181015183820152602001612c66565b50505050905090810190601f168015612cab5780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012081526020019081526020016000206003016000836040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015612d1a578181015183820152602001612d02565b50505050905090810190601f168015612d475780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012081526020019081526020016000205490505b92915050565b600c5481565b62278d0081565b60105481565b6002546001600160a01b03163314612dda576040805162461bcd60e51b81526020600482015260126024820152600080516020614b5f833981519152604482015290519081900360640190fd5b6040805160208082018190526011828401527007472616e736665724f776e65727368697607c1b6060808401919091528351808403909101815260808301808552815191830191909120600090815260179092529083902060c08301909352825460ff1615158152600183015460a090920191909152612e599061478a565b6040805160208082018190526005828401526437bbb732b960d91b606080840191909152835180840390910181526080909201835281519181019190912060009081526002840190915220546001600160a01b0316612ef1576040805162461bcd60e51b815260206004820152600f60248201526e494e56414c49445f4144445245535360881b604482015290519081900360640190fd5b60408051602080820181905260058284018190526437bbb732b960d91b606080850182905285518086039091018152608085018652805190840120600090815260028781018086528783205482546001600160a01b039091166001600160a01b03199182161790925560a0870186905260c087019490945260e080870193909352865180870390930183526101009095018652815191840191909120815291529190912080549091169055805460ff19169055565b6002546001600160a01b03163314612ff3576040805162461bcd60e51b81526020600482015260126024820152600080516020614b5f833981519152604482015290519081900360640190fd5b600060176000836040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561303a578181015183820152602001613022565b50505050905090810190601f1680156130675780820380516001836020036101000a031916815260200191505b5060408051601f1981840301815291815281516020928301208652858201969096529385016000908120805460ff19168155865186815289518188015289519198507fce369f91d52b663114643c430217b52530c2cc7318cac7a3e9d46241cbc354a8978a97919650869550850193508601918190849084905b838110156130f95781810151838201526020016130e1565b50505050905090810190601f1680156131265780820380516001836020036101000a031916815260200191505b509250505060405180910390a15050565b6006546001600160a01b031681565b6002546001600160a01b031681565b6002546001600160a01b031633146131a2576040805162461bcd60e51b81526020600482015260126024820152600080516020614b5f833981519152604482015290519081900360640190fd5b6040805160208082018190526010828401526f7365744d696e696e674d616368696e6560801b6060808401919091528351808403909101815260808301808552815191830191909120600090815260179092529083902060c08301909352825460ff1615158152600183015460a0909201919091526132209061478a565b604080516020808201819052600d828401526c6d696e696e674d616368696e6560981b606080840191909152835180840390910181526080909201835281519181019190912060009081526002840190915220546001600160a01b03166132c0576040805162461bcd60e51b815260206004820152600f60248201526e494e56414c49445f4144445245535360881b604482015290519081900360640190fd5b604080516020808201819052600d828401526c6d696e696e674d616368696e6560981b60608084019190915283518084039091018152608090920183528151918101919091206000908152600284019091522054600980546001600160a01b0319166001600160a01b03909216919091179055805460ff19169055565b6002546001600160a01b0316331461338a576040805162461bcd60e51b81526020600482015260126024820152600080516020614b5f833981519152604482015290519081900360640190fd5b600060176000856040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156133d15781810151838201526020016133b9565b50505050905090810190601f1680156133fe5780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001208152602001908152602001600020905081816003016000856040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015613471578181015183820152602001613459565b50505050905090810190601f16801561349e5780820380516001836020036101000a031916815260200191505b5060408051601f1981840301815291815281516020928301208652908501959095525050500160002055805460ff191660011781556018546134e190429061498e565b600182015560408051908101839052606080825285519082015284517f860699cc7b0f3cb3d034fd31cdfe0816887a9f55d10993224d77c359c3d5555191869186918691819060208083019160808401918801908083836000831561181f578181015183820152602001611807565b6008546001600160a01b031681565b60126020526000908152604090205481565b6002546001600160a01b031633146135be576040805162461bcd60e51b81526020600482015260126024820152600080516020614b5f833981519152604482015290519081900360640190fd5b604080516020808201819052601682840152751cd95d14185b98d85ad954ddd85c10dbdb9d1c9858dd60521b6060808401919091528351808403909101815260808301808552815191830191909120600090815260179092529083902060c08301909352825460ff1615158152600183015460a0909201919091526136429061478a565b604080516020808201819052600b828401526a070616e63616b65537761760ac1b606080840191909152835180840390910181526080909201835281519181019190912060009081526002840190915220546001600160a01b03166136e0576040805162461bcd60e51b815260206004820152600f60248201526e494e56414c49445f4144445245535360881b604482015290519081900360640190fd5b604080516020808201819052600b8284018190526a070616e63616b65537761760ac1b60608085018290528551808603909101815260808501865280519084012060009081526002870180855286822054600a80546001600160a01b039092166001600160a01b031992831617905560a0870186905260c087019490945260e08087019390935286518087039093018352610100909501865281519184019190912081529290915291902080549091169055805460ff19169055565b600f5481565b6202a30081565b60026000541415613801576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260005580613848576040805162461bcd60e51b815260206004820152600d60248201526c1253959053125117d253941555609a1b604482015290519081900360640190fd5b60048054604080516370a0823160e01b815233938101939093525183926001600160a01b03909216916370a08231916024808301926020929190829003018186803b15801561389657600080fd5b505afa1580156138aa573d6000803e3d6000fd5b505050506040513d60208110156138c057600080fd5b50511015613905576040805162461bcd60e51b815260206004820152600d60248201526c1253959053125117d253941555609a1b604482015290519081900360640190fd5b61390e33610ffb565b60048054604080516323b872dd60e01b8152339381019390935230602484015260448301849052516001600160a01b03909116916323b872dd9160648083019260209291908290030181600087803b15801561396957600080fd5b505af115801561397d573d6000803e3d6000fd5b505050506040513d602081101561399357600080fd5b5050600854600c5460408051631c57762b60e31b8152600481019290925260248201849052516001600160a01b039092169163e2bbb1589160448082019260009290919082900301818387803b1580156139ec57600080fd5b505af1158015613a00573d6000803e3d6000fd5b505033600090815260116020526040902054613a1f925090508261498e565b33600090815260116020526040902055600d54613a3c908261498e565b600d55613a48336149d6565b604080513381526020810183905281517f2bf9518c65eff7d1f3ee4106bf0dc41267ccde0924dbfa4ab476ed5c0f45da98929181900390910190a1506001600055565b6009546001600160a01b031681565b600060176000846040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015613ae1578181015183820152602001613ac9565b50505050905090810190601f168015613b0e5780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012081526020019081526020016000206002016000836040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015613b7d578181015183820152602001613b65565b50505050905090810190601f168015613baa5780820380516001836020036101000a031916815260200191505b5060408051808303601f19018152918152815160209283012086529085019590955250505001600020546001600160a01b03169392505050565b6002546001600160a01b03163314613c31576040805162461bcd60e51b81526020600482015260126024820152600080516020614b5f833981519152604482015290519081900360640190fd5b60408051602080820181905260178284018190527f736574526174654f66506572666f726d616e6365466565000000000000000000606080850191909152845180850390910181526080840180865281519184019190912060009081529190925283902060c08301909352825460ff1615158152600183015460a090920191909152613cbc9061478a565b60408051602080820181905260148284015273726174654f66506572666f726d616e636546656560601b60608084019190915283518084039091018152608090920183528151918101919091206000908152600384019091522054613d59576040805162461bcd60e51b815260206004820152600e60248201526d1253959053125117d05353d5539560921b604482015290519081900360640190fd5b604080516020808201819052601482840181905273726174654f66506572666f726d616e636546656560601b6060808501829052855180860390910181526080850186528051908401206000908152600387018085528682205460135560a0860185905260c086019390935260e0808601929092528551808603909201825261010090940185528051908301208352905290812055805460ff19169055565b6040805160038082526080820190925260009160609190602082018380368337505060055482519293506001600160a01b0316918391506000906125b057fe5b6002546001600160a01b03163314613e85576040805162461bcd60e51b81526020600482015260126024820152600080516020614b5f833981519152604482015290519081900360640190fd5b604080516020808201819052600e828401526d7365745069644f664d696e696e6760901b6060808401919091528351808403909101815260808301808552815191830191909120600090815260179092529083902060c08301909352825460ff1615158152600183015460a090920191909152613f019061478a565b604080516020808201819052600b828401526a7069644f664d696e696e6760a81b60608084019190915283518084039091018152608090920183528151918101919091206000908152600384019091522054613f95576040805162461bcd60e51b815260206004820152600e60248201526d1253959053125117d05353d5539560921b604482015290519081900360640190fd5b604080516020808201819052600b8284018190526a7069644f664d696e696e6760a81b60608085018290528551808603909101815260808501865280519084012060009081526003870180855286822054845560a0860185905260c086019390935260e0808601929092528551808603909201825261010090940185528051908301208352905290812055805460ff19169055565b6002546001600160a01b03163314614077576040805162461bcd60e51b81526020600482015260126024820152600080516020614b5f833981519152604482015290519081900360640190fd5b60408051602080820181905260168284015275736574526174654f66436f6e74726f6c6c657246656560501b6060808401919091528351808403909101815260808301808552815191830191909120600090815260179092529083902060c08301909352825460ff1615158152600183015460a0909201919091526140fb9061478a565b60408051602080820181905260138284015272726174654f66436f6e74726f6c6c657246656560681b60608084019190915283518084039091018152608090920183528151918101919091206000908152600384019091522054614197576040805162461bcd60e51b815260206004820152600e60248201526d1253959053125117d05353d5539560921b604482015290519081900360640190fd5b604080516020808201819052601382840181905272726174654f66436f6e74726f6c6c657246656560681b6060808501829052855180860390910181526080850186528051908401206000908152600387018085528682205460145560a0860185905260c086019390935260e0808601929092528551808603909201825261010090940185528051908301208352905290812055805460ff19169055565b60135481565b6002546001600160a01b03163314614288576040805162461bcd60e51b81526020600482015260126024820152600080516020614b5f833981519152604482015290519081900360640190fd5b6202a3008110156142ca5760405162461bcd60e51b8152600401808060200182810382526034815260200180614acc6034913960400191505060405180910390fd5b62278d0081111561430c5760405162461bcd60e51b8152600401808060200182810382526038815260200180614b006038913960400191505060405180910390fd5b601855565b6016546001600160a01b031681565b6002546001600160a01b0316331461436d576040805162461bcd60e51b81526020600482015260126024820152600080516020614b5f833981519152604482015290519081900360640190fd5b60408051602080820181905260148284015273736574436f6e74726f6c6c65724d616368696e6560601b6060808401919091528351808403909101815260808301808552815191830191909120600090815260179092529083902060c08301909352825460ff1615158152600183015460a0909201919091526143ef9061478a565b60408051602080820181905260118284015270636f6e74726f6c6c65724d616368696e6560781b606080840191909152835180840390910181526080909201835281519181019190912060009081526002840190915220546001600160a01b0316614493576040805162461bcd60e51b815260206004820152600f60248201526e494e56414c49445f4144445245535360881b604482015290519081900360640190fd5b604080516020808201819052601182840181905270636f6e74726f6c6c65724d616368696e6560781b60608085018290528551808603909101815260808501865280519084012060009081526002870180855286822054601680546001600160a01b039092166001600160a01b031992831617905560a0870186905260c087019490945260e08087019390935286518087039093018352610100909501865281519184019190912081529290915291902080549091169055805460ff19169055565b600e54600854600c5460408051631175a1dd60e01b81526004810192909252306024830152516000939284926001600160a01b0390911691631175a1dd91604480820192602092909190829003018186803b1580156145b357600080fd5b505afa1580156145c7573d6000803e3d6000fd5b505050506040513d60208110156145dd57600080fd5b5051905080158015906145f257506000600d54115b156146775760006146146127106111a06013548561488790919063ffffffff16565b905060006146336127106111a06014548661488790919063ffffffff16565b9050614643816112e08585614943565b925061467261466b600d546111a069d3c21bcecceda10000008761488790919063ffffffff16565b859061498e565b935050505b6001600160a01b0384166000908152601160205260408120546146aa9069d3c21bcecceda1000000906111a09086614887565b6001600160a01b0386166000908152601260205260409020549091508111156146f4576001600160a01b0385166000908152601260205260409020546146f1908290614943565b93505b505050919050565b600b5481565b600480546008546040805163095ea7b360e01b81526001600160a01b039283169481019490945260001960248501525191169163095ea7b39160448083019260209291908290030181600087803b15801561475c57600080fd5b505af1158015614770573d6000803e3d6000fd5b505050506040513d602081101561478657600080fd5b5050565b805115156001146147e2576040805162461bcd60e51b815260206004820152601f60248201527f5472616e73616374696f6e206861736e2774206265656e207175657565642e00604482015290519081900360640190fd5b42816020015111156148255760405162461bcd60e51b8152600401808060200182810382526027815260200180614b386027913960400191505060405180910390fd5b602081015142906148399062278d0061498e565b1015614884576040805162461bcd60e51b81526020600482015260156024820152742a3930b739b0b1ba34b7b71034b99039ba30b6329760591b604482015290519081900360640190fd5b50565b60008261489657506000612d74565b828202828482816148a357fe5b04146148e4576040805162461bcd60e51b815260206004820152600b60248201526a1253959053125117d3555360aa1b604482015290519081900360640190fd5b9392505050565b600080821161492f576040805162461bcd60e51b815260206004820152600b60248201526a24a72b20a624a22fa224ab60a91b604482015290519081900360640190fd5b600082848161493a57fe5b04949350505050565b600082821115614988576040805162461bcd60e51b815260206004820152600b60248201526a24a72b20a624a22fa9aaa160a91b604482015290519081900360640190fd5b50900390565b6000828201838110156148e4576040805162461bcd60e51b815260206004820152600b60248201526a1253959053125117d0511160aa1b604482015290519081900360640190fd5b600954600b5460408051638fb4e1cd60e01b815260048101929092526001600160a01b0384811660248401529051921691638fb4e1cd916044808201926020929091908290030181600087803b158015614a2f57600080fd5b505af1158015614a43573d6000803e3d6000fd5b505050506040513d6020811015614a5957600080fd5b5050600e546001600160a01b038216600090815260116020526040902054614a909169d3c21bcecceda1000000916111a091614887565b6001600160a01b03909116600090815260126020526040902055565b604051806101600160405280600b90602082028036833750919291505056fe54696d656c6f636b3a3a73657444656c61793a2044656c6179206d75737420657863656564206d696e696d756d2064656c61792e54696d656c6f636b3a3a73657444656c61793a2044656c6179206d757374206e6f7420657863656564206d6178696d756d2064656c61792e5472616e73616374696f6e206861736e2774207375727061737365642074696d65206c6f636b2e494e56414c49445f5045524d495353494f4e0000000000000000000000000000a2646970667358221220a6737ba81e463e78b20c8b9ea6488c1fabe40c811f84533f0b9908dccf605a9164736f6c634300060c003300000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e00000000000000000000000073feaa1ee314f8c655e354234017be2193c9e24e00000000000000000000000061eb789d75a95caa3ff50ed7e47b96c132fec0820000000000000000000000000e09fabb73bd3ade0a17ecc321fd13a19e81ce8200000000000000000000000076ed05fa250e8e993275e6e78b470b4d70ed120b000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c000000000000000000000000e9e7cea3dedca5984780bafc599bd69add087d56

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

00000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e00000000000000000000000073feaa1ee314f8c655e354234017be2193c9e24e00000000000000000000000061eb789d75a95caa3ff50ed7e47b96c132fec0820000000000000000000000000e09fabb73bd3ade0a17ecc321fd13a19e81ce8200000000000000000000000076ed05fa250e8e993275e6e78b470b4d70ed120b000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c000000000000000000000000e9e7cea3dedca5984780bafc599bd69add087d56

-----Decoded View---------------
Arg [0] : _pancakeSwap (address): 0x10ed43c718714eb63d5aa57b78b54704e256024e
Arg [1] : _pancakeMasterChef (address): 0x73feaa1ee314f8c655e354234017be2193c9e24e
Arg [2] : _want (address): 0x61eb789d75a95caa3ff50ed7e47b96c132fec082
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] : 00000000000000000000000061eb789d75a95caa3ff50ed7e47b96c132fec082
Arg [3] : 0000000000000000000000000e09fabb73bd3ade0a17ecc321fd13a19e81ce82
Arg [4] : 00000000000000000000000076ed05fa250e8e993275e6e78b470b4d70ed120b
Arg [5] : 000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c
Arg [6] : 000000000000000000000000e9e7cea3dedca5984780bafc599bd69add087d56


Deployed ByteCode Sourcemap

9815:18234:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20311:470;;;;;;;;;;;;;:::i;:::-;;10324:29;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;22614:1399;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22614:1399:0;-1:-1:-1;;;;;22614:1399:0;;:::i;26295:378::-;;;;;;;;;;;;;:::i;10031:20::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;10031:20:0;;;;;;;;;;;;;;13064:504;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13064:504:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13064:504:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13064:504:0;;;;;;;;-1:-1:-1;13064:504:0;;-1:-1:-1;;;;;13064:504:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13064:504:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13064:504:0;;-1:-1:-1;;;13064:504:0;;-1:-1:-1;;;;;13064:504:0;;-1:-1:-1;13064:504:0;;-1:-1:-1;13064:504:0:i;10750:33::-;;;;;;;;;;;;;:::i;10684:39::-;;;;;;;;;;;;;:::i;10002:18::-;;;;;;;;;;;;;:::i;10508:42::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10508:42:0;-1:-1:-1;;;;;10508:42:0;;:::i;10360:34::-;;;;;;;;;;;;;:::i;21766:840::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21766:840:0;;:::i;17258:1466::-;;;;;;;;;;;;;:::i;10214:37::-;;;;;;;;;;;;;:::i;24704:712::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24704:712:0;-1:-1:-1;;;;;24704:712:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10094:19;;;;;;;;;;;;;:::i;9973:18::-;;;;;;;;;;;;;:::i;9905:28::-;;;;;;;;;;;;;:::i;25862:425::-;;;;;;;;;;;;;:::i;16673:573::-;;;;;;;;;;;;;:::i;11120:17::-;;;;;;;;;;;;;:::i;15028:545::-;;;;;;;;;;;;;:::i;10914:46::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10914:46:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;27813:233;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;27813:233:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;27813:233:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27813:233:0;;;;;;;;-1:-1:-1;27813:233:0;;-1:-1:-1;;;;;27813:233:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;27813:233:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27813:233:0;;-1:-1:-1;27813:233:0;;-1:-1:-1;;;;;27813:233:0:i;10293:24::-;;;;;;;;;;;;;:::i;11069:44::-;;;;;;;;;;;;;:::i;10440:35::-;;;;;;;;;;;;;:::i;14073:485::-;;;;;;;;;;;;;:::i;12782:274::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12782:274:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12782:274:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12782:274:0;;-1:-1:-1;12782:274:0;;-1:-1:-1;;;;;12782:274:0:i;10068:19::-;;;;;;;;;;;;;:::i;9940:20::-;;;;;;;;;;;;;:::i;14566:454::-;;;;;;;;;;;;;:::i;13576:489::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13576:489:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13576:489:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13576:489:0;;;;;;;;-1:-1:-1;13576:489:0;;-1:-1:-1;;;;;13576:489:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13576:489:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13576:489:0;;-1:-1:-1;;13576:489:0;;;-1:-1:-1;13576:489:0;;-1:-1:-1;;13576:489:0:i;10122:43::-;;;;;;;;;;;;;:::i;10557:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10557:51:0;-1:-1:-1;;;;;10557:51:0;;:::i;16128:537::-;;;;;;;;;;;;;:::i;10401:32::-;;;;;;;;;;;;;:::i;11019:43::-;;;;;;;;;;;;;:::i;21178:582::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21178:582:0;;:::i;10172:35::-;;;;;;;;;;;;;:::i;27566:239::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;27566:239:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;27566:239:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27566:239:0;;;;;;;;-1:-1:-1;27566:239:0;;-1:-1:-1;;;;;27566:239:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;27566:239:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27566:239:0;;-1:-1:-1;27566:239:0;;-1:-1:-1;;;;;27566:239:0:i;18736:537::-;;;;;;;;;;;;;:::i;25425:429::-;;;;;;;;;;;;;:::i;19820:483::-;;;;;;;;;;;;;:::i;19281:531::-;;;;;;;;;;;;;:::i;10617:40::-;;;;;;;;;;;;;:::i;12365:285::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12365:285:0;;:::i;10873:32::-;;;;;;;;;;;;;:::i;15581:539::-;;;;;;;;;;;;;:::i;26681:877::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26681:877:0;-1:-1:-1;;;;;26681:877:0;;:::i;10260:26::-;;;;;;;;;;;;;:::i;12658:114::-;;;;;;;;;;;;;:::i;20311:470::-;11396:5;;-1:-1:-1;;;;;11396:5:0;11382:10;:19;11374:50;;;;;-1:-1:-1;;;11374:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11374:50:0;;;;;;;;;;;;;;;20418:26:::1;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;20418:26:0;;;;;;;;;;;;;;;;;;;;;;;;20408:37;;;;::::1;::::0;;;;20368:26:::1;20397:49:::0;;;:10:::1;:49:::0;;;;;;;20457:28;;;;;;;;::::1;;;;::::0;;;;::::1;::::0;;;;;;;;;::::1;::::0;:17:::1;:28::i;:::-;20531:23;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;20531:23:0;;;;;;;;;;;;;;;;;;;;;;;;20521:34;;;;::::1;::::0;;;;20559:1:::1;20504:52:::0;;;:16:::1;::::0;::::1;:52:::0;;;;;20496:83:::1;;;::::0;;-1:-1:-1;;;20496:83:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;20496:83:0;;;;;;;;;;;;;::::1;;20631:23;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;20631:23:0;;;;;;;;;;;;;;;;;;;;;;20621:34;;;;::::1;::::0;20604:52:::1;::::0;;;:16:::1;::::0;::::1;:52:::0;;;;;;;20592:9:::1;:64:::0;20701:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20691:34;;;;::::1;::::0;20674:52;;;;;;;20667:59;20737:36;;-1:-1:-1;;20737:36:0::1;::::0;;20311:470::o;10324:29::-;;;;:::o;22614:1399::-;22664:13;;22686:11;;22664:41;;;-1:-1:-1;;;22664:41:0;;;;;;;;;-1:-1:-1;;;;;22664:41:0;;;;;;;;;:13;;;:21;;:41;;;;;;;;;;;;:13;;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;22734:17:0;;22764:9;;22664:41;22734:55;;-1:-1:-1;;;22734:55:0;;;;;;;;;22783:4;22734:55;;;;;22716:15;;-1:-1:-1;;;;;22734:17:0;;:29;;:55;;;;;22664:41;;22734:55;;;;;;;:17;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22734:55:0;;-1:-1:-1;22818:11:0;;;;;:42;;;22859:1;22846:10;;:14;22818:42;22800:599;;;22891:17;;22918:9;;22891:40;;;-1:-1:-1;;;22891:40:0;;;;;;;;;:17;:40;;;;;;;;-1:-1:-1;;;;;22891:17:0;;;;:26;;:40;;;;;:17;:40;;;;;;:17;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22946:23;22972:44;23010:5;22972:33;22984:20;;22972:7;:11;;:33;;;;:::i;:::-;:37;;:44::i;:::-;22946:70;;23031:22;23056:43;23093:5;23056:32;23068:19;;23056:7;:11;;:32;;;;:::i;:43::-;23114:4;;23128:18;;23114:50;;;-1:-1:-1;;;23114:50:0;;-1:-1:-1;;;;;23128:18:0;;;23114:50;;;;;;;;;;;;23031:68;;-1:-1:-1;23114:4:0;;;:13;;:50;;;;;;;;;;;;;;;:4;;:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;23179:4:0;;23193:17;;23179:48;;;-1:-1:-1;;;23179:48:0;;-1:-1:-1;;;;;23193:17:0;;;23179:48;;;;;;;;;;;;:4;;;;;:13;;:48;;;;;23114:50;;23179:48;;;;;;;:4;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;23252:48:0;;-1:-1:-1;23285:14:0;23252:28;:7;23264:15;23252:11;:28::i;:::-;:32;;:48::i;:::-;23242:58;;23333:54;23353:33;23375:10;;23353:17;23365:4;23353:7;:11;;:17;;;;:::i;:33::-;23333:15;;;:19;:54::i;:::-;23315:15;:72;-1:-1:-1;;22800:599:0;23427:15;23411:13;:31;23501:15;;-1:-1:-1;;;;;23482:14:0;;23455:23;23482:14;;;:7;:14;;;;;;23455:23;;23482:45;;23522:4;;23482:35;;:14;:18;:35::i;:45::-;-1:-1:-1;;;;;23562:23:0;;;;;;:16;:23;;;;;;23455:72;;-1:-1:-1;23544:41:0;;23540:382;;;-1:-1:-1;;;;;23649:23:0;;23602:24;23649:23;;;:16;:23;;;;;;23629:44;;:15;;:19;:44::i;:::-;23711:4;;:29;;;-1:-1:-1;;;23711:29:0;;23734:4;23711:29;;;;;;23602:71;;-1:-1:-1;23688:20:0;;-1:-1:-1;;;;;23711:4:0;;;;:14;;:29;;;;;;;;;;;;;;;:4;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;23711:29:0;;-1:-1:-1;23759:31:0;;;23755:103;;;23830:12;23811:31;;23755:103;23872:4;;:38;;;-1:-1:-1;;;23872:38:0;;-1:-1:-1;;;;;23872:38:0;;;;;;;;;;;;;;;:4;;;;;:13;;:38;;;;;;;;;;;;;;:4;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;23540:382:0;23979:15;;-1:-1:-1;;;;;23960:14:0;;;;;;:7;:14;;;;;;:45;;24000:4;;23960:35;;:18;:35::i;:45::-;-1:-1:-1;;;;;23934:23:0;;;;;;;:16;:23;;;;;:71;;;;-1:-1:-1;;22614:1399:0:o;26295:378::-;26385:17;;26415:9;;26385:55;;;-1:-1:-1;;;26385:55:0;;;;;;;;;26434:4;26385:55;;;;;26347:7;;;;-1:-1:-1;;;;;26385:17:0;;;;:29;;:55;;;;;;;;;;;;;;;:17;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26385:55:0;26509:13;;26385:55;;-1:-1:-1;26451:21:0;;26491:15;:31;26487:131;;;26554:47;26566:34;26586:13;;26566:15;:19;;:34;;;;:::i;:::-;26554:7;;:11;:47::i;:::-;26538:63;;26487:131;26653:11;;26635:30;;:13;;:17;:30::i;:::-;26628:37;;;;26295:378;:::o;10031:20::-;;;-1:-1:-1;;;;;10031:20:0;;:::o;13064:504::-;11396:5;;-1:-1:-1;;;;;11396:5:0;11382:10;:19;11374:50;;;;;-1:-1:-1;;;11374:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11374:50:0;;;;;;;;;;;;;;;13212:26:::1;13241:10;:48;13273:13;13262:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13252:36;;;;;;13241:48;;;;;;;;;;;13212:77;;13357:8;13300:9;:19;;:54;13341:10;13330:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;13330:22:0::1;::::0;;;;::::1;-1:-1:-1::0;;13330:22:0;;;;;;13320:33;;13330:22:::1;13320:33:::0;;::::1;::::0;13300:54;;;;::::1;::::0;;;;-1:-1:-1;;;13300:54:0;-1:-1:-1;13300:54:0;:65;;-1:-1:-1;;;;;;13300:65:0::1;-1:-1:-1::0;;;;;13300:65:0;;;::::1;::::0;;;::::1;::::0;;13376:35;;-1:-1:-1;;13376:35:0::1;-1:-1:-1::0;13376:35:0::1;::::0;;13468:5:::1;::::0;13448:26:::1;::::0;:15:::1;::::0;:19:::1;:26::i;:::-;13422:9;:23;;:52;;;;13490:70;13524:13;13539:10;13551:8;13490:70;;;;;;;;;;-1:-1:-1::0;;;;;13490:70:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;13490:70:0;;::::1;::::0;;;;;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;::::1;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11435:1;13064:504:::0;;;:::o;10750:33::-;;;-1:-1:-1;;;;;10750:33:0;;:::o;10684:39::-;;;;:::o;10002:18::-;;;-1:-1:-1;;;;;10002:18:0;;:::o;10508:42::-;;;;;;;;;;;;;:::o;10360:34::-;;;;:::o;21766:840::-;8861:1;9466:7;;:19;;9458:63;;;;;-1:-1:-1;;;9458:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8861:1;9599:7;:18;21849:12;21841:38:::1;;;::::0;;-1:-1:-1;;;21841:38:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;21841:38:0;;;;;;;;;;;;;::::1;;21890:19;21898:10;21890:7;:19::i;:::-;21945:10;21937:19;::::0;;;:7:::1;:19;::::0;;;;;21926:30;::::1;21922:93;;;-1:-1:-1::0;21992:10:0::1;21984:19;::::0;;;:7:::1;:19;::::0;;;;;21922:93:::1;22027:17;::::0;22054:9:::1;::::0;22027:47:::1;::::0;;-1:-1:-1;;;22027:47:0;;::::1;::::0;::::1;::::0;;;;;;;;;;;-1:-1:-1;;;;;22027: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;;22117:10:0::1;22109:19;::::0;;;:7:::1;:19;::::0;;;;;:33:::1;::::0;-1:-1:-1;22109:19:0;-1:-1:-1;22133:8:0;22109:23:::1;:33::i;:::-;22095:10;22087:19;::::0;;;:7:::1;:19;::::0;;;;:55;22166:10:::1;::::0;:24:::1;::::0;22181:8;22166:14:::1;:24::i;:::-;22153:10;:37:::0;22222:4:::1;::::0;;:29:::1;::::0;;-1:-1:-1;;;22222:29:0;;22245:4:::1;22222:29:::0;;::::1;::::0;;;;;22203:16:::1;::::0;-1:-1:-1;;;;;22222: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;22222:29:0;;-1:-1:-1;22267:19:0;;::::1;22263:71;;;22314:8;22303:19;;22263:71;22344:4;::::0;;:35:::1;::::0;;-1:-1:-1;;;22344:35:0;;22358:10:::1;22344:35:::0;;::::1;::::0;;;;;;;;;;;-1:-1:-1;;;;;22344: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;;22394:19:0;;::::1;22390:112;;;22430:17;::::0;22456:9:::1;::::0;-1:-1:-1;;;;;22430:17:0;;::::1;::::0;:25:::1;::::0;22467:22:::1;:8:::0;22480;22467:12:::1;:22::i;:::-;22430:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;22390:112;22514:23;22526:10;22514:11;:23::i;:::-;22566:32;::::0;;22577:10:::1;22566:32:::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;;;;;;;;::::1;-1:-1:-1::0;;8817:1:0;9778:7;:22;21766:840::o;17258:1466::-;11396:5;;-1:-1:-1;;;;;11396:5:0;11382:10;:19;11374:50;;;;;-1:-1:-1;;;11374:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11374:50:0;;;;;;;;;;;;;;;17371:32:::1;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;17371:32:0;;;;;;;;;;;;;;;;;;;;;;;;17361:43;;;;::::1;::::0;;;;17321:26:::1;17350:55:::0;;;:10:::1;:55:::0;;;;;;;17418:28;;;;;;;;::::1;;;;::::0;;;;::::1;::::0;;;;;;;;;::::1;::::0;:17:::1;:28::i;:::-;17497:18;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;17497:18:0;;;;;;;;;;;;;;;;;;;;;;;;17487:29;;;;::::1;::::0;;;;17529:1:::1;17467:50:::0;;;:19:::1;::::0;::::1;:50:::0;;;;;-1:-1:-1;;;;;17467:50:0::1;:64:::0;17463:234:::1;;17592:18;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;17592:18:0;;;;;;;;;;;;;;;;;;;;;;17582:29;;;;::::1;::::0;-1:-1:-1;17562:50:0;;;:19:::1;::::0;::::1;:50:::0;;;;;;;17548:65;;-1:-1:-1;;;;;17562:50:0;;::::1;-1:-1:-1::0;;;;;;17548:65:0;;::::1;;::::0;;17665:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17562:50:::1;17665:18:::0;;;;;17655:29;;;;::::1;::::0;;;;17635:50;;;;;;;;;17628:57;;;;::::1;::::0;;17463:234:::1;17742:20;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;17742:20:0;;;;;;;;;;;;;;;;;;;;;;;;17732:31;;;;::::1;::::0;;;;17776:1:::1;17712:52:::0;;;:19:::1;::::0;::::1;:52:::0;;;;;-1:-1:-1;;;;;17712:52:0::1;:66:::0;17708:242:::1;;17841:20;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;17841:20:0;;;;;;;;;;;;;;;;;;;;;;17831:31;;;;::::1;::::0;-1:-1:-1;17811:52:0;;;:19:::1;::::0;::::1;:52:::0;;;;;;;17795:6:::1;:69:::0;;-1:-1:-1;;;;;17811:52:0;;::::1;-1:-1:-1::0;;;;;;17795:69:0;;::::1;;::::0;;17916:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17811:52:::1;17916:20:::0;;;;;17906:31;;;;::::1;::::0;;;;17886:52;;;;;;;;;17879:59;;;;::::1;::::0;;17708:242:::1;17995:18;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;17995:18:0;;;;;;;;;;;;;;;;;;;;;;;;17985:29;;;;::::1;::::0;;;;18027:1:::1;17965:50:::0;;;:19:::1;::::0;::::1;:50:::0;;;;;-1:-1:-1;;;;;17965:50:0::1;:64:::0;17961:234:::1;;18090:18;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;18090:18:0;;;;;;;;;;;;;;;;;;;;;;18080:29;;;;::::1;::::0;-1:-1:-1;18060:50:0;;;:19:::1;::::0;::::1;:50:::0;;;;;;;18046:4:::1;:65:::0;;-1:-1:-1;;;;;18060:50:0;;::::1;-1:-1:-1::0;;;;;;18046:65:0;;::::1;;::::0;;18163:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18060:50:::1;18163:18:::0;;;;;18153:29;;;;::::1;::::0;;;;18133:50;;;;;;;;;18126:57;;;;::::1;::::0;;17961:234:::1;18240:18;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;18240:18:0;;;;;;;;;;;;;;;;;;;;;;;;18230:29;;;;::::1;::::0;;;;18272:1:::1;18210:50:::0;;;:19:::1;::::0;::::1;:50:::0;;;;;-1:-1:-1;;;;;18210:50:0::1;:64:::0;18206:226:::1;;18328:18;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;18328:18:0;;;;;;;;;;;;;;;;;;;;;;18318:29;;;;::::1;::::0;-1:-1:-1;18298:50:0;;;:19:::1;::::0;::::1;:50:::0;;;;;;;18291:4:::1;:57:::0;;-1:-1:-1;;;;;18298:50:0;;::::1;-1:-1:-1::0;;;;;;18291:57:0;;::::1;;::::0;;18400:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18298:50:::1;18400:18:::0;;;;;18390:29;;;;::::1;::::0;;;;18370:50;;;;;;;;;18363:57;;;;::::1;::::0;;18206:226:::1;18477:18;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;18477:18:0;;;;;;;;;;;;;;;;;;;;;;;;18467:29;;;;::::1;::::0;;;;18509:1:::1;18447:50:::0;;;:19:::1;::::0;::::1;:50:::0;;;;;-1:-1:-1;;;;;18447:50:0::1;:64:::0;18443:226:::1;;18565:18;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;18565:18:0;;;;;;;;;;;;;;;;;;;;;;18555:29;;;;::::1;::::0;-1:-1:-1;18535:50:0;;;:19:::1;::::0;::::1;:50:::0;;;;;;;18528:4:::1;:57:::0;;-1:-1:-1;;;;;18535:50:0;;::::1;-1:-1:-1::0;;;;;;18528:57:0;;::::1;;::::0;;18637:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18535:50:::1;18637:18:::0;;;;;18627:29;;;;::::1;::::0;;;;18607:50;;;;;;;;;18600:57;;;;::::1;::::0;;18443:226:::1;18680:36:::0;;-1:-1:-1;;18680:36:0::1;::::0;;17258:1466::o;10214:37::-;;;-1:-1:-1;;;;;10214:37:0;;:::o;24704:712::-;24799:24;;:::i;:::-;24853:16;:14;:16::i;:::-;24842:8;;;:27;24892:14;:12;:14::i;:::-;24880:9;;;:26;24928:13;;24963:11;;24928:47;;;-1:-1:-1;;;24928:47:0;;;;;;;;;;-1:-1:-1;;;;;24928:13:0;;;;:34;;:47;;;;;24880:9;;24928:47;;;;;;;;:13;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24928:47:0;24917:8;;;:58;24997:22;:20;:22::i;:::-;24986:8;;;:33;25043:13;;25074:11;;25043:43;;;-1:-1:-1;;;25043:43:0;;;;;;;;;;-1:-1:-1;;;;;25043:13:0;;;;:30;;:43;;;;;24986:8;;25043:43;;;;;;;;:13;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;25043:43:0;25032:54;;-1:-1:-1;;;;;25108:22:0;;;;;25097:8;;;:33;25158:13;;25184:11;;25158:45;;;-1:-1:-1;;;25158:45:0;;;;;;;;;;;;;;;;;;:13;;;:25;;:45;;;;;;;;;;;;;;;:13;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;25158:45:0;25142:8;;;25141:62;25227:4;;;:21;;;-1:-1:-1;;;25227:21:0;;-1:-1:-1;;;;;25227:21:0;;;;;;;;;;;;:4;;;;;:14;;:21;;;;;25142:8;;25227:21;;;;;;;;:4;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;25227:21:0;25216:8;;;;:32;;;;-1:-1:-1;;;;;25272:14:0;;;;;;:7;:14;;;;;;;25261:8;;;:25;25308:20;25272:14;25308:13;:20::i;:::-;25297:8;;;:31;25356:17;;25383:9;;25356:52;;;-1:-1:-1;;;25356:52:0;;;;;;;;;25402:4;25356:52;;;;;;-1:-1:-1;;;;;25356:17:0;;;;:26;;:52;;;;;;;;;;;;:17;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;25356:52:0;25342:8;;;25341:67;25342:5;24704:712;-1:-1:-1;24704:712:0:o;10094:19::-;;;-1:-1:-1;;;;;10094:19:0;;:::o;9973:18::-;;;-1:-1:-1;;;;;9973:18:0;;:::o;9905:28::-;;;;:::o;25862:425::-;25952:16;;;25966:1;25952:16;;;;;;;;;25906:7;;25928:21;;25952:16;;;;25928:21;;25952:16;;;-1:-1:-1;;25999:4:0;;25981:7;;;;-1:-1:-1;;;;;;25999:4:0;;25981:7;;-1:-1:-1;25999:4:0;;25981:7;;;;-1:-1:-1;;;;;25981:23:0;;;:7;;;;;;;;;:23;26025:4;;26015:7;;26025:4;;;26015;;26025;;26015:7;;;;;;-1:-1:-1;;;;;26015:14:0;;;:7;;;;;;;;;:14;26050:4;;26040:7;;26050:4;;;26040;;26045:1;;26040:7;;;;;;-1:-1:-1;;;;;26040:14:0;;;:7;;;;;;;;;;:14;;;;26094:11;;:37;;;-1:-1:-1;;;26094:37:0;;26120:4;26094:37;;;;;;;;;;;;;;;;;;;;26065:14;;26094:11;;;;;:25;;26120:4;;26126;;26094:37;;;;;;;;;;;;;;;26065:14;26094:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;26094:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;26094:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;26094:37:0;;;;;;;;;;;;-1:-1:-1;26094:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26090:166;;-1:-1:-1;26240:1:0;26090:166;;;26187:7;26195:1;26187:10;;;;;;;;;;;;;;26178:19;;26132:77;26090:166;26273:6;-1:-1:-1;;25862:425:0;:::o;16673:573::-;11396:5;;-1:-1:-1;;;;;11396:5:0;11382:10;:19;11374:50;;;;;-1:-1:-1;;;11374:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11374:50:0;;;;;;;;;;;;;;;16793:42:::1;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;;;;;;;;;;;;16783:53;;;;::::1;::::0;;;;16743:26:::1;16772:65:::0;;;:10:::1;:65:::0;;;;;;;16850:28;;;;;;;;::::1;;;;::::0;;;;::::1;::::0;;;;;;;;;::::1;::::0;:17:::1;:28::i;:::-;16927:31;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;16927:31:0;;;;;;;;;;;;;;;;;;;;;;;;16917:42;;;;::::1;::::0;;;;16972:1:::1;16897:63:::0;;;:19:::1;::::0;::::1;:63:::0;;;;;-1:-1:-1;;;;;16897:63:0::1;16889:105;;;::::0;;-1:-1:-1;;;16889:105:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;16889:105:0;;;;;;;;;;;;;::::1;;17076:31;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;17076:31:0;;;;;;;;;;;;;;;;;;;;;;17066:42;;;;::::1;::::0;-1:-1:-1;17046:63:0;;;:19:::1;::::0;::::1;:63:::0;;;;;;;17007:17:::1;:103:::0;;-1:-1:-1;;;;;17046:63:0;;::::1;-1:-1:-1::0;;;;;;17007:103:0;;::::1;;::::0;;17158:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17046:63:::1;17158:31:::0;;;;;17148:42;;;;::::1;::::0;;;;17128:63;;;;;;;;;17121:70;;;;::::1;::::0;;17202:36;;-1:-1:-1;;17202:36:0::1;::::0;;16673:573::o;11120:17::-;;;;:::o;15028:545::-;11396:5;;-1:-1:-1;;;;;11396:5:0;11382:10;:19;11374:50;;;;;-1:-1:-1;;;11374:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11374:50:0;;;;;;;;;;;;;;;15145:35:::1;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;15145:35:0;;;;;;;;;;;;;;;;;;;;;;;;15135:46;;;;::::1;::::0;;;;15095:26:::1;15124:58:::0;;;:10:::1;:58:::0;;;;;;;15193:28;;;;;;;;::::1;;;;::::0;;;;::::1;::::0;;;;;;;;;::::1;::::0;:17:::1;:28::i;:::-;15270:32;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;15270:32:0;;;;;;;;;;;;;;;;;;;;;;;;15260:43;;;;::::1;::::0;;;;15316:1:::1;15240:64:::0;;;:19:::1;::::0;::::1;:64:::0;;;;;-1:-1:-1;;;;;15240:64:0::1;15232:106;;;::::0;;-1:-1:-1;;;15232:106:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;15232:106:0;;;;;;;;;;;;;::::1;;15402:32;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;15402:32:0;;;;;;;;;;;;;;;;;;;;;;15392:43;;;;::::1;::::0;-1:-1:-1;15372:64:0;;;:19:::1;::::0;::::1;:64:::0;;;;;;;15351:18:::1;:85:::0;;-1:-1:-1;;;;;15372:64:0;;::::1;-1:-1:-1::0;;;;;;15351:85:0;;::::1;;::::0;;15484:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15372:64:::1;15484:32:::0;;;;;15474:43;;;;::::1;::::0;;;;15454:64;;;;;;;;;15447:71;;;;::::1;::::0;;15529:36;;-1:-1:-1;;15529:36:0::1;::::0;;15028:545::o;10914:46::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;27813:233::-;27921:7;27948:10;:48;27980:13;27969:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27959:36;;;;;;27948:48;;;;;;;;;;;:55;;:90;28025:10;28014:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28004:33;;;;;;27948:90;;;;;;;;;;;;27941:97;;27813:233;;;;;:::o;10293:24::-;;;;:::o;11069:44::-;11106:7;11069:44;:::o;10440:35::-;;;;:::o;14073:485::-;11396:5;;-1:-1:-1;;;;;11396:5:0;11382:10;:19;11374:50;;;;;-1:-1:-1;;;11374:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11374:50:0;;;;;;;;;;;;;;;14186:31:::1;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;14186:31:0;;;;;;;;;;;;;;;;;;;;;;;;14176:42;;;;::::1;::::0;;;;14136:26:::1;14165:54:::0;;;:10:::1;:54:::0;;;;;;;14230:28;;;;;;;;::::1;;;;::::0;;;;::::1;::::0;;;;;;;;;::::1;::::0;:17:::1;:28::i;:::-;14307:19;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;14307:19:0;;;;;;;;;;;;;;;;;;;;;;;;14297:30;;;;::::1;::::0;;;;14340:1:::1;14277:51:::0;;;:19:::1;::::0;::::1;:51:::0;;;;;-1:-1:-1;;;;;14277:51:0::1;14269:93;;;::::0;;-1:-1:-1;;;14269:93:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;14269:93:0;;;;;;;;;;;;;::::1;;14413:19;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;14413:19:0;;;;;;;;;;;;;;;;;;;;;;14403:30;;;;::::1;::::0;-1:-1:-1;14383:51:0;;;:19:::1;::::0;;::::1;:51:::0;;;;;;;14375:59;;-1:-1:-1;;;;;14383:51:0;;::::1;-1:-1:-1::0;;;;;;14375:59:0;;::::1;;::::0;;;14482:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14383:51:::1;14482:19:::0;;;;;14472:30;;;;::::1;::::0;;;;14452:51;;;;;;;;14445:58;;;;::::1;::::0;;14514:36;;-1:-1:-1;;14514:36:0::1;::::0;;14073:485::o;12782:274::-;11396:5;;-1:-1:-1;;;;;11396:5:0;11382:10;:19;11374:50;;;;;-1:-1:-1;;;11374:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11374:50:0;;;;;;;;;;;;;;;12873:26:::1;12902:10;:48;12934:13;12923:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;12923:25:0::1;::::0;;-1:-1:-1;;12923:25:0;;::::1;::::0;;;;;;12913:36;;12923:25:::1;12913:36:::0;;::::1;::::0;12902:48;;;;::::1;::::0;;;;;;;-1:-1:-1;12902:48:0;;;12961:36;;-1:-1:-1;;12961:36:0::1;::::0;;13013:35;;;;;;;;;::::1;::::0;;;12902:48;;-1:-1:-1;13013:35:0::1;::::0;13034:13;;13013:35;;-1:-1:-1;13013:35:0;;-1:-1:-1;13013:35:0;;;-1:-1:-1;13013:35:0;::::1;::::0;;;;;;;::::1;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11435:1;12782:274:::0;:::o;10068:19::-;;;-1:-1:-1;;;;;10068:19:0;;:::o;9940:20::-;;;-1:-1:-1;;;;;9940:20:0;;:::o;14566:454::-;11396:5;;-1:-1:-1;;;;;11396:5:0;11382:10;:19;11374:50;;;;;-1:-1:-1;;;11374:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11374:50:0;;;;;;;;;;;;;;;14678:30:::1;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;14678:30:0;;;;;;;;;;;;;;;;;;;;;;;;14668:41;;;;::::1;::::0;;;;14628:26:::1;14657:53:::0;;;:10:::1;:53:::0;;;;;;;14721:28;;;;;;;;::::1;;;;::::0;;;;::::1;::::0;;;;;;;;;::::1;::::0;:17:::1;:28::i;:::-;14798:27;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;14798:27:0;;;;;;;;;;;;;;;;;;;;;;;;14788:38;;;;::::1;::::0;;;;14839:1:::1;14768:59:::0;;;:19:::1;::::0;::::1;:59:::0;;;;;-1:-1:-1;;;;;14768:59:0::1;14760:101;;;::::0;;-1:-1:-1;;;14760:101:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;14760:101:0;;;;;;;;;;;;;::::1;;14935:27;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;14935:27:0;;;;;;;;;;;;;;;;;;;;;;;;14925:38;;;;::::1;::::0;;;;14905:59:::1;::::0;;;:19:::1;::::0;::::1;:59:::0;;;;;14874:13:::1;:91:::0;;-1:-1:-1;;;;;;14874:91:0::1;-1:-1:-1::0;;;;;14905:59:0;;::::1;14874:91:::0;;;::::1;::::0;;14976:36;;-1:-1:-1;;14976:36:0::1;::::0;;14566:454::o;13576:489::-;11396:5;;-1:-1:-1;;;;;11396:5:0;11382:10;:19;11374:50;;;;;-1:-1:-1;;;11374:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11374:50:0;;;;;;;;;;;;;;;13719:26:::1;13748:10;:48;13780:13;13769:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13759:36;;;;;;13748:48;;;;;;;;;;;13719:77;;13861:6;13807:9;:16;;:51;13845:10;13834:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;13834:22:0::1;::::0;;-1:-1:-1;;13834:22:0;;::::1;::::0;;;;;;13824:33;;13834:22:::1;13824:33:::0;;::::1;::::0;13807:51;;;;::::1;::::0;;;;-1:-1:-1;;;13807:51:0;-1:-1:-1;13807:51:0;:60;13878:35;;-1:-1:-1;;13878:35:0::1;13909:4;13878:35;::::0;;13970:5:::1;::::0;13950:26:::1;::::0;:15:::1;::::0;:19:::1;:26::i;:::-;13924:23;::::0;::::1;:52:::0;13992:65:::1;::::0;;;;;;;;;;;;;;;;;;;;::::1;::::0;14023:13;;14038:10;;14050:6;;13992:65;;::::1;::::0;;::::1;::::0;;;;;;::::1;::::0;;;;;;;::::1;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;10122:43:::0;;;-1:-1:-1;;;;;10122:43:0;;:::o;10557:51::-;;;;;;;;;;;;;:::o;16128:537::-;11396:5;;-1:-1:-1;;;;;11396:5:0;11382:10;:19;11374:50;;;;;-1:-1:-1;;;11374:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11374:50:0;;;;;;;;;;;;;;;16242:36:::1;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;16242:36:0;;;;;;;;;;;;;;;;;;;;;;;;16232:47;;;;::::1;::::0;;;;16192:26:::1;16221:59:::0;;;:10:::1;:59:::0;;;;;;;16293:28;;;;;;;;::::1;;;;::::0;;;;::::1;::::0;;;;;;;;;::::1;::::0;:17:::1;:28::i;:::-;16370:25;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;16370:25:0;;;;;;;;;;;;;;;;;;;;;;;;16360:36;;;;::::1;::::0;;;;16409:1:::1;16340:57:::0;;;:19:::1;::::0;::::1;:57:::0;;;;;-1:-1:-1;;;;;16340:57:0::1;16332:99;;;::::0;;-1:-1:-1;;;16332:99:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;16332:99:0;;;;;;;;;;;;;::::1;;16507:25;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;16507:25:0;;;;;;;;;;;;;;;;;;;;;;16497:36;;;;::::1;::::0;-1:-1:-1;16477:57:0;;;:19:::1;::::0;::::1;:57:::0;;;;;;;16444:11:::1;:91:::0;;-1:-1:-1;;;;;16477:57:0;;::::1;-1:-1:-1::0;;;;;;16444:91:0;;::::1;;::::0;;16583:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16477:57:::1;16583:25:::0;;;;;16573:36;;;;::::1;::::0;;;;16553:57;;;;;;;;;16546:64;;;;::::1;::::0;;16621:36;;-1:-1:-1;;16621:36:0::1;::::0;;16128:537::o;10401:32::-;;;;:::o;11019:43::-;11056:6;11019:43;:::o;21178:582::-;8861:1;9466:7;;:19;;9458:63;;;;;-1:-1:-1;;;9458:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8861:1;9599:7;:18;21260:12;21252:38:::1;;;::::0;;-1:-1:-1;;;21252:38:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;21252:38:0;;;;;;;;;;;;;::::1;;21309:4;::::0;;:26:::1;::::0;;-1:-1:-1;;;21309:26:0;;21324:10:::1;21309:26:::0;;::::1;::::0;;;;;21339:8;;-1:-1:-1;;;;;21309: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;21309:26:0;:38:::1;;21301:64;;;::::0;;-1:-1:-1;;;21301:64:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;21301:64:0;;;;;;;;;;;;;::::1;;21378:19;21386:10;21378:7;:19::i;:::-;21408:4;::::0;;:54:::1;::::0;;-1:-1:-1;;;21408:54:0;;21426:10:::1;21408:54:::0;;::::1;::::0;;;;21446:4:::1;21408:54:::0;;;;;;;;;;;-1:-1:-1;;;;;21408: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;;21473:17:0::1;::::0;21499:9:::1;::::0;21473:46:::1;::::0;;-1:-1:-1;;;21473:46:0;;::::1;::::0;::::1;::::0;;;;;;;;;;;-1:-1:-1;;;;;21473: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;;21596:10:0::1;21588:19;::::0;;;:7:::1;:19;::::0;;;;;:33:::1;::::0;-1:-1:-1;21588:19:0;-1:-1:-1;21612:8:0;21588:23:::1;:33::i;:::-;21574:10;21566:19;::::0;;;:7:::1;:19;::::0;;;;:55;21645:10:::1;::::0;:24:::1;::::0;21660:8;21645:14:::1;:24::i;:::-;21632:10;:37:::0;21680:23:::1;21692:10;21680:11;:23::i;:::-;21719:31;::::0;;21729:10:::1;21719:31:::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;;;;;;;;::::1;-1:-1:-1::0;8817:1:0;9778:7;:22;21178:582::o;10172:35::-;;;-1:-1:-1;;;;;10172:35:0;;:::o;27566:239::-;27677:7;27704:10;:48;27736:13;27725:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27715:36;;;;;;27704:48;;;;;;;;;;;:58;;:93;27784:10;27773:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27773:22:0;;;;;;-1:-1:-1;;27773:22:0;;;;;;27763:33;;27773:22;27763:33;;;;27704:93;;;;;;;;;-1:-1:-1;;;27704:93:0;-1:-1:-1;27704:93:0;;-1:-1:-1;;;;;27704:93:0;;27566:239;-1:-1:-1;;;27566:239:0:o;18736:537::-;11396:5;;-1:-1:-1;;;;;11396:5:0;11382:10;:19;11374:50;;;;;-1:-1:-1;;;11374:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11374:50:0;;;;;;;;;;;;;;;18855:37:::1;::::0;;::::1;::::0;;::::1;::::0;;;18834:10:::1;18855:37:::0;;;;;;::::1;::::0;;;;;;;;;;;;;;;;;;;;;;;;18845:48;;;;::::1;::::0;;;;18805:26:::1;18834:60:::0;;;;;;;;;;18905:28;;;;;;;;::::1;;;;::::0;;;;::::1;::::0;;;;;;;;;::::1;::::0;:17:::1;:28::i;:::-;18979:34;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;18979:34:0;;;;;;;;;;;;;;;;;;;;;;;;18969:45;;;;::::1;::::0;;;;19018:1:::1;18952:63:::0;;;:16:::1;::::0;::::1;:63:::0;;;;;18944:94:::1;;;::::0;;-1:-1:-1;;;18944:94:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;18944:94:0;;;;;;;;;;;;;::::1;;19101:34;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;19101:34:0;;;;;;;;;;;;;;;;;;;;;;19091:45;;;;::::1;::::0;19074:63:::1;::::0;;;:16:::1;::::0;::::1;:63:::0;;;;;;;19051:20:::1;:86:::0;19182:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19172:45;;;;::::1;::::0;19155:63;;;;;;;19148:70;19229:36;;-1:-1:-1;;19229:36:0::1;::::0;;18736:537::o;25425:429::-;25517:16;;;25531:1;25517:16;;;;;;;;;25471:7;;25493:21;;25517:16;;;;25493:21;;25517:16;;;-1:-1:-1;;25564:6:0;;25546:7;;;;-1:-1:-1;;;;;;25564:6:0;;25546:7;;-1:-1:-1;25564:6:0;;25546:7;;;19820:483;11396:5;;-1:-1:-1;;;;;11396:5:0;11382:10;:19;11374:50;;;;;-1:-1:-1;;;11374:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11374:50:0;;;;;;;;;;;;;;;19930:28:::1;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;19930:28:0;;;;;;;;;;;;;;;;;;;;;;;;19920:39;;;;::::1;::::0;;;;19880:26:::1;19909:51:::0;;;:10:::1;:51:::0;;;;;;;19971:28;;;;;;;;::::1;;;;::::0;;;;::::1;::::0;;;;;;;;;::::1;::::0;:17:::1;:28::i;:::-;20045:25;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;20045:25:0;;;;;;;;;;;;;;;;;;;;;;;;20035:36;;;;::::1;::::0;;;;20075:1:::1;20018:54:::0;;;:16:::1;::::0;::::1;:54:::0;;;;;20010:85:::1;;;::::0;;-1:-1:-1;;;20010:85:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;20010:85:0;;;;;;;;;;;;;::::1;;20149:25;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;20149:25:0;;;;;;;;;;;;;;;;;;;;;;20139:36;;;;::::1;::::0;20122:54:::1;::::0;;;:16:::1;::::0;::::1;:54:::0;;;;;;;20108:68;;20221:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20211:36;;;;::::1;::::0;20194:54;;;;;;;20187:61;20259:36;;-1:-1:-1;;20259:36:0::1;::::0;;19820:483::o;19281:531::-;11396:5;;-1:-1:-1;;;;;11396:5:0;11382:10;:19;11374:50;;;;;-1:-1:-1;;;11374:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11374:50:0;;;;;;;;;;;;;;;19399:36:::1;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;19399:36:0;;;;;;;;;;;;;;;;;;;;;;;;19389:47;;;;::::1;::::0;;;;19349:26:::1;19378:59:::0;;;:10:::1;:59:::0;;;;;;;19448:28;;;;;;;;::::1;;;;::::0;;;;::::1;::::0;;;;;;;;;::::1;::::0;:17:::1;:28::i;:::-;19522:33;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;19522:33:0;;;;;;;;;;;;;;;;;;;;;;;;19512:44;;;;::::1;::::0;;;;19560:1:::1;19495:62:::0;;;:16:::1;::::0;::::1;:62:::0;;;;;19487:93:::1;;;::::0;;-1:-1:-1;;;19487:93:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;19487:93:0;;;;;;;;;;;;;::::1;;19642:33;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;19642:33:0;;;;;;;;;;;;;;;;;;;;;;19632:44;;;;::::1;::::0;19615:62:::1;::::0;;;:16:::1;::::0;::::1;:62:::0;;;;;;;19593:19:::1;:84:::0;19722:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19712:44;;;;::::1;::::0;19695:62;;;;;;;19688:69;19768:36;;-1:-1:-1;;19768:36:0::1;::::0;;19281:531::o;10617:40::-;;;;:::o;12365:285::-;11396:5;;-1:-1:-1;;;;;11396:5:0;11382:10;:19;11374:50;;;;;-1:-1:-1;;;11374:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11374:50:0;;;;;;;;;;;;;;;11056:6:::1;12432;:23;;12424:88;;;;-1:-1:-1::0;;;12424:88:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11106:7;12531:6;:23;;12523:92;;;;-1:-1:-1::0;;;12523:92:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12628:5;:14:::0;12365:285::o;10873:32::-;;;-1:-1:-1;;;;;10873:32:0;;:::o;15581:539::-;11396:5;;-1:-1:-1;;;;;11396:5:0;11382:10;:19;11374:50;;;;;-1:-1:-1;;;11374:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11374:50:0;;;;;;;;;;;;;;;15697:34:::1;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;15697:34:0;;;;;;;;;;;;;;;;;;;;;;;;15687:45;;;;::::1;::::0;;;;15647:26:::1;15676:57:::0;;;:10:::1;:57:::0;;;;;;;15744:28;;;;;;;;::::1;;;;::::0;;;;::::1;::::0;;;;;;;;;::::1;::::0;:17:::1;:28::i;:::-;15821:31;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;;;15821:31:0;;;;;;;;;;;;;;;;;;;;;;;;15811:42;;;;::::1;::::0;;;;15866:1:::1;15791:63:::0;;;:19:::1;::::0;::::1;:63:::0;;;;;-1:-1:-1;;;;;15791:63:0::1;15783:105;;;::::0;;-1:-1:-1;;;15783:105:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;15783:105:0;;;;;;;;;;;;;::::1;;15951:31;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;15951:31:0;;;;;;;;;;;;;;;;;;;;;;15941:42;;;;::::1;::::0;-1:-1:-1;15921:63:0;;;:19:::1;::::0;::::1;:63:::0;;;;;;;15901:17:::1;:83:::0;;-1:-1:-1;;;;;15921:63:0;;::::1;-1:-1:-1::0;;;;;;15901:83:0;;::::1;;::::0;;16032:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15921:63:::1;16032:31:::0;;;;;16022:42;;;;::::1;::::0;;;;16002:63;;;;;;;;;15995:70;;;;::::1;::::0;;16076:36;;-1:-1:-1;;16076:36:0::1;::::0;;15581:539::o;26681:877::-;26803:15;;26847:17;;26877:9;;26847:55;;;-1:-1:-1;;;26847:55:0;;;;;;;;;26896:4;26847:55;;;;;26740:20;;26803:15;26740:20;;-1:-1:-1;;;;;26847:17:0;;;;:29;;:55;;;;;;;;;;;;;;;:17;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26847:55:0;;-1:-1:-1;26931:11:0;;;;;:42;;;26972:1;26959:10;;:14;26931:42;26913:419;;;27004:23;27030:44;27068:5;27030:33;27042:20;;27030:7;:11;;:33;;;;:::i;:44::-;27004:70;;27089:22;27115:43;27152:5;27115:32;27127:19;;27115:7;:11;;:32;;;;:::i;:43::-;27089:69;-1:-1:-1;27183:48:0;27089:69;27183:28;:7;27195:15;27183:11;:28::i;:48::-;27173:58;;27265:55;27286:33;27308:10;;27286:17;27298:4;27286:7;:11;;:17;;;;:::i;:33::-;27265:16;;:20;:55::i;:::-;27246:74;;26913:419;;;-1:-1:-1;;;;;27367:14:0;;27344:19;27367:14;;;:7;:14;;;;;;:46;;27408:4;;27367:36;;27386:16;27367:18;:36::i;:46::-;-1:-1:-1;;;;;27444:23:0;;;;;;:16;:23;;;;;;27344:69;;-1:-1:-1;27430:37:0;;27426:125;;;-1:-1:-1;;;;;27515:23:0;;;;;;:16;:23;;;;;;27499:40;;:11;;:15;:40::i;:::-;27484:55;;27426:125;26681:877;;;;;;:::o;10260:26::-;;;;:::o;12658:114::-;12711:4;;;12732:17;;12711:53;;;-1:-1:-1;;;12711:53:0;;-1:-1:-1;;;;;12732:17:0;;;12711:53;;;;;;;-1:-1:-1;;12711:53:0;;;;;:4;;;:12;;:53;;;;;;;;;;;;;;:4;;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12658:114:0:o;20789:381::-;20880:28;;:36;;20912:4;20880:36;20872:80;;;;;-1:-1:-1;;;20872:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;20998:15;20971:9;:23;;;:42;;20963:94;;;;-1:-1:-1;;;20963:94:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21076:23;;;;21121:15;;21076:41;;11005:7;21076:27;:41::i;:::-;:60;;21068:94;;;;;-1:-1:-1;;;21068:94:0;;;;;;;;;;;;-1:-1:-1;;;21068:94:0;;;;;;;;;;;;;;;20789:381;:::o;6943:196::-;7001:7;7021:6;7017:37;;-1:-1:-1;7045:1:0;7038:8;;7017:37;7072:5;;;7076:1;7072;:5;:1;7092:5;;;;;:10;7084:34;;;;;-1:-1:-1;;;7084:34:0;;;;;;;;;;;;-1:-1:-1;;;7084:34:0;;;;;;;;;;;;;;;7132:1;6943:196;-1:-1:-1;;;6943:196:0:o;7226:283::-;7284:7;7312:1;7308;:5;7300:29;;;;;-1:-1:-1;;;7300:29:0;;;;;;;;;;;;-1:-1:-1;;;7300:29:0;;;;;;;;;;;;;;;7388:9;7404:1;7400;:5;;;;;;;7226:283;-1:-1:-1;;;;7226:283:0:o;7627:129::-;7685:7;7714:1;7709;:6;;7701:30;;;;;-1:-1:-1;;;7701:30:0;;;;;;;;;;;;-1:-1:-1;;;7701:30:0;;;;;;;;;;;;;;;-1:-1:-1;7745:5:0;;;7627:129::o;7823:149::-;7881:7;7909:5;;;7929:6;;;;7921:30;;;;;-1:-1:-1;;;7921:30:0;;;;;;;;;;;;-1:-1:-1;;;7921:30:0;;;;;;;;;;;;;;24021:196;24083:13;;24108:11;;24083:44;;;-1:-1:-1;;;24083:44:0;;;;;;;;;-1:-1:-1;;;;;24083:44:0;;;;;;;;;:13;;;:24;;:44;;;;;;;;;;;;;;;:13;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;24183:15:0;;-1:-1:-1;;;;;24164:14:0;;;;;;:7;24083:44;24164:14;;;;;:45;;24204:4;;24164:35;;:18;:35::i;:45::-;-1:-1:-1;;;;;24138:23:0;;;;;;;:16;:23;;;;;:71;24021:196::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

ipfs://a6737ba81e463e78b20c8b9ea6488c1fabe40c811f84533f0b9908dccf605a91
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.