ETH Price: $3,038.54 (+3.00%)

Contract

0xFdC7D058beDE981eA865Fb64D06382A2206A1C42
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Add Deposit Tota...209766452024-10-16 7:31:2324 days ago1729063883IN
0xFdC7D058...2206A1C42
0 ETH0.0003719811.14113263
Add Deposit Tota...197087862024-04-22 5:14:59201 days ago1713762899IN
0xFdC7D058...2206A1C42
0 ETH0.000210636.31336381
Set Reserved Add...197087812024-04-22 5:13:59201 days ago1713762839IN
0xFdC7D058...2206A1C42
0 ETH0.000178286.14917839
Ownership Transf...151328282022-07-13 6:55:53850 days ago1657695353IN
0xFdC7D058...2206A1C42
0 ETH0.0013486550
Ownership Transf...147665052022-05-13 9:13:58911 days ago1652433238IN
0xFdC7D058...2206A1C42
0 ETH0.00404595150
Set Borrow Limit127776452021-07-07 2:28:521221 days ago1625624932IN
0xFdC7D058...2206A1C42
0 ETH0.0008057231
Set Borrow Limit127776452021-07-07 2:28:521221 days ago1625624932IN
0xFdC7D058...2206A1C42
0 ETH0.0008925231
Add Reserved Amo...126880952021-06-23 3:37:591235 days ago1624419479IN
0xFdC7D058...2206A1C42
0 ETH0.0008365225
Set Borrow Limit126878272021-06-23 2:40:351235 days ago1624416035IN
0xFdC7D058...2206A1C42
0 ETH0.0008003827.8
Set Liquidity Se...126809282021-06-22 0:56:331236 days ago1624323393IN
0xFdC7D058...2206A1C42
0 ETH0.0012946545
Set Borrow Limit126808282021-06-22 0:35:371236 days ago1624322137IN
0xFdC7D058...2206A1C42
0 ETH0.0023435881.4
Set Last Updated...126583622021-06-18 12:20:051240 days ago1624018805IN
0xFdC7D058...2206A1C42
0 ETH0.0003697812.1
Set EXR126583592021-06-18 12:19:411240 days ago1624018781IN
0xFdC7D058...2206A1C42
0 ETH0.0007377615
Set Amount126583572021-06-18 12:19:251240 days ago1624018765IN
0xFdC7D058...2206A1C42
0 ETH0.0006603415
Set Last Updated...126581622021-06-18 11:30:041240 days ago1624015804IN
0xFdC7D058...2206A1C42
0 ETH0.0004003312
Set Limit Of Act...126564172021-06-18 4:50:571240 days ago1623991857IN
0xFdC7D058...2206A1C42
0 ETH0.0002877210
Set Borrow Limit126117262021-06-11 6:46:511247 days ago1623394011IN
0xFdC7D058...2206A1C42
0 ETH0.0003483712.1
Set Limit Of Act...124716472021-05-20 13:47:381268 days ago1621518458IN
0xFdC7D058...2206A1C42
0 ETH0.00394176137
Set Borrow Limit123667452021-05-04 8:40:251285 days ago1620117625IN
0xFdC7D058...2206A1C42
0 ETH0.0010076835
Set Borrow Limit123154122021-04-26 10:38:171293 days ago1619433497IN
0xFdC7D058...2206A1C42
0 ETH0.0012092242
Set Liquidity Se...121182902021-03-27 1:50:191323 days ago1616809819IN
0xFdC7D058...2206A1C42
0 ETH0.00277447101
Ownership Transf...119816252021-03-06 0:41:231344 days ago1614991283IN
0xFdC7D058...2206A1C42
0 ETH0.00398622140
Set Limit Of Act...119808632021-03-05 21:43:201344 days ago1614980600IN
0xFdC7D058...2206A1C42
0 ETH0.002059575
Set Liquidity Li...118849562021-02-19 3:44:201359 days ago1613706260IN
0xFdC7D058...2206A1C42
0 ETH0.00356525130
Set Liquidity Se...118661232021-02-16 6:14:001362 days ago1613456040IN
0xFdC7D058...2206A1C42
0 ETH0.0025821894
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
UsdtHandlerDataStorage

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, BSD-3-Clause license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-02-23
*/

// File: contracts/interfaces/marketHandlerDataStorageInterface.sol

pragma solidity 0.6.12;

interface marketHandlerDataStorageInterface  {
	function setCircuitBreaker(bool _emergency) external returns (bool);

	function setNewCustomer(address payable userAddr) external returns (bool);

	function getUserAccessed(address payable userAddr) external view returns (bool);
	function setUserAccessed(address payable userAddr, bool _accessed) external returns (bool);

	function getReservedAddr() external view returns (address payable);
	function setReservedAddr(address payable reservedAddress) external returns (bool);

	function getReservedAmount() external view returns (int256);
	function addReservedAmount(uint256 amount) external returns (int256);
	function subReservedAmount(uint256 amount) external returns (int256);
	function updateSignedReservedAmount(int256 amount) external returns (int256);

	function setTokenHandler(address _marketHandlerAddr, address _interestModelAddr) external returns (bool);
	function setCoinHandler(address _marketHandlerAddr, address _interestModelAddr) external returns (bool);

	function getDepositTotalAmount() external view returns (uint256);
	function addDepositTotalAmount(uint256 amount) external returns (uint256);
	function subDepositTotalAmount(uint256 amount) external returns (uint256);

	function getBorrowTotalAmount() external view returns (uint256);
	function addBorrowTotalAmount(uint256 amount) external returns (uint256);
	function subBorrowTotalAmount(uint256 amount) external returns (uint256);

	function getUserIntraDepositAmount(address payable userAddr) external view returns (uint256);
	function addUserIntraDepositAmount(address payable userAddr, uint256 amount) external returns (uint256);
	function subUserIntraDepositAmount(address payable userAddr, uint256 amount) external returns (uint256);

	function getUserIntraBorrowAmount(address payable userAddr) external view returns (uint256);
	function addUserIntraBorrowAmount(address payable userAddr, uint256 amount) external returns (uint256);
	function subUserIntraBorrowAmount(address payable userAddr, uint256 amount) external returns (uint256);

	function addDepositAmount(address payable userAddr, uint256 amount) external returns (bool);
	function subDepositAmount(address payable userAddr, uint256 amount) external returns (bool);

	function addBorrowAmount(address payable userAddr, uint256 amount) external returns (bool);
	function subBorrowAmount(address payable userAddr, uint256 amount) external returns (bool);

	function getUserAmount(address payable userAddr) external view returns (uint256, uint256);
	function getHandlerAmount() external view returns (uint256, uint256);

	function getAmount(address payable userAddr) external view returns (uint256, uint256, uint256, uint256);
	function setAmount(address payable userAddr, uint256 depositTotalAmount, uint256 borrowTotalAmount, uint256 depositAmount, uint256 borrowAmount) external returns (uint256);

	function setBlocks(uint256 lastUpdatedBlock, uint256 inactiveActionDelta) external returns (bool);

	function getLastUpdatedBlock() external view returns (uint256);
	function setLastUpdatedBlock(uint256 _lastUpdatedBlock) external returns (bool);

	function getInactiveActionDelta() external view returns (uint256);
	function setInactiveActionDelta(uint256 inactiveActionDelta) external returns (bool);

	function syncActionEXR() external returns (bool);

	function getActionEXR() external view returns (uint256, uint256);
	function setActionEXR(uint256 actionDepositExRate, uint256 actionBorrowExRate) external returns (bool);

	function getGlobalDepositEXR() external view returns (uint256);
	function getGlobalBorrowEXR() external view returns (uint256);

	function setEXR(address payable userAddr, uint256 globalDepositEXR, uint256 globalBorrowEXR) external returns (bool);

	function getUserEXR(address payable userAddr) external view returns (uint256, uint256);
	function setUserEXR(address payable userAddr, uint256 depositEXR, uint256 borrowEXR) external returns (bool);

	function getGlobalEXR() external view returns (uint256, uint256);

	function getMarketHandlerAddr() external view returns (address);
	function setMarketHandlerAddr(address marketHandlerAddr) external returns (bool);

	function getInterestModelAddr() external view returns (address);
	function setInterestModelAddr(address interestModelAddr) external returns (bool);


	function getMinimumInterestRate() external view returns (uint256);
	function setMinimumInterestRate(uint256 _minimumInterestRate) external returns (bool);

	function getLiquiditySensitivity() external view returns (uint256);
	function setLiquiditySensitivity(uint256 _liquiditySensitivity) external returns (bool);

	function getLimit() external view returns (uint256, uint256);

	function getBorrowLimit() external view returns (uint256);
	function setBorrowLimit(uint256 _borrowLimit) external returns (bool);

	function getMarginCallLimit() external view returns (uint256);
	function setMarginCallLimit(uint256 _marginCallLimit) external returns (bool);

	function getLimitOfAction() external view returns (uint256);
	function setLimitOfAction(uint256 limitOfAction) external returns (bool);

	function getLiquidityLimit() external view returns (uint256);
	function setLiquidityLimit(uint256 liquidityLimit) external returns (bool);
}

// File: contracts/marketHandler/marketHandlerDataStorage/handlerDataStorage.sol

pragma solidity 0.6.12;

contract marketHandlerDataStorage is marketHandlerDataStorageInterface {
	address payable owner;

	bool emergency = false;

	address payable reservedAddr;

	int256 reservedAmount;

	address marketHandlerAddr;

	address interestModelAddr;

	uint256 lastUpdatedBlock;

	uint256 inactiveActionDelta;

	uint256 actionDepositEXR;

	uint256 actionBorrowEXR;

	uint256 public depositTotalAmount;

	uint256 public borrowTotalAmount;

	uint256 public globalDepositEXR;

	uint256 public globalBorrowEXR;

	mapping(address => IntraUser) intraUsers;

	MarketInterestModelParameters interestParams;

	uint256 constant unifiedPoint = 10 ** 18;

	uint256 public liquidityLimit = unifiedPoint;

	uint256 public limitOfAction = 100000 * unifiedPoint;

	struct MarketInterestModelParameters {
		uint256 borrowLimit;
		uint256 marginCallLimit;
		uint256 minimumInterestRate;
		uint256 liquiditySensitivity;
	}

	struct IntraUser {
		bool userAccessed;
		uint256 intraDepositAmount;
		uint256 intraBorrowAmount;
		uint256 userDepositEXR;
		uint256 userBorrowEXR;
	}

	modifier onlyOwner {
		require(msg.sender == owner, "onlyOwner function");
		_;
	}

	modifier onlyBifiContract {
		address msgSender = msg.sender;
		require(((msgSender == marketHandlerAddr) || (msgSender == interestModelAddr)) || (msgSender == owner), "onlyBifiContract function");
		_;
	}

	modifier circuitBreaker {
		address msgSender = msg.sender;
		require((!emergency) || (msgSender == owner), "fatal: emergency");
		_;
	}

	constructor (uint256 _borrowLimit, uint256 _marginCallLimit, uint256 _minimumInterestRate, uint256 _liquiditySensitivity) public
	{
		owner = msg.sender;
		/* default reservedAddr */
		reservedAddr = owner;
		_initializeEXR();
		MarketInterestModelParameters memory _interestParams = interestParams;
		_interestParams.borrowLimit = _borrowLimit;
		_interestParams.marginCallLimit = _marginCallLimit;
		_interestParams.minimumInterestRate = _minimumInterestRate;
		_interestParams.liquiditySensitivity = _liquiditySensitivity;
		interestParams = _interestParams;
	}

	function ownershipTransfer(address payable _owner) onlyOwner public returns (bool)
	{
		owner = _owner;
		return true;
	}

	function getOwner() public view returns (address)
	{
		return owner;
	}

	function setCircuitBreaker(bool _emergency) onlyBifiContract external override returns (bool)
	{
		emergency = _emergency;
		return true;
	}

	function setNewCustomer(address payable userAddr) onlyBifiContract circuitBreaker external override returns (bool)
	{
		intraUsers[userAddr].userAccessed = true;
		intraUsers[userAddr].userDepositEXR = unifiedPoint;
		intraUsers[userAddr].userBorrowEXR = unifiedPoint;
		return true;
	}

	function setUserAccessed(address payable userAddr, bool _accessed) onlyBifiContract circuitBreaker external override returns (bool)
	{
		intraUsers[userAddr].userAccessed = _accessed;
		return true;
	}

	function getReservedAddr() external view override returns (address payable)
	{
		return reservedAddr;
	}

	function setReservedAddr(address payable reservedAddress) onlyOwner external override returns (bool)
	{
		reservedAddr = reservedAddress;
		return true;
	}

	function getReservedAmount() external view override returns (int256)
	{
		return reservedAmount;
	}

	function addReservedAmount(uint256 amount) onlyBifiContract circuitBreaker external override returns (int256)
	{
		reservedAmount = signedAdd(reservedAmount, int(amount));
		return reservedAmount;
	}

	function subReservedAmount(uint256 amount) onlyBifiContract circuitBreaker external override returns (int256)
	{
		reservedAmount = signedSub(reservedAmount, int(amount));
		return reservedAmount;
	}

	function updateSignedReservedAmount(int256 amount) onlyBifiContract circuitBreaker external override returns (int256)
	{
		reservedAmount = signedAdd(reservedAmount, amount);
		return reservedAmount;
	}

	function addDepositTotalAmount(uint256 amount) onlyBifiContract circuitBreaker external override returns (uint256)
	{
		depositTotalAmount = add(depositTotalAmount, amount);
		return depositTotalAmount;
	}

	function subDepositTotalAmount(uint256 amount) onlyBifiContract circuitBreaker external override returns (uint256)
	{
		depositTotalAmount = sub(depositTotalAmount, amount);
		return depositTotalAmount;
	}

	function addBorrowTotalAmount(uint256 amount) onlyBifiContract circuitBreaker external override returns (uint256)
	{
		borrowTotalAmount = add(borrowTotalAmount, amount);
		return borrowTotalAmount;
	}

	function subBorrowTotalAmount(uint256 amount) onlyBifiContract circuitBreaker external override returns (uint256)
	{
		borrowTotalAmount = sub(borrowTotalAmount, amount);
		return borrowTotalAmount;
	}

	function addUserIntraDepositAmount(address payable userAddr, uint256 amount) onlyBifiContract circuitBreaker external override returns (uint256)
	{
		intraUsers[userAddr].intraDepositAmount = add(intraUsers[userAddr].intraDepositAmount, amount);
		return intraUsers[userAddr].intraDepositAmount;
	}

	function subUserIntraDepositAmount(address payable userAddr, uint256 amount) onlyBifiContract circuitBreaker external override returns (uint256)
	{
		intraUsers[userAddr].intraDepositAmount = sub(intraUsers[userAddr].intraDepositAmount, amount);
		return intraUsers[userAddr].intraDepositAmount;
	}

	function addUserIntraBorrowAmount(address payable userAddr, uint256 amount) onlyBifiContract circuitBreaker external override returns (uint256)
	{
		intraUsers[userAddr].intraBorrowAmount = add(intraUsers[userAddr].intraBorrowAmount, amount);
		return intraUsers[userAddr].intraBorrowAmount;
	}

	function subUserIntraBorrowAmount(address payable userAddr, uint256 amount) onlyBifiContract circuitBreaker external override returns (uint256)
	{
		intraUsers[userAddr].intraBorrowAmount = sub(intraUsers[userAddr].intraBorrowAmount, amount);
		return intraUsers[userAddr].intraBorrowAmount;
	}

	function addDepositAmount(address payable userAddr, uint256 amount) onlyBifiContract circuitBreaker external override returns (bool)
	{
		depositTotalAmount = add(depositTotalAmount, amount);
		intraUsers[userAddr].intraDepositAmount = add(intraUsers[userAddr].intraDepositAmount, amount);
	}

	function addBorrowAmount(address payable userAddr, uint256 amount) onlyBifiContract circuitBreaker external override returns (bool)
	{
		borrowTotalAmount = add(borrowTotalAmount, amount);
		intraUsers[userAddr].intraBorrowAmount = add(intraUsers[userAddr].intraBorrowAmount, amount);
	}

	function subDepositAmount(address payable userAddr, uint256 amount) onlyBifiContract circuitBreaker external override returns (bool)
	{
		depositTotalAmount = sub(depositTotalAmount, amount);
		intraUsers[userAddr].intraDepositAmount = sub(intraUsers[userAddr].intraDepositAmount, amount);
	}

	function subBorrowAmount(address payable userAddr, uint256 amount) onlyBifiContract circuitBreaker external override returns (bool)
	{
		borrowTotalAmount = sub(borrowTotalAmount, amount);
		intraUsers[userAddr].intraBorrowAmount = sub(intraUsers[userAddr].intraBorrowAmount, amount);
	}

	function getUserAmount(address payable userAddr) external view override returns (uint256, uint256)
	{
		return (intraUsers[userAddr].intraDepositAmount, intraUsers[userAddr].intraBorrowAmount);
	}

	function getHandlerAmount() external view override returns (uint256, uint256)
	{
		return (depositTotalAmount, borrowTotalAmount);
	}

	function setAmount(address payable userAddr, uint256 _depositTotalAmount, uint256 _borrowTotalAmount, uint256 depositAmount, uint256 borrowAmount) onlyBifiContract circuitBreaker external override returns (uint256)
	{
		depositTotalAmount = _depositTotalAmount;
		borrowTotalAmount = _borrowTotalAmount;
		intraUsers[userAddr].intraDepositAmount = depositAmount;
		intraUsers[userAddr].intraBorrowAmount = borrowAmount;
	}

	function getAmount(address payable userAddr) external view override returns (uint256, uint256, uint256, uint256)
	{
		return (depositTotalAmount, borrowTotalAmount, intraUsers[userAddr].intraDepositAmount, intraUsers[userAddr].intraBorrowAmount);
	}

	function setBlocks(uint256 _lastUpdatedBlock, uint256 _inactiveActionDelta) onlyBifiContract circuitBreaker external override returns (bool)
	{
		lastUpdatedBlock = _lastUpdatedBlock;
		inactiveActionDelta = _inactiveActionDelta;
		return true;
	}

	function setLastUpdatedBlock(uint256 _lastUpdatedBlock) onlyBifiContract circuitBreaker external override returns (bool)
	{
		lastUpdatedBlock = _lastUpdatedBlock;
		return true;
	}

	function setInactiveActionDelta(uint256 _inactiveActionDelta) onlyBifiContract circuitBreaker external override returns (bool)
	{
		inactiveActionDelta = _inactiveActionDelta;
		return true;
	}

	function syncActionEXR() onlyBifiContract circuitBreaker external override returns (bool)
	{
		actionDepositEXR = globalDepositEXR;
		actionBorrowEXR = globalBorrowEXR;
		return true;
	}

	function getActionEXR() external view override returns (uint256, uint256)
	{
		return (actionDepositEXR, actionBorrowEXR);
	}

	function setActionEXR(uint256 _actionDepositEXR, uint256 _actionBorrowEXR) onlyBifiContract circuitBreaker external override returns (bool)
	{
		actionDepositEXR = _actionDepositEXR;
		actionBorrowEXR = _actionBorrowEXR;
		return true;
	}

	function setEXR(address payable userAddr, uint256 _globalDepositEXR, uint256 _globalBorrowEXR) onlyBifiContract circuitBreaker external override returns (bool)
	{
		globalDepositEXR = _globalDepositEXR;
		globalBorrowEXR = _globalBorrowEXR;
		intraUsers[userAddr].userDepositEXR = _globalDepositEXR;
		intraUsers[userAddr].userBorrowEXR = _globalBorrowEXR;
		return true;
	}

	function getUserEXR(address payable userAddr) external view override returns (uint256, uint256)
	{
		return (intraUsers[userAddr].userDepositEXR, intraUsers[userAddr].userBorrowEXR);
	}

	function setUserEXR(address payable userAddr, uint256 depositEXR, uint256 borrowEXR) onlyBifiContract circuitBreaker external override returns (bool)
	{
		intraUsers[userAddr].userDepositEXR = depositEXR;
		intraUsers[userAddr].userBorrowEXR = borrowEXR;
		return true;
	}

	function getGlobalEXR() external view override returns (uint256, uint256)
	{
		return (globalDepositEXR, globalBorrowEXR);
	}

	function setMarketHandlerAddr(address _marketHandlerAddr) onlyOwner external override returns (bool)
	{
		marketHandlerAddr = _marketHandlerAddr;
		return true;
	}

	function setInterestModelAddr(address _interestModelAddr) onlyOwner external override returns (bool)
	{
		interestModelAddr = _interestModelAddr;
		return true;
	}

	function setTokenHandler(address _marketHandlerAddr, address _interestModelAddr) onlyOwner external override returns (bool)
	{
		marketHandlerAddr = _marketHandlerAddr;
		interestModelAddr = _interestModelAddr;
		return true;
	}

	function setCoinHandler(address _marketHandlerAddr, address _interestModelAddr) onlyOwner external override returns (bool)
	{
		marketHandlerAddr = _marketHandlerAddr;
		interestModelAddr = _interestModelAddr;
		return true;
	}

	/* total Borrow Function */
	function getBorrowTotalAmount() external view override returns (uint256)
	{
		return borrowTotalAmount;
	}

	/* Global: lastUpdated function */
	function getLastUpdatedBlock() external view override returns (uint256)
	{
		return lastUpdatedBlock;
	}

	/* User Accessed Function */
	function getUserAccessed(address payable userAddr) external view override returns (bool)
	{
		return intraUsers[userAddr].userAccessed;
	}

	/* total Deposit Function */
	function getDepositTotalAmount() external view override returns (uint256)
	{
		return depositTotalAmount;
	}

	/* intra Borrow Function */
	function getUserIntraBorrowAmount(address payable userAddr) external view override returns (uint256)
	{
		return intraUsers[userAddr].intraBorrowAmount;
	}

	/* intra Deposit Function */
	function getUserIntraDepositAmount(address payable userAddr) external view override returns (uint256)
	{
		return intraUsers[userAddr].intraDepositAmount;
	}

	/* Global: inactiveActionDelta function */
	function getInactiveActionDelta() external view override returns (uint256)
	{
		return inactiveActionDelta;
	}

	/* Action: ExchangeRate Function */
	function getGlobalBorrowEXR() external view override returns (uint256)
	{
		return globalBorrowEXR;
	}

	/* Global: ExchangeRate Function */
	function getGlobalDepositEXR() external view override returns (uint256)
	{
		return globalDepositEXR;
	}

	function getMarketHandlerAddr() external view override returns (address)
	{
		return marketHandlerAddr;
	}

	function getInterestModelAddr() external view override returns (address)
	{
		return interestModelAddr;
	}

	function _initializeEXR() internal
	{
		uint256 currectBlockNumber = block.number;
		actionDepositEXR = unifiedPoint;
		actionBorrowEXR = unifiedPoint;
		globalDepositEXR = unifiedPoint;
		globalBorrowEXR = unifiedPoint;
		lastUpdatedBlock = currectBlockNumber - 1;
		inactiveActionDelta = lastUpdatedBlock;
	}

	function getLimit() external view override returns (uint256, uint256)
	{
		return (interestParams.borrowLimit, interestParams.marginCallLimit);
	}

	function getBorrowLimit() external view override returns (uint256)
	{
		return interestParams.borrowLimit;
	}

	function getMarginCallLimit() external view override returns (uint256)
	{
		return interestParams.marginCallLimit;
	}

	function getMinimumInterestRate() external view override returns (uint256)
	{
		return interestParams.minimumInterestRate;
	}

	function getLiquiditySensitivity() external view override returns (uint256)
	{
		return interestParams.liquiditySensitivity;
	}

	function setBorrowLimit(uint256 _borrowLimit) onlyOwner external override returns (bool)
	{
		interestParams.borrowLimit = _borrowLimit;
		return true;
	}

	function setMarginCallLimit(uint256 _marginCallLimit) onlyOwner external override returns (bool)
	{
		interestParams.marginCallLimit = _marginCallLimit;
		return true;
	}

	function setMinimumInterestRate(uint256 _minimumInterestRate) onlyOwner external override returns (bool)
	{
		interestParams.minimumInterestRate = _minimumInterestRate;
		return true;
	}

	function setLiquiditySensitivity(uint256 _liquiditySensitivity) onlyOwner external override returns (bool)
	{
		interestParams.liquiditySensitivity = _liquiditySensitivity;
		return true;
	}

	function getLiquidityLimit() external view override returns (uint256)
	{
		return liquidityLimit;
	}

	function setLiquidityLimit(uint256 _liquidityLimit) onlyOwner external override returns (bool)
	{
		liquidityLimit = _liquidityLimit;
		return true;
	}

	function getLimitOfAction() external view override returns (uint256)
	{
		return limitOfAction;
	}

	function setLimitOfAction(uint256 _limitOfAction) onlyOwner external override returns (bool)
	{
		limitOfAction = _limitOfAction;
		return true;
	}

	/* ******************* Safe Math ******************* */
	function add(uint256 a, uint256 b) internal pure returns (uint256)
	{
		uint256 c = a + b;
		require(c >= a, "add overflow");
		return c;
	}

	function sub(uint256 a, uint256 b) internal pure returns (uint256)
	{
		return _sub(a, b, "sub overflow");
	}

	function mul(uint256 a, uint256 b) internal pure returns (uint256)
	{
		return _mul(a, b);
	}

	function div(uint256 a, uint256 b) internal pure returns (uint256)
	{
		return _div(a, b, "div by zero");
	}

	function mod(uint256 a, uint256 b) internal pure returns (uint256)
	{
		return _mod(a, b, "mod by zero");
	}

	function _sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256)
	{
		require(b <= a, errorMessage);
		return a - b;
	}

	function _mul(uint256 a, uint256 b) internal pure returns (uint256)
	{
		if (a == 0)
		{
			return 0;
		}

		uint256 c = a * b;
		require((c / a) == b, "mul overflow");
		return c;
	}

	function _div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256)
	{
		require(b > 0, errorMessage);
		return a / b;
	}

	function _mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256)
	{
		require(b != 0, errorMessage);
		return a % b;
	}

	function unifiedDiv(uint256 a, uint256 b) internal pure returns (uint256)
	{
		return _div(_mul(a, unifiedPoint), b, "unified div by zero");
	}

	function unifiedMul(uint256 a, uint256 b) internal pure returns (uint256)
	{
		return _div(_mul(a, b), unifiedPoint, "unified mul by zero");
	}

	function signedAdd(int256 a, int256 b) internal pure returns (int256)
	{
		int256 c = a + b;
		require(((b >= 0) && (c >= a)) || ((b < 0) && (c < a)), "SignedSafeMath: addition overflow");
		return c;
	}

	function signedSub(int256 a, int256 b) internal pure returns (int256)
	{
		int256 c = a - b;
		require(((b >= 0) && (c <= a)) || ((b < 0) && (c > a)), "SignedSafeMath: subtraction overflow");
		return c;
	}
}

// File: contracts/truffleKit/UsdtHandlerDataStorage.sol

contract UsdtHandlerDataStorage is marketHandlerDataStorage {
    constructor (uint256 _borrowLimit, uint256 _marginCallLimit, uint256 _minimumInterestRate, uint256 _liquiditySensitivity)
    marketHandlerDataStorage(_borrowLimit, _marginCallLimit, _minimumInterestRate, _liquiditySensitivity) public {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"_borrowLimit","type":"uint256"},{"internalType":"uint256","name":"_marginCallLimit","type":"uint256"},{"internalType":"uint256","name":"_minimumInterestRate","type":"uint256"},{"internalType":"uint256","name":"_liquiditySensitivity","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address payable","name":"userAddr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addBorrowAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addBorrowTotalAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"userAddr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addDepositAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addDepositTotalAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addReservedAmount","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"userAddr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addUserIntraBorrowAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"userAddr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addUserIntraDepositAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"borrowTotalAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"depositTotalAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getActionEXR","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"userAddr","type":"address"}],"name":"getAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBorrowLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBorrowTotalAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDepositTotalAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGlobalBorrowEXR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGlobalDepositEXR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGlobalEXR","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getHandlerAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getInactiveActionDelta","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getInterestModelAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLastUpdatedBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLimitOfAction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLiquidityLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLiquiditySensitivity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMarginCallLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMarketHandlerAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMinimumInterestRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getReservedAddr","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getReservedAmount","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"userAddr","type":"address"}],"name":"getUserAccessed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"userAddr","type":"address"}],"name":"getUserAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"userAddr","type":"address"}],"name":"getUserEXR","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"userAddr","type":"address"}],"name":"getUserIntraBorrowAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"userAddr","type":"address"}],"name":"getUserIntraDepositAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"globalBorrowEXR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"globalDepositEXR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitOfAction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_owner","type":"address"}],"name":"ownershipTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_actionDepositEXR","type":"uint256"},{"internalType":"uint256","name":"_actionBorrowEXR","type":"uint256"}],"name":"setActionEXR","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"userAddr","type":"address"},{"internalType":"uint256","name":"_depositTotalAmount","type":"uint256"},{"internalType":"uint256","name":"_borrowTotalAmount","type":"uint256"},{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"uint256","name":"borrowAmount","type":"uint256"}],"name":"setAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_lastUpdatedBlock","type":"uint256"},{"internalType":"uint256","name":"_inactiveActionDelta","type":"uint256"}],"name":"setBlocks","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_borrowLimit","type":"uint256"}],"name":"setBorrowLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_emergency","type":"bool"}],"name":"setCircuitBreaker","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketHandlerAddr","type":"address"},{"internalType":"address","name":"_interestModelAddr","type":"address"}],"name":"setCoinHandler","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"userAddr","type":"address"},{"internalType":"uint256","name":"_globalDepositEXR","type":"uint256"},{"internalType":"uint256","name":"_globalBorrowEXR","type":"uint256"}],"name":"setEXR","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_inactiveActionDelta","type":"uint256"}],"name":"setInactiveActionDelta","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_interestModelAddr","type":"address"}],"name":"setInterestModelAddr","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_lastUpdatedBlock","type":"uint256"}],"name":"setLastUpdatedBlock","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_limitOfAction","type":"uint256"}],"name":"setLimitOfAction","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityLimit","type":"uint256"}],"name":"setLiquidityLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquiditySensitivity","type":"uint256"}],"name":"setLiquiditySensitivity","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marginCallLimit","type":"uint256"}],"name":"setMarginCallLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketHandlerAddr","type":"address"}],"name":"setMarketHandlerAddr","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minimumInterestRate","type":"uint256"}],"name":"setMinimumInterestRate","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"userAddr","type":"address"}],"name":"setNewCustomer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"reservedAddress","type":"address"}],"name":"setReservedAddr","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketHandlerAddr","type":"address"},{"internalType":"address","name":"_interestModelAddr","type":"address"}],"name":"setTokenHandler","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"userAddr","type":"address"},{"internalType":"bool","name":"_accessed","type":"bool"}],"name":"setUserAccessed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"userAddr","type":"address"},{"internalType":"uint256","name":"depositEXR","type":"uint256"},{"internalType":"uint256","name":"borrowEXR","type":"uint256"}],"name":"setUserEXR","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"userAddr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"subBorrowAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"subBorrowTotalAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"userAddr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"subDepositAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"subDepositTotalAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"subReservedAmount","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"userAddr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"subUserIntraBorrowAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"userAddr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"subUserIntraDepositAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"syncActionEXR","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int256","name":"amount","type":"int256"}],"name":"updateSignedReservedAmount","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"nonpayable","type":"function"}]

60806040526000805460ff60a01b19169055670de0b6b3a764000060125569152d02c7e14af68000006013553480156200003857600080fd5b5060405162002fed38038062002fed833981810160405260808110156200005e57600080fd5b50805160208201516040830151606090930151600080546001600160a01b0319908116331791829055600180549091166001600160a01b03929092169190911790559192909183838383620000b2620000fa565b620000bc62000124565b506040805160808101825285815260208101859052908101839052606001819052600e93909355600f91909155601055601155506200014c92505050565b670de0b6b3a764000060078190556008819055600b819055600c5560001943016005819055600655565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b612e91806200015c6000396000f3fe608060405234801561001057600080fd5b506004361061041c5760003560e01c8063749cab541161022b578063c172761511610130578063df05a52a116100b8578063eed9491c11610087578063eed9491c14610ac9578063f0a6780d14610ad1578063f1b150e414610afd578063f1e2934214610b05578063f5a7976714610b315761041c565b8063df05a52a14610a87578063e47b9296146108ea578063e4d5663714610aa4578063e7a3317414610aac5761041c565b8063d3a417a2116100ff578063d3a417a214610a0e578063d3cd9dcc14610a34578063d4fcea1514610a3c578063d6ef21c614610a59578063d8eb307514610a7f5761041c565b8063c1727615146109bb578063c7a1c040146109c3578063ccb91792146109cb578063d0a7f725146109e85761041c565b806396d6d1a7116101b3578063b295a00e11610182578063b295a00e14610958578063b6987e2b14610960578063b88764c214610968578063b95750b514610985578063c15df6c2146109b35761041c565b806396d6d1a7146108e25780639a68ff59146108ea5780639c80a40914610918578063a4b28bf8146109355761041c565b8063893d20e8116101fa578063893d20e81461089857806389916705146108a05780638bffbbf1146108bd578063914406a01461045b578063929e9c04146108da5761041c565b8063749cab541461083957806379e3c2661461085c57806384da6b2d1461088857806387c891bd146108905761041c565b8063425064491161033157806362aad5c2116102b95780636dd0d6d8116102885780636dd0d6d8146107b75780636ea94a83146107f557806370f58b6214610821578063719192881461082957806372163715146108315761041c565b806362aad5c21461074957806369ce1da1146107515780636da164781461076e5780636dc2527b1461078b5761041c565b8063564ae6a811610300578063564ae6a8146106c75780635943ff14146106cf5780635fab6845146106f557806360cddd19146106fd57806360f51deb146107235761041c565b8063425064491461062d57806345eace621461064c5780634b7f4baa1461067857806351d0403d146106aa5761041c565b8063253791db116103b45780632c71d93d116103835780632c71d93d146105c95780633257df29146105d1578063327a943a146105f75780633763d0db1461061d5780633804ee19146106255761041c565b8063253791db1461054c57806327303a1e1461057857806327e7b263146105805780632a127e4c1461059d5761041c565b806305211de8116103f057806305211de81461049a5780630b20818c146104be5780630cf6821b146104f057806322b534661461052f5761041c565b806272056d1461042157806301f5ad651461045b57806303f30b291461048a57806304369c6314610492575b600080fd5b6104476004803603602081101561043757600080fd5b50356001600160a01b0316610b7d565b604080519115158252519081900360200190f35b6104786004803603602081101561047157600080fd5b5035610ca9565b60408051918252519081900360200190f35b610447610dab565b610478610ea8565b6104a2610eae565b604080516001600160a01b039092168252519081900360200190f35b610447600480360360608110156104d457600080fd5b506001600160a01b038135169060208101359060400135610ebd565b6105166004803603602081101561050657600080fd5b50356001600160a01b0316610fd4565b6040805192835260208301919091528051918290030190f35b6104786004803603602081101561054557600080fd5b5035610ffa565b6104786004803603604081101561056257600080fd5b506001600160a01b0381351690602001356110fc565b610478611233565b6104476004803603602081101561059657600080fd5b5035611239565b610478600480360360408110156105b357600080fd5b506001600160a01b03813516906020013561132d565b610478611464565b610447600480360360208110156105e757600080fd5b50356001600160a01b031661146a565b6105166004803603602081101561060d57600080fd5b50356001600160a01b03166114dd565b610478611503565b610478611509565b6104476004803603602081101561064357600080fd5b5035151561150f565b6104476004803603604081101561066257600080fd5b506001600160a01b0381351690602001356115b4565b6104476004803603606081101561068e57600080fd5b506001600160a01b0381351690602081013590604001356116f9565b610447600480360360208110156106c057600080fd5b503561181a565b61047861190e565b610447600480360360208110156106e557600080fd5b50356001600160a01b0316611914565b6104a2611985565b6104476004803603602081101561071357600080fd5b50356001600160a01b0316611994565b6104786004803603602081101561073957600080fd5b50356001600160a01b0316611a07565b610478611a25565b6104476004803603602081101561076757600080fd5b5035611a2b565b6104786004803603602081101561078457600080fd5b5035611a82565b610447600480360360408110156107a157600080fd5b506001600160a01b038135169060200135611b77565b610478600480360360a08110156107cd57600080fd5b506001600160a01b038135169060208101359060408101359060608101359060800135611cbc565b6104476004803603604081101561080b57600080fd5b506001600160a01b038135169060200135611de0565b610478611efe565b610478611f04565b610478611f0a565b6104476004803603604081101561084f57600080fd5b5080359060200135611f10565b6104786004803603604081101561087257600080fd5b506001600160a01b03813516906020013561200a565b610516612119565b610478612123565b6104a2612129565b610447600480360360208110156108b657600080fd5b5035612138565b610478600480360360208110156108d357600080fd5b503561218f565b610516612291565b61047861229b565b6104476004803603604081101561090057600080fd5b506001600160a01b03813581169160200135166122a1565b6104476004803603602081101561092e57600080fd5b5035612321565b6104476004803603604081101561094b57600080fd5b5080359060200135612378565b610516612472565b61047861247c565b6104476004803603602081101561097e57600080fd5b5035612482565b6104476004803603604081101561099b57600080fd5b506001600160a01b03813516906020013515156124d9565b6104786125f3565b6104786125f9565b6104786125ff565b610478600480360360208110156109e157600080fd5b5035612605565b610478600480360360208110156109fe57600080fd5b50356001600160a01b03166126fa565b61044760048036036020811015610a2457600080fd5b50356001600160a01b0316612718565b61051661278b565b61047860048036036020811015610a5257600080fd5b5035612795565b61044760048036036020811015610a6f57600080fd5b50356001600160a01b031661288a565b6104a26128a8565b61044760048036036020811015610a9d57600080fd5b50356128b7565b61047861290e565b61044760048036036020811015610ac257600080fd5b5035612914565b61047861296b565b61047860048036036040811015610ae757600080fd5b506001600160a01b038135169060200135612971565b610478612a80565b61044760048036036040811015610b1b57600080fd5b506001600160a01b038135169060200135612a86565b610b5760048036036020811015610b4757600080fd5b50356001600160a01b0316612ba4565b604080519485526020850193909352838301919091526060830152519081900360800190f35b60035460009033906001600160a01b0316811480610ba857506004546001600160a01b038281169116145b80610bc057506000546001600160a01b038281169116145b610bff576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff161580610c2757506000546001600160a01b038281169116145b610c66576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b5050506001600160a01b03166000908152600d60205260409020805460ff191660019081178255670de0b6b3a76400006003830181905560049092019190915590565b60035460009033906001600160a01b0316811480610cd457506004546001600160a01b038281169116145b80610cec57506000546001600160a01b038281169116145b610d2b576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff161580610d5357506000546001600160a01b038281169116145b610d92576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b610d9e60025485612bd4565b6002819055949350505050565b60035460009033906001600160a01b0316811480610dd657506004546001600160a01b038281169116145b80610dee57506000546001600160a01b038281169116145b610e2d576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff161580610e5557506000546001600160a01b038281169116145b610e94576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b5050600b5460075550600c54600855600190565b60135490565b6001546001600160a01b031690565b60035460009033906001600160a01b0316811480610ee857506004546001600160a01b038281169116145b80610f0057506000546001600160a01b038281169116145b610f3f576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff161580610f6757506000546001600160a01b038281169116145b610fa6576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b5050506001600160a01b03929092166000908152600d60205260409020600381019190915560040155600190565b6001600160a01b03166000908152600d6020526040902060038101546004909101549091565b60035460009033906001600160a01b031681148061102557506004546001600160a01b038281169116145b8061103d57506000546001600160a01b038281169116145b61107c576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff1615806110a457506000546001600160a01b038281169116145b6110e3576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b6110ef60095485612c40565b6009819055949350505050565b60035460009033906001600160a01b031681148061112757506004546001600160a01b038281169116145b8061113f57506000546001600160a01b038281169116145b61117e576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff1615806111a657506000546001600160a01b038281169116145b6111e5576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b6001600160a01b0385166000908152600d602052604090206001015461120b9085612c71565b6001600160a01b0386166000908152600d602052604090206001018190559250505092915050565b600b5481565b60035460009033906001600160a01b031681148061126457506004546001600160a01b038281169116145b8061127c57506000546001600160a01b038281169116145b6112bb576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff1615806112e357506000546001600160a01b038281169116145b611322576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b505050600555600190565b60035460009033906001600160a01b031681148061135857506004546001600160a01b038281169116145b8061137057506000546001600160a01b038281169116145b6113af576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff1615806113d757506000546001600160a01b038281169116145b611416576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b6001600160a01b0385166000908152600d602052604090206002015461143c9085612c71565b6001600160a01b0386166000908152600d602052604090206002018190559250505092915050565b60095481565b600080546001600160a01b031633146114b8576040805162461bcd60e51b81526020600482015260126024820152600080516020612db7833981519152604482015290519081900360640190fd5b50600380546001600160a01b0383166001600160a01b03199091161790556001919050565b6001600160a01b03166000908152600d6020526040902060018101546002909101549091565b600a5490565b600e5490565b60035460009033906001600160a01b031681148061153a57506004546001600160a01b038281169116145b8061155257506000546001600160a01b038281169116145b611591576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b60008054841515600160a01b0260ff60a01b199091161790556001915050919050565b60035460009033906001600160a01b03168114806115df57506004546001600160a01b038281169116145b806115f757506000546001600160a01b038281169116145b611636576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff16158061165e57506000546001600160a01b038281169116145b61169d576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b6116a960095485612c71565b6009556001600160a01b0385166000908152600d60205260409020600101546116d29085612c71565b6001600160a01b039095166000908152600d60205260409020600101949094555092915050565b60035460009033906001600160a01b031681148061172457506004546001600160a01b038281169116145b8061173c57506000546001600160a01b038281169116145b61177b576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff1615806117a357506000546001600160a01b038281169116145b6117e2576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b505050600b829055600c8190556001600160a01b03929092166000908152600d60205260409020600381019190915560040155600190565b60035460009033906001600160a01b031681148061184557506004546001600160a01b038281169116145b8061185d57506000546001600160a01b038281169116145b61189c576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff1615806118c457506000546001600160a01b038281169116145b611903576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b505050600655600190565b60065490565b600080546001600160a01b03163314611962576040805162461bcd60e51b81526020600482015260126024820152600080516020612db7833981519152604482015290519081900360640190fd5b50600180546001600160a01b0383166001600160a01b0319909116178155919050565b6003546001600160a01b031690565b600080546001600160a01b031633146119e2576040805162461bcd60e51b81526020600482015260126024820152600080516020612db7833981519152604482015290519081900360640190fd5b50600480546001600160a01b0383166001600160a01b03199091161790556001919050565b6001600160a01b03166000908152600d602052604090206001015490565b600b5490565b600080546001600160a01b03163314611a79576040805162461bcd60e51b81526020600482015260126024820152600080516020612db7833981519152604482015290519081900360640190fd5b50601355600190565b60035460009033906001600160a01b0316811480611aad57506004546001600160a01b038281169116145b80611ac557506000546001600160a01b038281169116145b611b04576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff161580611b2c57506000546001600160a01b038281169116145b611b6b576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b6110ef60095485612c71565b60035460009033906001600160a01b0316811480611ba257506004546001600160a01b038281169116145b80611bba57506000546001600160a01b038281169116145b611bf9576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff161580611c2157506000546001600160a01b038281169116145b611c60576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b611c6c600a5485612c71565b600a556001600160a01b0385166000908152600d6020526040902060020154611c959085612c71565b6001600160a01b039095166000908152600d60205260409020600201949094555092915050565b60035460009033906001600160a01b0316811480611ce757506004546001600160a01b038281169116145b80611cff57506000546001600160a01b038281169116145b611d3e576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff161580611d6657506000546001600160a01b038281169116145b611da5576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b5050600994909455600a929092556001600160a01b039093166000908152600d60205260409020600181019390935560029092019190915590565b60035460009033906001600160a01b0316811480611e0b57506004546001600160a01b038281169116145b80611e2357506000546001600160a01b038281169116145b611e62576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff161580611e8a57506000546001600160a01b038281169116145b611ec9576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b611ed560095485612c40565b6009556001600160a01b0385166000908152600d60205260409020600101546116d29085612c40565b600f5490565b600a5481565b60125481565b60035460009033906001600160a01b0316811480611f3b57506004546001600160a01b038281169116145b80611f5357506000546001600160a01b038281169116145b611f92576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff161580611fba57506000546001600160a01b038281169116145b611ff9576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b505050600591909155600655600190565b60035460009033906001600160a01b031681148061203557506004546001600160a01b038281169116145b8061204d57506000546001600160a01b038281169116145b61208c576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff1615806120b457506000546001600160a01b038281169116145b6120f3576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b6001600160a01b0385166000908152600d602052604090206001015461120b9085612c40565b600b54600c549091565b60055490565b6000546001600160a01b031690565b600080546001600160a01b03163314612186576040805162461bcd60e51b81526020600482015260126024820152600080516020612db7833981519152604482015290519081900360640190fd5b50601055600190565b60035460009033906001600160a01b03168114806121ba57506004546001600160a01b038281169116145b806121d257506000546001600160a01b038281169116145b612211576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff16158061223957506000546001600160a01b038281169116145b612278576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b612284600a5485612c40565b600a819055949350505050565b600954600a549091565b600c5490565b600080546001600160a01b031633146122ef576040805162461bcd60e51b81526020600482015260126024820152600080516020612db7833981519152604482015290519081900360640190fd5b50600380546001600160a01b039384166001600160a01b03199182161790915560048054929093169116179055600190565b600080546001600160a01b0316331461236f576040805162461bcd60e51b81526020600482015260126024820152600080516020612db7833981519152604482015290519081900360640190fd5b50601155600190565b60035460009033906001600160a01b03168114806123a357506004546001600160a01b038281169116145b806123bb57506000546001600160a01b038281169116145b6123fa576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff16158061242257506000546001600160a01b038281169116145b612461576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b505050600791909155600855600190565b600e54600f549091565b60105490565b600080546001600160a01b031633146124d0576040805162461bcd60e51b81526020600482015260126024820152600080516020612db7833981519152604482015290519081900360640190fd5b50600f55600190565b60035460009033906001600160a01b031681148061250457506004546001600160a01b038281169116145b8061251c57506000546001600160a01b038281169116145b61255b576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff16158061258357506000546001600160a01b038281169116145b6125c2576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b5050506001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055600190565b60095490565b60115490565b60125490565b60035460009033906001600160a01b031681148061263057506004546001600160a01b038281169116145b8061264857506000546001600160a01b038281169116145b612687576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff1615806126af57506000546001600160a01b038281169116145b6126ee576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b610d9e60025485612cba565b6001600160a01b03166000908152600d602052604090206002015490565b600080546001600160a01b03163314612766576040805162461bcd60e51b81526020600482015260126024820152600080516020612db7833981519152604482015290519081900360640190fd5b50600080546001600160a01b0383166001600160a01b03199091161790556001919050565b6007546008549091565b60035460009033906001600160a01b03168114806127c057506004546001600160a01b038281169116145b806127d857506000546001600160a01b038281169116145b612817576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff16158061283f57506000546001600160a01b038281169116145b61287e576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b612284600a5485612c71565b6001600160a01b03166000908152600d602052604090205460ff1690565b6004546001600160a01b031690565b600080546001600160a01b03163314612905576040805162461bcd60e51b81526020600482015260126024820152600080516020612db7833981519152604482015290519081900360640190fd5b50601255600190565b60135481565b600080546001600160a01b03163314612962576040805162461bcd60e51b81526020600482015260126024820152600080516020612db7833981519152604482015290519081900360640190fd5b50600e55600190565b60025490565b60035460009033906001600160a01b031681148061299c57506004546001600160a01b038281169116145b806129b457506000546001600160a01b038281169116145b6129f3576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff161580612a1b57506000546001600160a01b038281169116145b612a5a576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b6001600160a01b0385166000908152600d602052604090206002015461143c9085612c40565b600c5481565b60035460009033906001600160a01b0316811480612ab157506004546001600160a01b038281169116145b80612ac957506000546001600160a01b038281169116145b612b08576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff161580612b3057506000546001600160a01b038281169116145b612b6f576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b612b7b600a5485612c40565b600a556001600160a01b0385166000908152600d6020526040902060020154611c959085612c40565b600954600a546001600160a01b0383166000908152600d6020526040902060018101546002909101549193509193565b6000828201818312801590612be95750838112155b80612bfe5750600083128015612bfe57508381125b612c395760405162461bcd60e51b8152600401808060200182810382526021815260200180612dd76021913960400191505060405180910390fd5b9392505050565b6000612c3983836040518060400160405280600c81526020016b737562206f766572666c6f7760a01b815250612d1f565b600082820183811015612c39576040805162461bcd60e51b815260206004820152600c60248201526b616464206f766572666c6f7760a01b604482015290519081900360640190fd5b6000818303818312801590612ccf5750838113155b80612ce45750600083128015612ce457508381135b612c395760405162461bcd60e51b8152600401808060200182810382526024815260200180612e386024913960400191505060405180910390fd5b60008184841115612dae5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612d73578181015183820152602001612d5b565b50505050905090810190601f168015612da05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe6f6e6c794f776e65722066756e6374696f6e00000000000000000000000000005369676e6564536166654d6174683a206164646974696f6e206f766572666c6f776f6e6c7942696669436f6e74726163742066756e6374696f6e00000000000000666174616c3a20656d657267656e6379000000000000000000000000000000005369676e6564536166654d6174683a207375627472616374696f6e206f766572666c6f77a2646970667358221220231c27320d7240d7267740f1e19bb5d887bdab179a66611a6bba7d69af85793064736f6c634300060c003300000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000ce80612991d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e1bc9bf040000

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061041c5760003560e01c8063749cab541161022b578063c172761511610130578063df05a52a116100b8578063eed9491c11610087578063eed9491c14610ac9578063f0a6780d14610ad1578063f1b150e414610afd578063f1e2934214610b05578063f5a7976714610b315761041c565b8063df05a52a14610a87578063e47b9296146108ea578063e4d5663714610aa4578063e7a3317414610aac5761041c565b8063d3a417a2116100ff578063d3a417a214610a0e578063d3cd9dcc14610a34578063d4fcea1514610a3c578063d6ef21c614610a59578063d8eb307514610a7f5761041c565b8063c1727615146109bb578063c7a1c040146109c3578063ccb91792146109cb578063d0a7f725146109e85761041c565b806396d6d1a7116101b3578063b295a00e11610182578063b295a00e14610958578063b6987e2b14610960578063b88764c214610968578063b95750b514610985578063c15df6c2146109b35761041c565b806396d6d1a7146108e25780639a68ff59146108ea5780639c80a40914610918578063a4b28bf8146109355761041c565b8063893d20e8116101fa578063893d20e81461089857806389916705146108a05780638bffbbf1146108bd578063914406a01461045b578063929e9c04146108da5761041c565b8063749cab541461083957806379e3c2661461085c57806384da6b2d1461088857806387c891bd146108905761041c565b8063425064491161033157806362aad5c2116102b95780636dd0d6d8116102885780636dd0d6d8146107b75780636ea94a83146107f557806370f58b6214610821578063719192881461082957806372163715146108315761041c565b806362aad5c21461074957806369ce1da1146107515780636da164781461076e5780636dc2527b1461078b5761041c565b8063564ae6a811610300578063564ae6a8146106c75780635943ff14146106cf5780635fab6845146106f557806360cddd19146106fd57806360f51deb146107235761041c565b8063425064491461062d57806345eace621461064c5780634b7f4baa1461067857806351d0403d146106aa5761041c565b8063253791db116103b45780632c71d93d116103835780632c71d93d146105c95780633257df29146105d1578063327a943a146105f75780633763d0db1461061d5780633804ee19146106255761041c565b8063253791db1461054c57806327303a1e1461057857806327e7b263146105805780632a127e4c1461059d5761041c565b806305211de8116103f057806305211de81461049a5780630b20818c146104be5780630cf6821b146104f057806322b534661461052f5761041c565b806272056d1461042157806301f5ad651461045b57806303f30b291461048a57806304369c6314610492575b600080fd5b6104476004803603602081101561043757600080fd5b50356001600160a01b0316610b7d565b604080519115158252519081900360200190f35b6104786004803603602081101561047157600080fd5b5035610ca9565b60408051918252519081900360200190f35b610447610dab565b610478610ea8565b6104a2610eae565b604080516001600160a01b039092168252519081900360200190f35b610447600480360360608110156104d457600080fd5b506001600160a01b038135169060208101359060400135610ebd565b6105166004803603602081101561050657600080fd5b50356001600160a01b0316610fd4565b6040805192835260208301919091528051918290030190f35b6104786004803603602081101561054557600080fd5b5035610ffa565b6104786004803603604081101561056257600080fd5b506001600160a01b0381351690602001356110fc565b610478611233565b6104476004803603602081101561059657600080fd5b5035611239565b610478600480360360408110156105b357600080fd5b506001600160a01b03813516906020013561132d565b610478611464565b610447600480360360208110156105e757600080fd5b50356001600160a01b031661146a565b6105166004803603602081101561060d57600080fd5b50356001600160a01b03166114dd565b610478611503565b610478611509565b6104476004803603602081101561064357600080fd5b5035151561150f565b6104476004803603604081101561066257600080fd5b506001600160a01b0381351690602001356115b4565b6104476004803603606081101561068e57600080fd5b506001600160a01b0381351690602081013590604001356116f9565b610447600480360360208110156106c057600080fd5b503561181a565b61047861190e565b610447600480360360208110156106e557600080fd5b50356001600160a01b0316611914565b6104a2611985565b6104476004803603602081101561071357600080fd5b50356001600160a01b0316611994565b6104786004803603602081101561073957600080fd5b50356001600160a01b0316611a07565b610478611a25565b6104476004803603602081101561076757600080fd5b5035611a2b565b6104786004803603602081101561078457600080fd5b5035611a82565b610447600480360360408110156107a157600080fd5b506001600160a01b038135169060200135611b77565b610478600480360360a08110156107cd57600080fd5b506001600160a01b038135169060208101359060408101359060608101359060800135611cbc565b6104476004803603604081101561080b57600080fd5b506001600160a01b038135169060200135611de0565b610478611efe565b610478611f04565b610478611f0a565b6104476004803603604081101561084f57600080fd5b5080359060200135611f10565b6104786004803603604081101561087257600080fd5b506001600160a01b03813516906020013561200a565b610516612119565b610478612123565b6104a2612129565b610447600480360360208110156108b657600080fd5b5035612138565b610478600480360360208110156108d357600080fd5b503561218f565b610516612291565b61047861229b565b6104476004803603604081101561090057600080fd5b506001600160a01b03813581169160200135166122a1565b6104476004803603602081101561092e57600080fd5b5035612321565b6104476004803603604081101561094b57600080fd5b5080359060200135612378565b610516612472565b61047861247c565b6104476004803603602081101561097e57600080fd5b5035612482565b6104476004803603604081101561099b57600080fd5b506001600160a01b03813516906020013515156124d9565b6104786125f3565b6104786125f9565b6104786125ff565b610478600480360360208110156109e157600080fd5b5035612605565b610478600480360360208110156109fe57600080fd5b50356001600160a01b03166126fa565b61044760048036036020811015610a2457600080fd5b50356001600160a01b0316612718565b61051661278b565b61047860048036036020811015610a5257600080fd5b5035612795565b61044760048036036020811015610a6f57600080fd5b50356001600160a01b031661288a565b6104a26128a8565b61044760048036036020811015610a9d57600080fd5b50356128b7565b61047861290e565b61044760048036036020811015610ac257600080fd5b5035612914565b61047861296b565b61047860048036036040811015610ae757600080fd5b506001600160a01b038135169060200135612971565b610478612a80565b61044760048036036040811015610b1b57600080fd5b506001600160a01b038135169060200135612a86565b610b5760048036036020811015610b4757600080fd5b50356001600160a01b0316612ba4565b604080519485526020850193909352838301919091526060830152519081900360800190f35b60035460009033906001600160a01b0316811480610ba857506004546001600160a01b038281169116145b80610bc057506000546001600160a01b038281169116145b610bff576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff161580610c2757506000546001600160a01b038281169116145b610c66576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b5050506001600160a01b03166000908152600d60205260409020805460ff191660019081178255670de0b6b3a76400006003830181905560049092019190915590565b60035460009033906001600160a01b0316811480610cd457506004546001600160a01b038281169116145b80610cec57506000546001600160a01b038281169116145b610d2b576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff161580610d5357506000546001600160a01b038281169116145b610d92576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b610d9e60025485612bd4565b6002819055949350505050565b60035460009033906001600160a01b0316811480610dd657506004546001600160a01b038281169116145b80610dee57506000546001600160a01b038281169116145b610e2d576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff161580610e5557506000546001600160a01b038281169116145b610e94576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b5050600b5460075550600c54600855600190565b60135490565b6001546001600160a01b031690565b60035460009033906001600160a01b0316811480610ee857506004546001600160a01b038281169116145b80610f0057506000546001600160a01b038281169116145b610f3f576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff161580610f6757506000546001600160a01b038281169116145b610fa6576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b5050506001600160a01b03929092166000908152600d60205260409020600381019190915560040155600190565b6001600160a01b03166000908152600d6020526040902060038101546004909101549091565b60035460009033906001600160a01b031681148061102557506004546001600160a01b038281169116145b8061103d57506000546001600160a01b038281169116145b61107c576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff1615806110a457506000546001600160a01b038281169116145b6110e3576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b6110ef60095485612c40565b6009819055949350505050565b60035460009033906001600160a01b031681148061112757506004546001600160a01b038281169116145b8061113f57506000546001600160a01b038281169116145b61117e576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff1615806111a657506000546001600160a01b038281169116145b6111e5576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b6001600160a01b0385166000908152600d602052604090206001015461120b9085612c71565b6001600160a01b0386166000908152600d602052604090206001018190559250505092915050565b600b5481565b60035460009033906001600160a01b031681148061126457506004546001600160a01b038281169116145b8061127c57506000546001600160a01b038281169116145b6112bb576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff1615806112e357506000546001600160a01b038281169116145b611322576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b505050600555600190565b60035460009033906001600160a01b031681148061135857506004546001600160a01b038281169116145b8061137057506000546001600160a01b038281169116145b6113af576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff1615806113d757506000546001600160a01b038281169116145b611416576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b6001600160a01b0385166000908152600d602052604090206002015461143c9085612c71565b6001600160a01b0386166000908152600d602052604090206002018190559250505092915050565b60095481565b600080546001600160a01b031633146114b8576040805162461bcd60e51b81526020600482015260126024820152600080516020612db7833981519152604482015290519081900360640190fd5b50600380546001600160a01b0383166001600160a01b03199091161790556001919050565b6001600160a01b03166000908152600d6020526040902060018101546002909101549091565b600a5490565b600e5490565b60035460009033906001600160a01b031681148061153a57506004546001600160a01b038281169116145b8061155257506000546001600160a01b038281169116145b611591576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b60008054841515600160a01b0260ff60a01b199091161790556001915050919050565b60035460009033906001600160a01b03168114806115df57506004546001600160a01b038281169116145b806115f757506000546001600160a01b038281169116145b611636576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff16158061165e57506000546001600160a01b038281169116145b61169d576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b6116a960095485612c71565b6009556001600160a01b0385166000908152600d60205260409020600101546116d29085612c71565b6001600160a01b039095166000908152600d60205260409020600101949094555092915050565b60035460009033906001600160a01b031681148061172457506004546001600160a01b038281169116145b8061173c57506000546001600160a01b038281169116145b61177b576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff1615806117a357506000546001600160a01b038281169116145b6117e2576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b505050600b829055600c8190556001600160a01b03929092166000908152600d60205260409020600381019190915560040155600190565b60035460009033906001600160a01b031681148061184557506004546001600160a01b038281169116145b8061185d57506000546001600160a01b038281169116145b61189c576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff1615806118c457506000546001600160a01b038281169116145b611903576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b505050600655600190565b60065490565b600080546001600160a01b03163314611962576040805162461bcd60e51b81526020600482015260126024820152600080516020612db7833981519152604482015290519081900360640190fd5b50600180546001600160a01b0383166001600160a01b0319909116178155919050565b6003546001600160a01b031690565b600080546001600160a01b031633146119e2576040805162461bcd60e51b81526020600482015260126024820152600080516020612db7833981519152604482015290519081900360640190fd5b50600480546001600160a01b0383166001600160a01b03199091161790556001919050565b6001600160a01b03166000908152600d602052604090206001015490565b600b5490565b600080546001600160a01b03163314611a79576040805162461bcd60e51b81526020600482015260126024820152600080516020612db7833981519152604482015290519081900360640190fd5b50601355600190565b60035460009033906001600160a01b0316811480611aad57506004546001600160a01b038281169116145b80611ac557506000546001600160a01b038281169116145b611b04576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff161580611b2c57506000546001600160a01b038281169116145b611b6b576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b6110ef60095485612c71565b60035460009033906001600160a01b0316811480611ba257506004546001600160a01b038281169116145b80611bba57506000546001600160a01b038281169116145b611bf9576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff161580611c2157506000546001600160a01b038281169116145b611c60576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b611c6c600a5485612c71565b600a556001600160a01b0385166000908152600d6020526040902060020154611c959085612c71565b6001600160a01b039095166000908152600d60205260409020600201949094555092915050565b60035460009033906001600160a01b0316811480611ce757506004546001600160a01b038281169116145b80611cff57506000546001600160a01b038281169116145b611d3e576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff161580611d6657506000546001600160a01b038281169116145b611da5576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b5050600994909455600a929092556001600160a01b039093166000908152600d60205260409020600181019390935560029092019190915590565b60035460009033906001600160a01b0316811480611e0b57506004546001600160a01b038281169116145b80611e2357506000546001600160a01b038281169116145b611e62576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff161580611e8a57506000546001600160a01b038281169116145b611ec9576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b611ed560095485612c40565b6009556001600160a01b0385166000908152600d60205260409020600101546116d29085612c40565b600f5490565b600a5481565b60125481565b60035460009033906001600160a01b0316811480611f3b57506004546001600160a01b038281169116145b80611f5357506000546001600160a01b038281169116145b611f92576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff161580611fba57506000546001600160a01b038281169116145b611ff9576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b505050600591909155600655600190565b60035460009033906001600160a01b031681148061203557506004546001600160a01b038281169116145b8061204d57506000546001600160a01b038281169116145b61208c576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff1615806120b457506000546001600160a01b038281169116145b6120f3576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b6001600160a01b0385166000908152600d602052604090206001015461120b9085612c40565b600b54600c549091565b60055490565b6000546001600160a01b031690565b600080546001600160a01b03163314612186576040805162461bcd60e51b81526020600482015260126024820152600080516020612db7833981519152604482015290519081900360640190fd5b50601055600190565b60035460009033906001600160a01b03168114806121ba57506004546001600160a01b038281169116145b806121d257506000546001600160a01b038281169116145b612211576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff16158061223957506000546001600160a01b038281169116145b612278576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b612284600a5485612c40565b600a819055949350505050565b600954600a549091565b600c5490565b600080546001600160a01b031633146122ef576040805162461bcd60e51b81526020600482015260126024820152600080516020612db7833981519152604482015290519081900360640190fd5b50600380546001600160a01b039384166001600160a01b03199182161790915560048054929093169116179055600190565b600080546001600160a01b0316331461236f576040805162461bcd60e51b81526020600482015260126024820152600080516020612db7833981519152604482015290519081900360640190fd5b50601155600190565b60035460009033906001600160a01b03168114806123a357506004546001600160a01b038281169116145b806123bb57506000546001600160a01b038281169116145b6123fa576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff16158061242257506000546001600160a01b038281169116145b612461576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b505050600791909155600855600190565b600e54600f549091565b60105490565b600080546001600160a01b031633146124d0576040805162461bcd60e51b81526020600482015260126024820152600080516020612db7833981519152604482015290519081900360640190fd5b50600f55600190565b60035460009033906001600160a01b031681148061250457506004546001600160a01b038281169116145b8061251c57506000546001600160a01b038281169116145b61255b576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff16158061258357506000546001600160a01b038281169116145b6125c2576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b5050506001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055600190565b60095490565b60115490565b60125490565b60035460009033906001600160a01b031681148061263057506004546001600160a01b038281169116145b8061264857506000546001600160a01b038281169116145b612687576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff1615806126af57506000546001600160a01b038281169116145b6126ee576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b610d9e60025485612cba565b6001600160a01b03166000908152600d602052604090206002015490565b600080546001600160a01b03163314612766576040805162461bcd60e51b81526020600482015260126024820152600080516020612db7833981519152604482015290519081900360640190fd5b50600080546001600160a01b0383166001600160a01b03199091161790556001919050565b6007546008549091565b60035460009033906001600160a01b03168114806127c057506004546001600160a01b038281169116145b806127d857506000546001600160a01b038281169116145b612817576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff16158061283f57506000546001600160a01b038281169116145b61287e576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b612284600a5485612c71565b6001600160a01b03166000908152600d602052604090205460ff1690565b6004546001600160a01b031690565b600080546001600160a01b03163314612905576040805162461bcd60e51b81526020600482015260126024820152600080516020612db7833981519152604482015290519081900360640190fd5b50601255600190565b60135481565b600080546001600160a01b03163314612962576040805162461bcd60e51b81526020600482015260126024820152600080516020612db7833981519152604482015290519081900360640190fd5b50600e55600190565b60025490565b60035460009033906001600160a01b031681148061299c57506004546001600160a01b038281169116145b806129b457506000546001600160a01b038281169116145b6129f3576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff161580612a1b57506000546001600160a01b038281169116145b612a5a576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b6001600160a01b0385166000908152600d602052604090206002015461143c9085612c40565b600c5481565b60035460009033906001600160a01b0316811480612ab157506004546001600160a01b038281169116145b80612ac957506000546001600160a01b038281169116145b612b08576040805162461bcd60e51b81526020600482015260196024820152600080516020612df8833981519152604482015290519081900360640190fd5b6000543390600160a01b900460ff161580612b3057506000546001600160a01b038281169116145b612b6f576040805162461bcd60e51b81526020600482015260106024820152600080516020612e18833981519152604482015290519081900360640190fd5b612b7b600a5485612c40565b600a556001600160a01b0385166000908152600d6020526040902060020154611c959085612c40565b600954600a546001600160a01b0383166000908152600d6020526040902060018101546002909101549193509193565b6000828201818312801590612be95750838112155b80612bfe5750600083128015612bfe57508381125b612c395760405162461bcd60e51b8152600401808060200182810382526021815260200180612dd76021913960400191505060405180910390fd5b9392505050565b6000612c3983836040518060400160405280600c81526020016b737562206f766572666c6f7760a01b815250612d1f565b600082820183811015612c39576040805162461bcd60e51b815260206004820152600c60248201526b616464206f766572666c6f7760a01b604482015290519081900360640190fd5b6000818303818312801590612ccf5750838113155b80612ce45750600083128015612ce457508381135b612c395760405162461bcd60e51b8152600401808060200182810382526024815260200180612e386024913960400191505060405180910390fd5b60008184841115612dae5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612d73578181015183820152602001612d5b565b50505050905090810190601f168015612da05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe6f6e6c794f776e65722066756e6374696f6e00000000000000000000000000005369676e6564536166654d6174683a206164646974696f6e206f766572666c6f776f6e6c7942696669436f6e74726163742066756e6374696f6e00000000000000666174616c3a20656d657267656e6379000000000000000000000000000000005369676e6564536166654d6174683a207375627472616374696f6e206f766572666c6f77a2646970667358221220231c27320d7240d7267740f1e19bb5d887bdab179a66611a6bba7d69af85793064736f6c634300060c0033

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

00000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000ce80612991d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e1bc9bf040000

-----Decoded View---------------
Arg [0] : _borrowLimit (uint256): 500000000000000000
Arg [1] : _marginCallLimit (uint256): 930000000000000000
Arg [2] : _minimumInterestRate (uint256): 0
Arg [3] : _liquiditySensitivity (uint256): 40000000000000000

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000006f05b59d3b20000
Arg [1] : 0000000000000000000000000000000000000000000000000ce80612991d0000
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [3] : 000000000000000000000000000000000000000000000000008e1bc9bf040000


Deployed Bytecode Sourcemap

23008:308:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8081:292;;;;;;;;;;;;;;;;-1:-1:-1;8081:292:0;-1:-1:-1;;;;;8081:292:0;;:::i;:::-;;;;;;;;;;;;;;;;;;9387:206;;;;;;;;;;;;;;;;-1:-1:-1;9387:206:0;;:::i;:::-;;;;;;;;;;;;;;;;14544:191;;;:::i;20621:101::-;;;:::i;8588:107::-;;;:::i;:::-;;;;-1:-1:-1;;;;;8588:107:0;;;;;;;;;;;;;;15700:277;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15700:277:0;;;;;;;;;;;;;:::i;15507:188::-;;;;;;;;;;;;;;;;-1:-1:-1;15507:188:0;-1:-1:-1;;;;;15507:188:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9812:209;;;;;;;;;;;;;;;;-1:-1:-1;9812:209:0;;:::i;10446:302::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10446:302:0;;;;;;;;:::i;6043:31::-;;;:::i;14152:185::-;;;;;;;;;;;;;;;;-1:-1:-1;14152:185:0;;:::i;11060:298::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11060:298:0;;;;;;;;:::i;5966:33::-;;;:::i;16115:167::-;;;;;;;;;;;;;;;;-1:-1:-1;16115:167:0;-1:-1:-1;;;;;16115:167:0;;:::i;12860:199::-;;;;;;;;;;;;;;;;-1:-1:-1;12860:199:0;-1:-1:-1;;;;;12860:199:0;;:::i;16964:109::-;;;:::i;19107:112::-;;;:::i;7932:144::-;;;;;;;;;;;;;;;;-1:-1:-1;7932:144:0;;;;:::i;11666:296::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11666:296:0;;;;;;;;:::i;15121:381::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15121:381:0;;;;;;;;;;;;;:::i;14342:197::-;;;;;;;;;;;;;;;;-1:-1:-1;14342:197:0;;:::i;17985:113::-;;;:::i;8700:159::-;;;;;;;;;;;;;;;;-1:-1:-1;8700:159:0;-1:-1:-1;;;;;8700:159:0;;:::i;18401:109::-;;;:::i;16287:167::-;;;;;;;;;;;;;;;;-1:-1:-1;16287:167:0;-1:-1:-1;;;;;16287:167:0;;:::i;17775:160::-;;;;;;;;;;;;;;;;-1:-1:-1;17775:160:0;-1:-1:-1;;;;;17775:160:0;;:::i;18289:107::-;;;:::i;20727:151::-;;;;;;;;;;;;;;;;-1:-1:-1;20727:151:0;;:::i;9598:209::-;;;;;;;;;;;;;;;;-1:-1:-1;9598:209:0;;:::i;11967:291::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11967:291:0;;;;;;;;:::i;13205:428::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13205:428:0;;;;;;;;;;;;;;;;;;;;;;;:::i;12263:296::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12263:296:0;;;;;;;;:::i;19224:120::-;;;:::i;6005:32::-;;;:::i;6258:44::-;;;:::i;13895:252::-;;;;;;;;;;;;;;;;-1:-1:-1;13895:252:0;;;;;;;:::i;10753:302::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10753:302:0;;;;;;;;:::i;15982:128::-;;;:::i;17115:107::-;;;:::i;7853:74::-;;;:::i;19959:190::-;;;;;;;;;;;;;;;;-1:-1:-1;19959:190:0;;:::i;10236:205::-;;;;;;;;;;;;;;;;-1:-1:-1;10236:205:0;;:::i;13064:136::-;;;:::i;18141:105::-;;;:::i;16697:232::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;16697:232:0;;;;;;;;;;:::i;20154:194::-;;;;;;;;;;;;;;;;-1:-1:-1;20154:194:0;;:::i;14873:243::-;;;;;;;;;;;;;;;;-1:-1:-1;14873:243:0;;;;;;;:::i;18953:149::-;;;:::i;19349:128::-;;;:::i;19780:174::-;;;;;;;;;;;;;;;;-1:-1:-1;19780:174:0;;:::i;8378:205::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8378:205:0;;;;;;;;;;:::i;17435:111::-;;;:::i;19482:130::-;;;:::i;20353:103::-;;;:::i;9179:203::-;;;;;;;;;;;;;;;;-1:-1:-1;9179:203:0;;:::i;17581:158::-;;;;;;;;;;;;;;;;-1:-1:-1;17581:158:0;-1:-1:-1;;;;;17581:158:0;;:::i;7723:125::-;;;;;;;;;;;;;;;;-1:-1:-1;7723:125:0;-1:-1:-1;;;;;7723:125:0;;:::i;14740:128::-;;;:::i;10026:205::-;;;;;;;;;;;;;;;;-1:-1:-1;10026:205:0;;:::i;17258:141::-;;;;;;;;;;;;;;;;-1:-1:-1;17258:141:0;-1:-1:-1;;;;;17258:141:0;;:::i;18515:109::-;;;:::i;20461:155::-;;;;;;;;;;;;;;;;-1:-1:-1;20461:155:0;;:::i;6308:52::-;;;:::i;19617:158::-;;;;;;;;;;;;;;;;-1:-1:-1;19617:158:0;;:::i;8864:102::-;;;:::i;11363:298::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11363:298:0;;;;;;;;:::i;6080:30::-;;;:::i;12564:291::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12564:291:0;;;;;;;;:::i;13638:252::-;;;;;;;;;;;;;;;;-1:-1:-1;13638:252:0;-1:-1:-1;;;;;13638:252:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8081:292;6872:17;;8190:4;;6834:10;;-1:-1:-1;;;;;6872:17:0;6859:30;;;6858:68;;-1:-1:-1;6908:17:0;;-1:-1:-1;;;;;6895:30:0;;;6908:17;;6895:30;6858:68;6857:94;;;-1:-1:-1;6945:5:0;;-1:-1:-1;;;;;6932:18:0;;;6945:5;;6932:18;6857:94;6849:132;;;;;-1:-1:-1;;;6849:132:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6849:132:0;;;;;;;;;;;;;;;7026:17:::1;7071:9:::0;7046:10:::1;::::0;-1:-1:-1;;;7071:9:0;::::1;;;7070:10;::::0;7069:36:::1;;-1:-1:-1::0;7099:5:0::1;::::0;-1:-1:-1;;;;;7086:18:0;;::::1;7099:5:::0;::::1;7086:18;7069:36;7061:65;;;::::0;;-1:-1:-1;;;7061:65:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;7061:65:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;;;;8203:20:0::2;;::::0;;;:10:::2;:20;::::0;;;;:40;;-1:-1:-1;;8203:40:0::2;8239:4;8203:40:::0;;::::2;::::0;;6244:8:::2;8248:35;::::0;::::2;:50:::0;;;8303:34:::2;::::0;;::::2;:49:::0;;;;8239:4;8081:292::o;9387:206::-;6872:17;;9497:6;;6834:10;;-1:-1:-1;;;;;6872:17:0;6859:30;;;6858:68;;-1:-1:-1;6908:17:0;;-1:-1:-1;;;;;6895:30:0;;;6908:17;;6895:30;6858:68;6857:94;;;-1:-1:-1;6945:5:0;;-1:-1:-1;;;;;6932:18:0;;;6945:5;;6932:18;6857:94;6849:132;;;;;-1:-1:-1;;;6849:132:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6849:132:0;;;;;;;;;;;;;;;7026:17:::1;7071:9:::0;7046:10:::1;::::0;-1:-1:-1;;;7071:9:0;::::1;;;7070:10;::::0;7069:36:::1;;-1:-1:-1::0;7099:5:0::1;::::0;-1:-1:-1;;;;;7086:18:0;;::::1;7099:5:::0;::::1;7086:18;7069:36;7061:65;;;::::0;;-1:-1:-1;;;7061:65:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;7061:65:0;;;;;;;;;;;;;::::1;;9529:33:::2;9539:14;;9555:6;9529:9;:33::i;:::-;9512:14;:50:::0;;;;9387:206;-1:-1:-1;;;;9387:206:0:o;14544:191::-;6872:17;;14628:4;;6834:10;;-1:-1:-1;;;;;6872:17:0;6859:30;;;6858:68;;-1:-1:-1;6908:17:0;;-1:-1:-1;;;;;6895:30:0;;;6908:17;;6895:30;6858:68;6857:94;;;-1:-1:-1;6945:5:0;;-1:-1:-1;;;;;6932:18:0;;;6945:5;;6932:18;6857:94;6849:132;;;;;-1:-1:-1;;;6849:132:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6849:132:0;;;;;;;;;;;;;;;7026:17:::1;7071:9:::0;7046:10:::1;::::0;-1:-1:-1;;;7071:9:0;::::1;;;7070:10;::::0;7069:36:::1;;-1:-1:-1::0;7099:5:0::1;::::0;-1:-1:-1;;;;;7086:18:0;;::::1;7099:5:::0;::::1;7086:18;7069:36;7061:65;;;::::0;;-1:-1:-1;;;7061:65:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;7061:65:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;14660:16:0::2;::::0;14641::::2;:35:::0;-1:-1:-1;14699:15:0::2;::::0;14681::::2;:33:::0;14726:4:::2;::::0;14544:191::o;20621:101::-;20704:13;;20621:101;:::o;8588:107::-;8678:12;;-1:-1:-1;;;;;8678:12:0;8588:107;:::o;15700:277::-;6872:17;;15844:4;;6834:10;;-1:-1:-1;;;;;6872:17:0;6859:30;;;6858:68;;-1:-1:-1;6908:17:0;;-1:-1:-1;;;;;6895:30:0;;;6908:17;;6895:30;6858:68;6857:94;;;-1:-1:-1;6945:5:0;;-1:-1:-1;;;;;6932:18:0;;;6945:5;;6932:18;6857:94;6849:132;;;;;-1:-1:-1;;;6849:132:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6849:132:0;;;;;;;;;;;;;;;7026:17:::1;7071:9:::0;7046:10:::1;::::0;-1:-1:-1;;;7071:9:0;::::1;;;7070:10;::::0;7069:36:::1;;-1:-1:-1::0;7099:5:0::1;::::0;-1:-1:-1;;;;;7086:18:0;;::::1;7099:5:::0;::::1;7086:18;7069:36;7061:65;;;::::0;;-1:-1:-1;;;7061:65:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;7061:65:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;;;;15857:20:0;;;::::2;;::::0;;;:10:::2;:20;::::0;;;;:35:::2;::::0;::::2;:48:::0;;;;15910:34:::2;;:46:::0;15968:4:::2;::::0;15700:277::o;15507:188::-;-1:-1:-1;;;;;15618:20:0;15585:7;15618:20;;;:10;:20;;;;;:35;;;;15655:34;;;;;15618:35;;15507:188::o;9812:209::-;6872:17;;9918:7;;6834:10;;-1:-1:-1;;;;;6872:17:0;6859:30;;;6858:68;;-1:-1:-1;6908:17:0;;-1:-1:-1;;;;;6895:30:0;;;6908:17;;6895:30;6858:68;6857:94;;;-1:-1:-1;6945:5:0;;-1:-1:-1;;;;;6932:18:0;;;6945:5;;6932:18;6857:94;6849:132;;;;;-1:-1:-1;;;6849:132:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6849:132:0;;;;;;;;;;;;;;;7026:17:::1;7071:9:::0;7046:10:::1;::::0;-1:-1:-1;;;7071:9:0;::::1;;;7070:10;::::0;7069:36:::1;;-1:-1:-1::0;7099:5:0::1;::::0;-1:-1:-1;;;;;7086:18:0;;::::1;7099:5:::0;::::1;7086:18;7069:36;7061:65;;;::::0;;-1:-1:-1;;;7061:65:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;7061:65:0;;;;;;;;;;;;;::::1;;9955:31:::2;9959:18;;9979:6;9955:3;:31::i;:::-;9934:18;:52:::0;;;;9812:209;-1:-1:-1;;;;9812:209:0:o;10446:302::-;6872:17;;10582:7;;6834:10;;-1:-1:-1;;;;;6872:17:0;6859:30;;;6858:68;;-1:-1:-1;6908:17:0;;-1:-1:-1;;;;;6895:30:0;;;6908:17;;6895:30;6858:68;6857:94;;;-1:-1:-1;6945:5:0;;-1:-1:-1;;;;;6932:18:0;;;6945:5;;6932:18;6857:94;6849:132;;;;;-1:-1:-1;;;6849:132:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6849:132:0;;;;;;;;;;;;;;;7026:17:::1;7071:9:::0;7046:10:::1;::::0;-1:-1:-1;;;7071:9:0;::::1;;;7070:10;::::0;7069:36:::1;;-1:-1:-1::0;7099:5:0::1;::::0;-1:-1:-1;;;;;7086:18:0;;::::1;7099:5:::0;::::1;7086:18;7069:36;7061:65;;;::::0;;-1:-1:-1;;;7061:65:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;7061:65:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;10644:20:0;::::2;;::::0;;;:10:::2;:20;::::0;;;;:39:::2;;::::0;10640:52:::2;::::0;10685:6;10640:3:::2;:52::i;:::-;-1:-1:-1::0;;;;;10598:20:0;::::2;;::::0;;;:10:::2;:20;::::0;;;;:39:::2;;:94:::0;;;;-1:-1:-1;6986:1:0::1;10446:302:::0;;;;;:::o;6043:31::-;;;;:::o;14152:185::-;6872:17;;14267:4;;6834:10;;-1:-1:-1;;;;;6872:17:0;6859:30;;;6858:68;;-1:-1:-1;6908:17:0;;-1:-1:-1;;;;;6895:30:0;;;6908:17;;6895:30;6858:68;6857:94;;;-1:-1:-1;6945:5:0;;-1:-1:-1;;;;;6932:18:0;;;6945:5;;6932:18;6857:94;6849:132;;;;;-1:-1:-1;;;6849:132:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6849:132:0;;;;;;;;;;;;;;;7026:17:::1;7071:9:::0;7046:10:::1;::::0;-1:-1:-1;;;7071:9:0;::::1;;;7070:10;::::0;7069:36:::1;;-1:-1:-1::0;7099:5:0::1;::::0;-1:-1:-1;;;;;7086:18:0;;::::1;7099:5:::0;::::1;7086:18;7069:36;7061:65;;;::::0;;-1:-1:-1;;;7061:65:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;7061:65:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;14280:16:0::2;:36:::0;14328:4:::2;::::0;14152:185::o;11060:298::-;6872:17;;11195:7;;6834:10;;-1:-1:-1;;;;;6872:17:0;6859:30;;;6858:68;;-1:-1:-1;6908:17:0;;-1:-1:-1;;;;;6895:30:0;;;6908:17;;6895:30;6858:68;6857:94;;;-1:-1:-1;6945:5:0;;-1:-1:-1;;;;;6932:18:0;;;6945:5;;6932:18;6857:94;6849:132;;;;;-1:-1:-1;;;6849:132:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6849:132:0;;;;;;;;;;;;;;;7026:17:::1;7071:9:::0;7046:10:::1;::::0;-1:-1:-1;;;7071:9:0;::::1;;;7070:10;::::0;7069:36:::1;;-1:-1:-1::0;7099:5:0::1;::::0;-1:-1:-1;;;;;7086:18:0;;::::1;7099:5:::0;::::1;7086:18;7069:36;7061:65;;;::::0;;-1:-1:-1;;;7061:65:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;7061:65:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;11256:20:0;::::2;;::::0;;;:10:::2;:20;::::0;;;;:38:::2;;::::0;11252:51:::2;::::0;11296:6;11252:3:::2;:51::i;:::-;-1:-1:-1::0;;;;;11211:20:0;::::2;;::::0;;;:10:::2;:20;::::0;;;;:38:::2;;:92:::0;;;;-1:-1:-1;6986:1:0::1;11060:298:::0;;;;;:::o;5966:33::-;;;;:::o;16115:167::-;16210:4;6739:5;;-1:-1:-1;;;;;6739:5:0;6725:10;:19;6717:50;;;;;-1:-1:-1;;;6717:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6717:50:0;;;;;;;;;;;;;;;-1:-1:-1;16223:17:0::1;:38:::0;;-1:-1:-1;;;;;16223:38:0;::::1;-1:-1:-1::0;;;;;;16223:38:0;;::::1;;::::0;;;16115:167;;;:::o;12860:199::-;-1:-1:-1;;;;;12974:20:0;12941:7;12974:20;;;:10;:20;;;;;:39;;;;13015:38;;;;;12974:39;;12860:199::o;16964:109::-;17051:17;;16964:109;:::o;19107:112::-;19188:14;:26;19107:112;:::o;7932:144::-;6872:17;;8020:4;;6834:10;;-1:-1:-1;;;;;6872:17:0;6859:30;;;6858:68;;-1:-1:-1;6908:17:0;;-1:-1:-1;;;;;6895:30:0;;;6908:17;;6895:30;6858:68;6857:94;;;-1:-1:-1;6945:5:0;;-1:-1:-1;;;;;6932:18:0;;;6945:5;;6932:18;6857:94;6849:132;;;;;-1:-1:-1;;;6849:132:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6849:132:0;;;;;;;;;;;;;;;8033:9:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;8033:22:0::1;-1:-1:-1::0;;;;8033:22:0;;::::1;;::::0;;-1:-1:-1;;;7932:144:0;;;;:::o;11666:296::-;6872:17;;11793:4;;6834:10;;-1:-1:-1;;;;;6872:17:0;6859:30;;;6858:68;;-1:-1:-1;6908:17:0;;-1:-1:-1;;;;;6895:30:0;;;6908:17;;6895:30;6858:68;6857:94;;;-1:-1:-1;6945:5:0;;-1:-1:-1;;;;;6932:18:0;;;6945:5;;6932:18;6857:94;6849:132;;;;;-1:-1:-1;;;6849:132:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6849:132:0;;;;;;;;;;;;;;;7026:17:::1;7071:9:::0;7046:10:::1;::::0;-1:-1:-1;;;7071:9:0;::::1;;;7070:10;::::0;7069:36:::1;;-1:-1:-1::0;7099:5:0::1;::::0;-1:-1:-1;;;;;7086:18:0;;::::1;7099:5:::0;::::1;7086:18;7069:36;7061:65;;;::::0;;-1:-1:-1;;;7061:65:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;7061:65:0;;;;;;;;;;;;;::::1;;11827:31:::2;11831:18;;11851:6;11827:3;:31::i;:::-;11806:18;:52:::0;-1:-1:-1;;;;;11909:20:0;::::2;;::::0;;;:10:::2;:20;::::0;;;;:39:::2;;::::0;11905:52:::2;::::0;11950:6;11905:3:::2;:52::i;:::-;-1:-1:-1::0;;;;;11863:20:0;;::::2;;::::0;;;:10:::2;:20;::::0;;;;:39:::2;;:94:::0;;;;-1:-1:-1;11666:296:0;;-1:-1:-1;;11666:296:0:o;15121:381::-;6872:17;;15275:4;;6834:10;;-1:-1:-1;;;;;6872:17:0;6859:30;;;6858:68;;-1:-1:-1;6908:17:0;;-1:-1:-1;;;;;6895:30:0;;;6908:17;;6895:30;6858:68;6857:94;;;-1:-1:-1;6945:5:0;;-1:-1:-1;;;;;6932:18:0;;;6945:5;;6932:18;6857:94;6849:132;;;;;-1:-1:-1;;;6849:132:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6849:132:0;;;;;;;;;;;;;;;7026:17:::1;7071:9:::0;7046:10:::1;::::0;-1:-1:-1;;;7071:9:0;::::1;;;7070:10;::::0;7069:36:::1;;-1:-1:-1::0;7099:5:0::1;::::0;-1:-1:-1;;;;;7086:18:0;;::::1;7099:5:::0;::::1;7086:18;7069:36;7061:65;;;::::0;;-1:-1:-1;;;7061:65:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;7061:65:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;15288:16:0::2;:36:::0;;;15329:15:::2;:34:::0;;;-1:-1:-1;;;;;15368:20:0;;;::::2;-1:-1:-1::0;15368:20:0;;;:10:::2;:20;::::0;;;;:35:::2;::::0;::::2;:55:::0;;;;15428:34:::2;;:53:::0;15493:4:::2;::::0;15121:381::o;14342:197::-;6872:17;;14463:4;;6834:10;;-1:-1:-1;;;;;6872:17:0;6859:30;;;6858:68;;-1:-1:-1;6908:17:0;;-1:-1:-1;;;;;6895:30:0;;;6908:17;;6895:30;6858:68;6857:94;;;-1:-1:-1;6945:5:0;;-1:-1:-1;;;;;6932:18:0;;;6945:5;;6932:18;6857:94;6849:132;;;;;-1:-1:-1;;;6849:132:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6849:132:0;;;;;;;;;;;;;;;7026:17:::1;7071:9:::0;7046:10:::1;::::0;-1:-1:-1;;;7071:9:0;::::1;;;7070:10;::::0;7069:36:::1;;-1:-1:-1::0;7099:5:0::1;::::0;-1:-1:-1;;;;;7086:18:0;;::::1;7099:5:::0;::::1;7086:18;7069:36;7061:65;;;::::0;;-1:-1:-1;;;7061:65:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;7061:65:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;14476:19:0::2;:42:::0;14530:4:::2;::::0;14342:197::o;17985:113::-;18074:19;;17985:113;:::o;8700:159::-;8795:4;6739:5;;-1:-1:-1;;;;;6739:5:0;6725:10;:19;6717:50;;;;;-1:-1:-1;;;6717:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6717:50:0;;;;;;;;;;;;;;;-1:-1:-1;8808:12:0::1;:30:::0;;-1:-1:-1;;;;;8808:30:0;::::1;-1:-1:-1::0;;;;;;8808:30:0;;::::1;;::::0;;8700:159;;;:::o;18401:109::-;18488:17;;-1:-1:-1;;;;;18488:17:0;18401:109;:::o;16287:167::-;16382:4;6739:5;;-1:-1:-1;;;;;6739:5:0;6725:10;:19;6717:50;;;;;-1:-1:-1;;;6717:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6717:50:0;;;;;;;;;;;;;;;-1:-1:-1;16395:17:0::1;:38:::0;;-1:-1:-1;;;;;16395:38:0;::::1;-1:-1:-1::0;;;;;;16395:38:0;;::::1;;::::0;;;16287:167;;;:::o;17775:160::-;-1:-1:-1;;;;;17891:20:0;17868:7;17891:20;;;:10;:20;;;;;:39;;;;17775:160::o;18289:107::-;18375:16;;18289:107;:::o;20727:151::-;20814:4;6739:5;;-1:-1:-1;;;;;6739:5:0;6725:10;:19;6717:50;;;;;-1:-1:-1;;;6717:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6717:50:0;;;;;;;;;;;;;;;-1:-1:-1;20827:13:0::1;:30:::0;20869:4:::1;::::0;20727:151::o;9598:209::-;6872:17;;9704:7;;6834:10;;-1:-1:-1;;;;;6872:17:0;6859:30;;;6858:68;;-1:-1:-1;6908:17:0;;-1:-1:-1;;;;;6895:30:0;;;6908:17;;6895:30;6858:68;6857:94;;;-1:-1:-1;6945:5:0;;-1:-1:-1;;;;;6932:18:0;;;6945:5;;6932:18;6857:94;6849:132;;;;;-1:-1:-1;;;6849:132:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6849:132:0;;;;;;;;;;;;;;;7026:17:::1;7071:9:::0;7046:10:::1;::::0;-1:-1:-1;;;7071:9:0;::::1;;;7070:10;::::0;7069:36:::1;;-1:-1:-1::0;7099:5:0::1;::::0;-1:-1:-1;;;;;7086:18:0;;::::1;7099:5:::0;::::1;7086:18;7069:36;7061:65;;;::::0;;-1:-1:-1;;;7061:65:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;7061:65:0;;;;;;;;;;;;;::::1;;9741:31:::2;9745:18;;9765:6;9741:3;:31::i;11967:291::-:0;6872:17;;12093:4;;6834:10;;-1:-1:-1;;;;;6872:17:0;6859:30;;;6858:68;;-1:-1:-1;6908:17:0;;-1:-1:-1;;;;;6895:30:0;;;6908:17;;6895:30;6858:68;6857:94;;;-1:-1:-1;6945:5:0;;-1:-1:-1;;;;;6932:18:0;;;6945:5;;6932:18;6857:94;6849:132;;;;;-1:-1:-1;;;6849:132:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6849:132:0;;;;;;;;;;;;;;;7026:17:::1;7071:9:::0;7046:10:::1;::::0;-1:-1:-1;;;7071:9:0;::::1;;;7070:10;::::0;7069:36:::1;;-1:-1:-1::0;7099:5:0::1;::::0;-1:-1:-1;;;;;7086:18:0;;::::1;7099:5:::0;::::1;7086:18;7069:36;7061:65;;;::::0;;-1:-1:-1;;;7061:65:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;7061:65:0;;;;;;;;;;;;;::::1;;12126:30:::2;12130:17;;12149:6;12126:3;:30::i;:::-;12106:17;:50:::0;-1:-1:-1;;;;;12206:20:0;::::2;;::::0;;;:10:::2;:20;::::0;;;;:38:::2;;::::0;12202:51:::2;::::0;12246:6;12202:3:::2;:51::i;:::-;-1:-1:-1::0;;;;;12161:20:0;;::::2;;::::0;;;:10:::2;:20;::::0;;;;:38:::2;;:92:::0;;;;-1:-1:-1;11967:291:0;;-1:-1:-1;;11967:291:0:o;13205:428::-;6872:17;;13411:7;;6834:10;;-1:-1:-1;;;;;6872:17:0;6859:30;;;6858:68;;-1:-1:-1;6908:17:0;;-1:-1:-1;;;;;6895:30:0;;;6908:17;;6895:30;6858:68;6857:94;;;-1:-1:-1;6945:5:0;;-1:-1:-1;;;;;6932:18:0;;;6945:5;;6932:18;6857:94;6849:132;;;;;-1:-1:-1;;;6849:132:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6849:132:0;;;;;;;;;;;;;;;7026:17:::1;7071:9:::0;7046:10:::1;::::0;-1:-1:-1;;;7071:9:0;::::1;;;7070:10;::::0;7069:36:::1;;-1:-1:-1::0;7099:5:0::1;::::0;-1:-1:-1;;;;;7086:18:0;;::::1;7099:5:::0;::::1;7086:18;7069:36;7061:65;;;::::0;;-1:-1:-1;;;7061:65:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;7061:65:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;13427:18:0::2;:40:::0;;;;13472:17:::2;:38:::0;;;;-1:-1:-1;;;;;13515:20:0;;::::2;-1:-1:-1::0;13515:20:0;;;:10:::2;:20;::::0;;;;:39:::2;::::0;::::2;:55:::0;;;;13575:38:::2;::::0;;::::2;:53:::0;;;;13205:428;:::o;12263:296::-;6872:17;;12390:4;;6834:10;;-1:-1:-1;;;;;6872:17:0;6859:30;;;6858:68;;-1:-1:-1;6908:17:0;;-1:-1:-1;;;;;6895:30:0;;;6908:17;;6895:30;6858:68;6857:94;;;-1:-1:-1;6945:5:0;;-1:-1:-1;;;;;6932:18:0;;;6945:5;;6932:18;6857:94;6849:132;;;;;-1:-1:-1;;;6849:132:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6849:132:0;;;;;;;;;;;;;;;7026:17:::1;7071:9:::0;7046:10:::1;::::0;-1:-1:-1;;;7071:9:0;::::1;;;7070:10;::::0;7069:36:::1;;-1:-1:-1::0;7099:5:0::1;::::0;-1:-1:-1;;;;;7086:18:0;;::::1;7099:5:::0;::::1;7086:18;7069:36;7061:65;;;::::0;;-1:-1:-1;;;7061:65:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;7061:65:0;;;;;;;;;;;;;::::1;;12424:31:::2;12428:18;;12448:6;12424:3;:31::i;:::-;12403:18;:52:::0;-1:-1:-1;;;;;12506:20:0;::::2;;::::0;;;:10:::2;:20;::::0;;;;:39:::2;;::::0;12502:52:::2;::::0;12547:6;12502:3:::2;:52::i;19224:120::-:0;19309:30;;19224:120;:::o;6005:32::-;;;;:::o;6258:44::-;;;;:::o;13895:252::-;6872:17;;14030:4;;6834:10;;-1:-1:-1;;;;;6872:17:0;6859:30;;;6858:68;;-1:-1:-1;6908:17:0;;-1:-1:-1;;;;;6895:30:0;;;6908:17;;6895:30;6858:68;6857:94;;;-1:-1:-1;6945:5:0;;-1:-1:-1;;;;;6932:18:0;;;6945:5;;6932:18;6857:94;6849:132;;;;;-1:-1:-1;;;6849:132:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6849:132:0;;;;;;;;;;;;;;;7026:17:::1;7071:9:::0;7046:10:::1;::::0;-1:-1:-1;;;7071:9:0;::::1;;;7070:10;::::0;7069:36:::1;;-1:-1:-1::0;7099:5:0::1;::::0;-1:-1:-1;;;;;7086:18:0;;::::1;7099:5:::0;::::1;7086:18;7069:36;7061:65;;;::::0;;-1:-1:-1;;;7061:65:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;7061:65:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;14043:16:0::2;:36:::0;;;;14084:19:::2;:42:::0;14138:4:::2;::::0;13895:252::o;10753:302::-;6872:17;;10889:7;;6834:10;;-1:-1:-1;;;;;6872:17:0;6859:30;;;6858:68;;-1:-1:-1;6908:17:0;;-1:-1:-1;;;;;6895:30:0;;;6908:17;;6895:30;6858:68;6857:94;;;-1:-1:-1;6945:5:0;;-1:-1:-1;;;;;6932:18:0;;;6945:5;;6932:18;6857:94;6849:132;;;;;-1:-1:-1;;;6849:132:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6849:132:0;;;;;;;;;;;;;;;7026:17:::1;7071:9:::0;7046:10:::1;::::0;-1:-1:-1;;;7071:9:0;::::1;;;7070:10;::::0;7069:36:::1;;-1:-1:-1::0;7099:5:0::1;::::0;-1:-1:-1;;;;;7086:18:0;;::::1;7099:5:::0;::::1;7086:18;7069:36;7061:65;;;::::0;;-1:-1:-1;;;7061:65:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;7061:65:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;10951:20:0;::::2;;::::0;;;:10:::2;:20;::::0;;;;:39:::2;;::::0;10947:52:::2;::::0;10992:6;10947:3:::2;:52::i;15982:128::-:0;16071:16;;16089:15;;15982:128;;:::o;17115:107::-;17201:16;;17115:107;:::o;7853:74::-;7894:7;7917:5;-1:-1:-1;;;;;7917:5:0;7853:74;:::o;19959:190::-;20058:4;6739:5;;-1:-1:-1;;;;;6739:5:0;6725:10;:19;6717:50;;;;;-1:-1:-1;;;6717:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6717:50:0;;;;;;;;;;;;;;;-1:-1:-1;20071:34:0;:57;20140:4:::1;::::0;19959:190::o;10236:205::-;6872:17;;10341:7;;6834:10;;-1:-1:-1;;;;;6872:17:0;6859:30;;;6858:68;;-1:-1:-1;6908:17:0;;-1:-1:-1;;;;;6895:30:0;;;6908:17;;6895:30;6858:68;6857:94;;;-1:-1:-1;6945:5:0;;-1:-1:-1;;;;;6932:18:0;;;6945:5;;6932:18;6857:94;6849:132;;;;;-1:-1:-1;;;6849:132:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6849:132:0;;;;;;;;;;;;;;;7026:17:::1;7071:9:::0;7046:10:::1;::::0;-1:-1:-1;;;7071:9:0;::::1;;;7070:10;::::0;7069:36:::1;;-1:-1:-1::0;7099:5:0::1;::::0;-1:-1:-1;;;;;7086:18:0;;::::1;7099:5:::0;::::1;7086:18;7069:36;7061:65;;;::::0;;-1:-1:-1;;;7061:65:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;7061:65:0;;;;;;;;;;;;;::::1;;10377:30:::2;10381:17;;10400:6;10377:3;:30::i;:::-;10357:17;:50:::0;;;;10236:205;-1:-1:-1;;;;10236:205:0:o;13064:136::-;13157:18;;13177:17;;13064:136;;:::o;18141:105::-;18226:15;;18141:105;:::o;16697:232::-;16814:4;6739:5;;-1:-1:-1;;;;;6739:5:0;6725:10;:19;6717:50;;;;;-1:-1:-1;;;6717:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6717:50:0;;;;;;;;;;;;;;;-1:-1:-1;16827:17:0::1;:38:::0;;-1:-1:-1;;;;;16827:38:0;;::::1;-1:-1:-1::0;;;;;;16827:38:0;;::::1;;::::0;;;16870:17:::1;:38:::0;;;;;::::1;::::0;::::1;;::::0;;-1:-1:-1;;16697:232:0:o;20154:194::-;20255:4;6739:5;;-1:-1:-1;;;;;6739:5:0;6725:10;:19;6717:50;;;;;-1:-1:-1;;;6717:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6717:50:0;;;;;;;;;;;;;;;-1:-1:-1;20268:35:0;:59;20339:4:::1;::::0;20154:194::o;14873:243::-;6872:17;;15007:4;;6834:10;;-1:-1:-1;;;;;6872:17:0;6859:30;;;6858:68;;-1:-1:-1;6908:17:0;;-1:-1:-1;;;;;6895:30:0;;;6908:17;;6895:30;6858:68;6857:94;;;-1:-1:-1;6945:5:0;;-1:-1:-1;;;;;6932:18:0;;;6945:5;;6932:18;6857:94;6849:132;;;;;-1:-1:-1;;;6849:132:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6849:132:0;;;;;;;;;;;;;;;7026:17:::1;7071:9:::0;7046:10:::1;::::0;-1:-1:-1;;;7071:9:0;::::1;;;7070:10;::::0;7069:36:::1;;-1:-1:-1::0;7099:5:0::1;::::0;-1:-1:-1;;;;;7086:18:0;;::::1;7099:5:::0;::::1;7086:18;7069:36;7061:65;;;::::0;;-1:-1:-1;;;7061:65:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;7061:65:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;15020:16:0::2;:36:::0;;;;15061:15:::2;:34:::0;15107:4:::2;::::0;14873:243::o;18953:149::-;19038:14;:26;19066:30;;18953:149;;:::o;19349:128::-;19438:34;;19349:128;:::o;19780:174::-;19871:4;6739:5;;-1:-1:-1;;;;;6739:5:0;6725:10;:19;6717:50;;;;;-1:-1:-1;;;6717:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6717:50:0;;;;;;;;;;;;;;;-1:-1:-1;19884:30:0;:49;:30:::1;::::0;19780:174::o;8378:205::-;6872:17;;8504:4;;6834:10;;-1:-1:-1;;;;;6872:17:0;6859:30;;;6858:68;;-1:-1:-1;6908:17:0;;-1:-1:-1;;;;;6895:30:0;;;6908:17;;6895:30;6858:68;6857:94;;;-1:-1:-1;6945:5:0;;-1:-1:-1;;;;;6932:18:0;;;6945:5;;6932:18;6857:94;6849:132;;;;;-1:-1:-1;;;6849:132:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6849:132:0;;;;;;;;;;;;;;;7026:17:::1;7071:9:::0;7046:10:::1;::::0;-1:-1:-1;;;7071:9:0;::::1;;;7070:10;::::0;7069:36:::1;;-1:-1:-1::0;7099:5:0::1;::::0;-1:-1:-1;;;;;7086:18:0;;::::1;7099:5:::0;::::1;7086:18;7069:36;7061:65;;;::::0;;-1:-1:-1;;;7061:65:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;7061:65:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;;;;8517:20:0;;;::::2;;::::0;;;:10:::2;:20;::::0;;;;:45;;-1:-1:-1;;8517:45:0::2;::::0;::::2;;::::0;;;::::2;::::0;;-1:-1:-1;;8378:205:0:o;17435:111::-;17523:18;;17435:111;:::o;19482:130::-;19572:35;;19482:130;:::o;20353:103::-;20437:14;;20353:103;:::o;9179:203::-;6872:17;;9281:6;;6834:10;;-1:-1:-1;;;;;6872:17:0;6859:30;;;6858:68;;-1:-1:-1;6908:17:0;;-1:-1:-1;;;;;6895:30:0;;;6908:17;;6895:30;6858:68;6857:94;;;-1:-1:-1;6945:5:0;;-1:-1:-1;;;;;6932:18:0;;;6945:5;;6932:18;6857:94;6849:132;;;;;-1:-1:-1;;;6849:132:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6849:132:0;;;;;;;;;;;;;;;7026:17:::1;7071:9:::0;7046:10:::1;::::0;-1:-1:-1;;;7071:9:0;::::1;;;7070:10;::::0;7069:36:::1;;-1:-1:-1::0;7099:5:0::1;::::0;-1:-1:-1;;;;;7086:18:0;;::::1;7099:5:::0;::::1;7086:18;7069:36;7061:65;;;::::0;;-1:-1:-1;;;7061:65:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;7061:65:0;;;;;;;;;;;;;::::1;;9313:38:::2;9323:14;;9343:6;9313:9;:38::i;17581:158::-:0;-1:-1:-1;;;;;17696:20:0;17673:7;17696:20;;;:10;:20;;;;;:38;;;;17581:158::o;7723:125::-;7800:4;6739:5;;-1:-1:-1;;;;;6739:5:0;6725:10;:19;6717:50;;;;;-1:-1:-1;;;6717:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6717:50:0;;;;;;;;;;;;;;;-1:-1:-1;7813:5:0::1;:14:::0;;-1:-1:-1;;;;;7813:14:0;::::1;-1:-1:-1::0;;;;;;7813:14:0;;::::1;;::::0;;;7723:125;;;:::o;14740:128::-;14829:16;;14847:15;;14740:128;;:::o;10026:205::-;6872:17;;10131:7;;6834:10;;-1:-1:-1;;;;;6872:17:0;6859:30;;;6858:68;;-1:-1:-1;6908:17:0;;-1:-1:-1;;;;;6895:30:0;;;6908:17;;6895:30;6858:68;6857:94;;;-1:-1:-1;6945:5:0;;-1:-1:-1;;;;;6932:18:0;;;6945:5;;6932:18;6857:94;6849:132;;;;;-1:-1:-1;;;6849:132:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6849:132:0;;;;;;;;;;;;;;;7026:17:::1;7071:9:::0;7046:10:::1;::::0;-1:-1:-1;;;7071:9:0;::::1;;;7070:10;::::0;7069:36:::1;;-1:-1:-1::0;7099:5:0::1;::::0;-1:-1:-1;;;;;7086:18:0;;::::1;7099:5:::0;::::1;7086:18;7069:36;7061:65;;;::::0;;-1:-1:-1;;;7061:65:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;7061:65:0;;;;;;;;;;;;;::::1;;10167:30:::2;10171:17;;10190:6;10167:3;:30::i;17258:141::-:0;-1:-1:-1;;;;;17361:20:0;17341:4;17361:20;;;:10;:20;;;;;:33;;;;17258:141::o;18515:109::-;18602:17;;-1:-1:-1;;;;;18602:17:0;18515:109;:::o;20461:155::-;20550:4;6739:5;;-1:-1:-1;;;;;6739:5:0;6725:10;:19;6717:50;;;;;-1:-1:-1;;;6717:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6717:50:0;;;;;;;;;;;;;;;-1:-1:-1;20563:14:0::1;:32:::0;20607:4:::1;::::0;20461:155::o;6308:52::-;;;;:::o;19617:158::-;19700:4;6739:5;;-1:-1:-1;;;;;6739:5:0;6725:10;:19;6717:50;;;;;-1:-1:-1;;;6717:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6717:50:0;;;;;;;;;;;;;;;-1:-1:-1;19713:14:0::1;:41:::0;19766:4:::1;::::0;19617:158::o;8864:102::-;8947:14;;8864:102;:::o;11363:298::-;6872:17;;11498:7;;6834:10;;-1:-1:-1;;;;;6872:17:0;6859:30;;;6858:68;;-1:-1:-1;6908:17:0;;-1:-1:-1;;;;;6895:30:0;;;6908:17;;6895:30;6858:68;6857:94;;;-1:-1:-1;6945:5:0;;-1:-1:-1;;;;;6932:18:0;;;6945:5;;6932:18;6857:94;6849:132;;;;;-1:-1:-1;;;6849:132:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6849:132:0;;;;;;;;;;;;;;;7026:17:::1;7071:9:::0;7046:10:::1;::::0;-1:-1:-1;;;7071:9:0;::::1;;;7070:10;::::0;7069:36:::1;;-1:-1:-1::0;7099:5:0::1;::::0;-1:-1:-1;;;;;7086:18:0;;::::1;7099:5:::0;::::1;7086:18;7069:36;7061:65;;;::::0;;-1:-1:-1;;;7061:65:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;7061:65:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;11559:20:0;::::2;;::::0;;;:10:::2;:20;::::0;;;;:38:::2;;::::0;11555:51:::2;::::0;11599:6;11555:3:::2;:51::i;6080:30::-:0;;;;:::o;12564:291::-;6872:17;;12690:4;;6834:10;;-1:-1:-1;;;;;6872:17:0;6859:30;;;6858:68;;-1:-1:-1;6908:17:0;;-1:-1:-1;;;;;6895:30:0;;;6908:17;;6895:30;6858:68;6857:94;;;-1:-1:-1;6945:5:0;;-1:-1:-1;;;;;6932:18:0;;;6945:5;;6932:18;6857:94;6849:132;;;;;-1:-1:-1;;;6849:132:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6849:132:0;;;;;;;;;;;;;;;7026:17:::1;7071:9:::0;7046:10:::1;::::0;-1:-1:-1;;;7071:9:0;::::1;;;7070:10;::::0;7069:36:::1;;-1:-1:-1::0;7099:5:0::1;::::0;-1:-1:-1;;;;;7086:18:0;;::::1;7099:5:::0;::::1;7086:18;7069:36;7061:65;;;::::0;;-1:-1:-1;;;7061:65:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;7061:65:0;;;;;;;;;;;;;::::1;;12723:30:::2;12727:17;;12746:6;12723:3;:30::i;:::-;12703:17;:50:::0;-1:-1:-1;;;;;12803:20:0;::::2;;::::0;;;:10:::2;:20;::::0;;;;:38:::2;;::::0;12799:51:::2;::::0;12843:6;12799:3:::2;:51::i;13638:252::-:0;13766:18;;13786:17;;-1:-1:-1;;;;;13805:20:0;;13715:7;13805:20;;;:10;:20;;;;;:39;;;;13846:38;;;;;13638:252;;;;;:::o;22517:208::-;22579:6;22605:5;;;22625:6;;;;;;22624:20;;;22642:1;22637;:6;;22624:20;22623:46;;;;22655:1;22651;:5;22650:18;;;;;22666:1;22662;:5;22650:18;22615:92;;;;-1:-1:-1;;;22615:92:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22719:1;22517:208;-1:-1:-1;;;22517:208:0:o;21091:112::-;21149:7;21172:26;21177:1;21180;21172:26;;;;;;;;;;;;;-1:-1:-1;;;21172:26:0;;;:4;:26::i;20941:145::-;20999:7;21027:5;;;21045:6;;;;21037:31;;;;;-1:-1:-1;;;21037:31:0;;;;;;;;;;;;-1:-1:-1;;;21037:31:0;;;;;;;;;;;;;;22730:211;22792:6;22818:5;;;22838:6;;;;;;22837:20;;;22855:1;22850;:6;;22837:20;22836:46;;;;22868:1;22864;:5;22863:18;;;;;22879:1;22875;:5;22863:18;22828:95;;;;-1:-1:-1;;;22828:95:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21541:154;21628:7;21660:12;21652:6;;;;21644:29;;;;-1:-1:-1;;;21644:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;21685:5:0;;;21541:154::o

Swarm Source

ipfs://231c27320d7240d7267740f1e19bb5d887bdab179a66611a6bba7d69af857930

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.