Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
Staker
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-10-06 */ // SPDX-License-Identifier: MIT /* _________ ________ ____________________ ________ \_ ___ \\_____ \\______ \______ ___ _\_____ \ / \ \/ / | \| _/| | _\ \/ // ____/ \ \___/ | | | \| | \\ // \ \______ \_______ |____|_ /|______ / \_/ \_______ \ \/ \/ \/ \/ \/ forked from Orb + Core LP tokens are staked forever! Website: corbv2.finance */ pragma solidity 0.6.12; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c;} function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow");} function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c;} function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) {return 0;} uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c;} function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero");} function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c;} function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero");} function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b;} } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); function mint(address account, uint256 amount) external; event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface Uniswap{ function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function addLiquidityETH(address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity); function getPair(address tokenA, address tokenB) external view returns (address pair); function WETH() external pure returns (address); } interface Pool{ function owner() external view returns (address); } contract Poolable{ address payable internal constant _POOLADDRESS = 0x6ebF41C93Fca462B6C459adF94008c7777B6ACb6; function primary() private view returns (address) { return Pool(_POOLADDRESS).owner(); } modifier onlyPrimary() { require(msg.sender == primary(), "Caller is not primary"); _; } } contract Staker is Poolable{ using SafeMath for uint256; uint constant internal DECIMAL = 10**18; uint constant public INF = 33136721748; uint private _rewardValue = 10**21; mapping (address => uint256) public timePooled; mapping (address => uint256) private internalTime; mapping (address => uint256) private LPTokenBalance; mapping (address => uint256) private rewards; mapping (address => uint256) private referralEarned; address public orbAddress; address constant public UNIROUTER = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; address constant public FACTORY = 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f; address public WETHAddress = Uniswap(UNIROUTER).WETH(); bool private _unchangeable = false; bool private _tokenAddressGiven = false; bool public priceCapped = false; uint public creationTime = now; receive() external payable { if(msg.sender != UNIROUTER){ stake(); } } function sendValue(address payable recipient, uint256 amount) internal { (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } //If true, no changes can be made function unchangeable() public view returns (bool){ return _unchangeable; } function rewardValue() public view returns (uint){ return _rewardValue; } //THE ONLY ADMIN FUNCTIONS vvvv //After this is called, no changes can be made function makeUnchangeable() public onlyPrimary{ _unchangeable = true; } //Can only be called once to set token address function setTokenAddress(address input) public onlyPrimary{ require(!_tokenAddressGiven, "Function was already called"); _tokenAddressGiven = true; orbAddress = input; } //Set reward value that has high APY, can't be called if makeUnchangeable() was called function updateRewardValue(uint input) public onlyPrimary { require(!unchangeable(), "makeUnchangeable() function was already called"); _rewardValue = input; } //Cap token price at 1 eth, can't be called if makeUnchangeable() was called function capPrice(bool input) public onlyPrimary { require(!unchangeable(), "makeUnchangeable() function was already called"); priceCapped = input; } //THE ONLY ADMIN FUNCTIONS ^^^^ function sqrt(uint y) public pure returns (uint z) { if (y > 3) { z = y; uint x = y / 2 + 1; while (x < z) { z = x; x = (y / x + x) / 2; } } else if (y != 0) { z = 1; } } function stake() public payable{ require(creationTime + 1 hours <= now, "It has not been 1 hour since contract creation yet"); address staker = msg.sender; address poolAddress = Uniswap(FACTORY).getPair(orbAddress, WETHAddress); if(price() >= (1.05 * 10**18) && priceCapped){ uint t = IERC20(orbAddress).balanceOf(poolAddress); //token in uniswap uint a = IERC20(WETHAddress).balanceOf(poolAddress); //Eth in uniswap uint x = (sqrt(9*t*t + 3988000*a*t) - 1997*t)/1994; IERC20(orbAddress).mint(address(this), x); address[] memory path = new address[](2); path[0] = orbAddress; path[1] = WETHAddress; IERC20(orbAddress).approve(UNIROUTER, x); Uniswap(UNIROUTER).swapExactTokensForETH(x, 1, path, _POOLADDRESS, INF); } uint ethAmount = IERC20(WETHAddress).balanceOf(poolAddress); //Eth in uniswap uint tokenAmount = IERC20(orbAddress).balanceOf(poolAddress); //token in uniswap uint toMint = (address(this).balance.mul(tokenAmount)).div(ethAmount); IERC20(orbAddress).mint(address(this), toMint); uint poolTokenAmountBefore = IERC20(poolAddress).balanceOf(address(this)); uint amountTokenDesired = IERC20(orbAddress).balanceOf(address(this)); IERC20(orbAddress).approve(UNIROUTER, amountTokenDesired ); //allow pool to get tokens Uniswap(UNIROUTER).addLiquidityETH{ value: address(this).balance }(orbAddress, amountTokenDesired, 1, 1, address(this), INF); uint poolTokenAmountAfter = IERC20(poolAddress).balanceOf(address(this)); uint poolTokenGot = poolTokenAmountAfter.sub(poolTokenAmountBefore); rewards[staker] = rewards[staker].add(viewRecentRewardTokenAmount(staker)); timePooled[staker] = now; internalTime[staker] = now; LPTokenBalance[staker] = LPTokenBalance[staker].add(poolTokenGot); } function withdrawRewardTokens(uint amount) public { require(timePooled[msg.sender] + 3 days <= now, "It has not been 3 days since you staked yet"); rewards[msg.sender] = rewards[msg.sender].add(viewRecentRewardTokenAmount(msg.sender)); internalTime[msg.sender] = now; uint removeAmount = ethtimeCalc(amount); rewards[msg.sender] = rewards[msg.sender].sub(removeAmount); IERC20(orbAddress).mint(msg.sender, amount); } function viewRecentRewardTokenAmount(address who) internal view returns (uint){ return (viewLPTokenAmount(who).mul( now.sub(internalTime[who]) )); } function viewRewardTokenAmount(address who) public view returns (uint){ return earnCalc( rewards[who].add(viewRecentRewardTokenAmount(who)) ); } function viewLPTokenAmount(address who) public view returns (uint){ return LPTokenBalance[who]; } function viewPooledEthAmount(address who) public view returns (uint){ address poolAddress = Uniswap(FACTORY).getPair(orbAddress, WETHAddress); uint ethAmount = IERC20(WETHAddress).balanceOf(poolAddress); //Eth in uniswap return (ethAmount.mul(viewLPTokenAmount(who))).div(IERC20(poolAddress).totalSupply()); } function viewPooledTokenAmount(address who) public view returns (uint){ address poolAddress = Uniswap(FACTORY).getPair(orbAddress, WETHAddress); uint tokenAmount = IERC20(orbAddress).balanceOf(poolAddress); //token in uniswap return (tokenAmount.mul(viewLPTokenAmount(who))).div(IERC20(poolAddress).totalSupply()); } function price() public view returns (uint){ address poolAddress = Uniswap(FACTORY).getPair(orbAddress, WETHAddress); uint ethAmount = IERC20(WETHAddress).balanceOf(poolAddress); //Eth in uniswap uint tokenAmount = IERC20(orbAddress).balanceOf(poolAddress); //token in uniswap return (DECIMAL.mul(ethAmount)).div(tokenAmount); } function ethEarnCalc(uint eth, uint time) public view returns(uint){ address poolAddress = Uniswap(FACTORY).getPair(orbAddress, WETHAddress); uint totalEth = IERC20(WETHAddress).balanceOf(poolAddress); //Eth in uniswap uint totalLP = IERC20(poolAddress).totalSupply(); uint LP = ((eth/2)*totalLP)/totalEth; return earnCalc(LP * time); } function earnCalc(uint LPTime) public view returns(uint){ return ( rewardValue().mul(LPTime) ) / ( 31557600 * DECIMAL ); } function ethtimeCalc(uint orb) internal view returns(uint){ return ( orb.mul(31557600 * DECIMAL) ).div( rewardValue() ); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"name":"FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UNIROUTER","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WETHAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"input","type":"bool"}],"name":"capPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"creationTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"LPTime","type":"uint256"}],"name":"earnCalc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"eth","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"}],"name":"ethEarnCalc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"makeUnchangeable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"orbAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"price","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"priceCapped","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"input","type":"address"}],"name":"setTokenAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"y","type":"uint256"}],"name":"sqrt","outputs":[{"internalType":"uint256","name":"z","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"stake","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"timePooled","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unchangeable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"input","type":"uint256"}],"name":"updateRewardValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"viewLPTokenAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"viewPooledEthAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"viewPooledTokenAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"viewRewardTokenAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawRewardTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040819052683635c9adc5dea000006000556315ab88c960e31b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063ad5c46489060849060209060048186803b15801561005157600080fd5b505afa158015610065573d6000803e3d6000fd5b505050506040513d602081101561007b57600080fd5b5051600780546001600160a01b0319166001600160a01b039092169190911762ffffff60a01b19169055426008553480156100b557600080fd5b50611e95806100c56000396000f3fe60806040526004361061014f5760003560e01c80639d2a679f116100b6578063d28de2731161006f578063d28de273146103f6578063d488ebe81461040b578063d8270dce1461043e578063e42255d814610453578063e91ed7c914610486578063ff2eba68146104b957610179565b80639d2a679f14610330578063a035b1fe14610345578063a064b44b1461035a578063b1fd674014610384578063c4fcf826146103b7578063cb43b2dd146103cc57610179565b80633a4b66f1116101085780633a4b66f114610266578063475d87331461026e5780634caacd7514610283578063677342ce146102ac5780637228cd7d146102d65780638439a5411461030657610179565b80630af88b241461017e57806312c7df73146101af578063149c3266146101d657806326a4e8d2146101eb57806329b83c2e1461021e5780632dd310001461025157610179565b366101795733737a250d5630b4cf539739df2c5dacb4c659f2488d14610177576101776104e5565b005b600080fd5b34801561018a57600080fd5b50610193610f18565b604080516001600160a01b039092168252519081900360200190f35b3480156101bb57600080fd5b506101c4610f27565b60408051918252519081900360200190f35b3480156101e257600080fd5b50610193610f2d565b3480156101f757600080fd5b506101776004803603602081101561020e57600080fd5b50356001600160a01b0316610f3c565b34801561022a57600080fd5b506101c46004803603602081101561024157600080fd5b50356001600160a01b0316611036565b34801561025d57600080fd5b50610193611048565b6101776104e5565b34801561027a57600080fd5b50610177611060565b34801561028f57600080fd5b506102986110da565b604080519115158252519081900360200190f35b3480156102b857600080fd5b506101c4600480360360208110156102cf57600080fd5b50356110ea565b3480156102e257600080fd5b506101c4600480360360408110156102f957600080fd5b508035906020013561113c565b34801561031257600080fd5b506101776004803603602081101561032957600080fd5b50356112f4565b34801561033c57600080fd5b506101c46113a2565b34801561035157600080fd5b506101c46113ab565b34801561036657600080fd5b506101c46004803603602081101561037d57600080fd5b5035611563565b34801561039057600080fd5b506101c4600480360360208110156103a757600080fd5b50356001600160a01b0316611591565b3480156103c357600080fd5b50610298611738565b3480156103d857600080fd5b50610177600480360360208110156103ef57600080fd5b5035611748565b34801561040257600080fd5b50610193611884565b34801561041757600080fd5b506101c46004803603602081101561042e57600080fd5b50356001600160a01b031661189c565b34801561044a57600080fd5b506101c46118d1565b34801561045f57600080fd5b506101c46004803603602081101561047657600080fd5b50356001600160a01b03166118d7565b34801561049257600080fd5b506101c4600480360360208110156104a957600080fd5b50356001600160a01b03166119c4565b3480156104c557600080fd5b50610177600480360360208110156104dc57600080fd5b503515156119df565b42600854610e1001111561052a5760405162461bcd60e51b8152600401808060200182810382526032815260200180611dd56032913960400191505060405180910390fd5b6006546007546040805163e6a4390560e01b81526001600160a01b039384166004820152929091166024830152513391600091735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9163e6a43905916044808301926020929190829003018186803b15801561059857600080fd5b505afa1580156105ac573d6000803e3d6000fd5b505050506040513d60208110156105c257600080fd5b50519050670e92596fd62900006105d76113ab565b101580156105ee5750600754600160b01b900460ff165b15610a3857600654604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b15801561064457600080fd5b505afa158015610658573d6000803e3d6000fd5b505050506040513d602081101561066e57600080fd5b5051600754604080516370a0823160e01b81526001600160a01b038681166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b1580156106c357600080fd5b505afa1580156106d7573d6000803e3d6000fd5b505050506040513d60208110156106ed57600080fd5b5051905060006107ca6107cd8402610712858002600902868602623cda2002016110ea565b038161071a57fe5b600654604080516340c10f1960e01b8152306004820152939092046024840181905291519193506001600160a01b0316916340c10f1991604480830192600092919082900301818387803b15801561077157600080fd5b505af1158015610785573d6000803e3d6000fd5b505060408051600280825260608083018452945090925090602083019080368337505060065482519293506001600160a01b0316918391506000906107c657fe5b6001600160a01b0392831660209182029290920101526007548251911690829060019081106107f157fe5b6001600160a01b039283166020918202929092018101919091526006546040805163095ea7b360e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d6004820152602481018790529051919093169263095ea7b39260448083019391928290030181600087803b15801561086857600080fd5b505af115801561087c573d6000803e3d6000fd5b505050506040513d602081101561089257600080fd5b50506040516318cbafe560e01b815260048101838152600160248301819052736ebf41c93fca462b6c459adf94008c7777b6acb6606484018190526407b71a3f546084850181905260a060448601908152865160a48701528651737a250d5630b4cf539739df2c5dacb4c659f2488d966318cbafe5968a96958a95909490939192909160c4909101906020878101910280838360005b83811015610940578181015183820152602001610928565b505050509050019650505050505050600060405180830381600087803b15801561096957600080fd5b505af115801561097d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156109a657600080fd5b81019080805160405193929190846401000000008211156109c657600080fd5b9083019060208201858111156109db57600080fd5b82518660208202830111640100000000821117156109f857600080fd5b82525081516020918201928201910280838360005b83811015610a25578181015183820152602001610a0d565b5050505090500160405250505050505050505b600754604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b158015610a8957600080fd5b505afa158015610a9d573d6000803e3d6000fd5b505050506040513d6020811015610ab357600080fd5b5051600654604080516370a0823160e01b81526001600160a01b038681166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b158015610b0857600080fd5b505afa158015610b1c573d6000803e3d6000fd5b505050506040513d6020811015610b3257600080fd5b505190506000610b4c83610b464785611aa6565b90611b06565b600654604080516340c10f1960e01b81523060048201526024810184905290519293506001600160a01b03909116916340c10f199160448082019260009290919082900301818387803b158015610ba257600080fd5b505af1158015610bb6573d6000803e3d6000fd5b505050506000846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610c0957600080fd5b505afa158015610c1d573d6000803e3d6000fd5b505050506040513d6020811015610c3357600080fd5b5051600654604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610c8657600080fd5b505afa158015610c9a573d6000803e3d6000fd5b505050506040513d6020811015610cb057600080fd5b50516006546040805163095ea7b360e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d60048201526024810184905290519293506001600160a01b039091169163095ea7b3916044808201926020929091908290030181600087803b158015610d1d57600080fd5b505af1158015610d31573d6000803e3d6000fd5b505050506040513d6020811015610d4757600080fd5b50506006546040805163f305d71960e01b81526001600160a01b0390921660048301526024820183905260016044830181905260648301523060848301526407b71a3f5460a483015251737a250d5630b4cf539739df2c5dacb4c659f2488d9163f305d71991479160c48082019260609290919082900301818588803b158015610dd057600080fd5b505af1158015610de4573d6000803e3d6000fd5b50505050506040513d6060811015610dfb57600080fd5b5050604080516370a0823160e01b815230600482015290516000916001600160a01b038916916370a0823191602480820192602092909190829003018186803b158015610e4757600080fd5b505afa158015610e5b573d6000803e3d6000fd5b505050506040513d6020811015610e7157600080fd5b505190506000610e818285611b48565b9050610eae610e8f8a611b8a565b6001600160a01b038b1660009081526004602052604090205490611bbb565b6001600160a01b038a166000908152600460209081526040808320939093556001815282822042908190556002825283832055600390522054610ef19082611bbb565b6001600160a01b039099166000908152600360205260409020989098555050505050505050565b6007546001600160a01b031681565b60005490565b6006546001600160a01b031681565b610f44611c15565b6001600160a01b0316336001600160a01b031614610fa1576040805162461bcd60e51b815260206004820152601560248201527443616c6c6572206973206e6f74207072696d61727960581b604482015290519081900360640190fd5b600754600160a81b900460ff1615611000576040805162461bcd60e51b815260206004820152601b60248201527f46756e6374696f6e2077617320616c72656164792063616c6c65640000000000604482015290519081900360640190fd5b6007805460ff60a81b1916600160a81b179055600680546001600160a01b039092166001600160a01b0319909216919091179055565b60016020526000908152604090205481565b735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81565b611068611c15565b6001600160a01b0316336001600160a01b0316146110c5576040805162461bcd60e51b815260206004820152601560248201527443616c6c6572206973206e6f74207072696d61727960581b604482015290519081900360640190fd5b6007805460ff60a01b1916600160a01b179055565b600754600160a01b900460ff1690565b6000600382111561112d575080600160028204015b818110156111275780915060028182858161111657fe5b04018161111f57fe5b0490506110ff565b50611137565b8115611137575060015b919050565b6006546007546040805163e6a4390560e01b81526001600160a01b039384166004820152929091166024830152516000918291735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9163e6a43905916044808301926020929190829003018186803b1580156111aa57600080fd5b505afa1580156111be573d6000803e3d6000fd5b505050506040513d60208110156111d457600080fd5b5051600754604080516370a0823160e01b81526001600160a01b038085166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561122957600080fd5b505afa15801561123d573d6000803e3d6000fd5b505050506040513d602081101561125357600080fd5b5051604080516318160ddd60e01b815290519192506000916001600160a01b038516916318160ddd916004808301926020929190829003018186803b15801561129b57600080fd5b505afa1580156112af573d6000803e3d6000fd5b505050506040513d60208110156112c557600080fd5b50519050600082826002890402816112d957fe5b0490506112e7868202611563565b9450505050505b92915050565b6112fc611c15565b6001600160a01b0316336001600160a01b031614611359576040805162461bcd60e51b815260206004820152601560248201527443616c6c6572206973206e6f74207072696d61727960581b604482015290519081900360640190fd5b6113616110da565b1561139d5760405162461bcd60e51b815260040180806020018281038252602e815260200180611e32602e913960400191505060405180910390fd5b600055565b6407b71a3f5481565b6006546007546040805163e6a4390560e01b81526001600160a01b039384166004820152929091166024830152516000918291735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9163e6a43905916044808301926020929190829003018186803b15801561141957600080fd5b505afa15801561142d573d6000803e3d6000fd5b505050506040513d602081101561144357600080fd5b5051600754604080516370a0823160e01b81526001600160a01b038085166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561149857600080fd5b505afa1580156114ac573d6000803e3d6000fd5b505050506040513d60208110156114c257600080fd5b5051600654604080516370a0823160e01b81526001600160a01b038681166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561151757600080fd5b505afa15801561152b573d6000803e3d6000fd5b505050506040513d602081101561154157600080fd5b5051905061155b81610b46670de0b6b3a764000085611aa6565b935050505090565b60006a1a1a94ec861d5c338000006115838361157d610f27565b90611aa6565b8161158a57fe5b0492915050565b6006546007546040805163e6a4390560e01b81526001600160a01b039384166004820152929091166024830152516000918291735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9163e6a43905916044808301926020929190829003018186803b1580156115ff57600080fd5b505afa158015611613573d6000803e3d6000fd5b505050506040513d602081101561162957600080fd5b5051600754604080516370a0823160e01b81526001600160a01b038085166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561167e57600080fd5b505afa158015611692573d6000803e3d6000fd5b505050506040513d60208110156116a857600080fd5b5051604080516318160ddd60e01b81529051919250611730916001600160a01b038516916318160ddd916004808301926020929190829003018186803b1580156116f157600080fd5b505afa158015611705573d6000803e3d6000fd5b505050506040513d602081101561171b57600080fd5b5051610b46611729876119c4565b8490611aa6565b949350505050565b600754600160b01b900460ff1681565b33600090815260016020526040902054426203f480909101111561179d5760405162461bcd60e51b815260040180806020018281038252602b815260200180611e07602b913960400191505060405180910390fd5b6117bf6117a933611b8a565b3360009081526004602052604090205490611bbb565b33600090815260046020908152604080832093909355600290529081204290556117e882611c95565b336000908152600460205260409020549091506118059082611b48565b3360008181526004602081905260408083209490945560065484516340c10f1960e01b8152918201939093526024810186905292516001600160a01b03909216926340c10f19926044808301939282900301818387803b15801561186857600080fd5b505af115801561187c573d6000803e3d6000fd5b505050505050565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b60006112ee6118cc6118ad84611b8a565b6001600160a01b03851660009081526004602052604090205490611bbb565b611563565b60085481565b6006546007546040805163e6a4390560e01b81526001600160a01b039384166004820152929091166024830152516000918291735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9163e6a43905916044808301926020929190829003018186803b15801561194557600080fd5b505afa158015611959573d6000803e3d6000fd5b505050506040513d602081101561196f57600080fd5b5051600654604080516370a0823160e01b81526001600160a01b038085166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561167e57600080fd5b6001600160a01b031660009081526003602052604090205490565b6119e7611c15565b6001600160a01b0316336001600160a01b031614611a44576040805162461bcd60e51b815260206004820152601560248201527443616c6c6572206973206e6f74207072696d61727960581b604482015290519081900360640190fd5b611a4c6110da565b15611a885760405162461bcd60e51b815260040180806020018281038252602e815260200180611e32602e913960400191505060405180910390fd5b60078054911515600160b01b0260ff60b01b19909216919091179055565b600082611ab5575060006112ee565b82820282848281611ac257fe5b0414611aff5760405162461bcd60e51b8152600401808060200182810382526021815260200180611db46021913960400191505060405180910390fd5b9392505050565b6000611aff83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cb7565b6000611aff83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d59565b6001600160a01b0381166000908152600260205260408120546112ee90611bb2904290611b48565b61157d846119c4565b600082820183811015611aff576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000736ebf41c93fca462b6c459adf94008c7777b6acb66001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611c6457600080fd5b505afa158015611c78573d6000803e3d6000fd5b505050506040513d6020811015611c8e57600080fd5b5051905090565b60006112ee611ca2610f27565b610b46846a1a1a94ec861d5c33800000611aa6565b60008183611d435760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d08578181015183820152602001611cf0565b50505050905090810190601f168015611d355780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611d4f57fe5b0495945050505050565b60008184841115611dab5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611d08578181015183820152602001611cf0565b50505090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77497420686173206e6f74206265656e203120686f75722073696e636520636f6e7472616374206372656174696f6e20796574497420686173206e6f74206265656e203320646179732073696e636520796f75207374616b6564207965746d616b65556e6368616e676561626c6528292066756e6374696f6e2077617320616c72656164792063616c6c6564a2646970667358221220eccc2477cfb81e232a5f6bc8d6c678fe3e55d1fa6dadc9e62cdea77dae1bc38064736f6c634300060c0033
Deployed Bytecode
0x60806040526004361061014f5760003560e01c80639d2a679f116100b6578063d28de2731161006f578063d28de273146103f6578063d488ebe81461040b578063d8270dce1461043e578063e42255d814610453578063e91ed7c914610486578063ff2eba68146104b957610179565b80639d2a679f14610330578063a035b1fe14610345578063a064b44b1461035a578063b1fd674014610384578063c4fcf826146103b7578063cb43b2dd146103cc57610179565b80633a4b66f1116101085780633a4b66f114610266578063475d87331461026e5780634caacd7514610283578063677342ce146102ac5780637228cd7d146102d65780638439a5411461030657610179565b80630af88b241461017e57806312c7df73146101af578063149c3266146101d657806326a4e8d2146101eb57806329b83c2e1461021e5780632dd310001461025157610179565b366101795733737a250d5630b4cf539739df2c5dacb4c659f2488d14610177576101776104e5565b005b600080fd5b34801561018a57600080fd5b50610193610f18565b604080516001600160a01b039092168252519081900360200190f35b3480156101bb57600080fd5b506101c4610f27565b60408051918252519081900360200190f35b3480156101e257600080fd5b50610193610f2d565b3480156101f757600080fd5b506101776004803603602081101561020e57600080fd5b50356001600160a01b0316610f3c565b34801561022a57600080fd5b506101c46004803603602081101561024157600080fd5b50356001600160a01b0316611036565b34801561025d57600080fd5b50610193611048565b6101776104e5565b34801561027a57600080fd5b50610177611060565b34801561028f57600080fd5b506102986110da565b604080519115158252519081900360200190f35b3480156102b857600080fd5b506101c4600480360360208110156102cf57600080fd5b50356110ea565b3480156102e257600080fd5b506101c4600480360360408110156102f957600080fd5b508035906020013561113c565b34801561031257600080fd5b506101776004803603602081101561032957600080fd5b50356112f4565b34801561033c57600080fd5b506101c46113a2565b34801561035157600080fd5b506101c46113ab565b34801561036657600080fd5b506101c46004803603602081101561037d57600080fd5b5035611563565b34801561039057600080fd5b506101c4600480360360208110156103a757600080fd5b50356001600160a01b0316611591565b3480156103c357600080fd5b50610298611738565b3480156103d857600080fd5b50610177600480360360208110156103ef57600080fd5b5035611748565b34801561040257600080fd5b50610193611884565b34801561041757600080fd5b506101c46004803603602081101561042e57600080fd5b50356001600160a01b031661189c565b34801561044a57600080fd5b506101c46118d1565b34801561045f57600080fd5b506101c46004803603602081101561047657600080fd5b50356001600160a01b03166118d7565b34801561049257600080fd5b506101c4600480360360208110156104a957600080fd5b50356001600160a01b03166119c4565b3480156104c557600080fd5b50610177600480360360208110156104dc57600080fd5b503515156119df565b42600854610e1001111561052a5760405162461bcd60e51b8152600401808060200182810382526032815260200180611dd56032913960400191505060405180910390fd5b6006546007546040805163e6a4390560e01b81526001600160a01b039384166004820152929091166024830152513391600091735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9163e6a43905916044808301926020929190829003018186803b15801561059857600080fd5b505afa1580156105ac573d6000803e3d6000fd5b505050506040513d60208110156105c257600080fd5b50519050670e92596fd62900006105d76113ab565b101580156105ee5750600754600160b01b900460ff165b15610a3857600654604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b15801561064457600080fd5b505afa158015610658573d6000803e3d6000fd5b505050506040513d602081101561066e57600080fd5b5051600754604080516370a0823160e01b81526001600160a01b038681166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b1580156106c357600080fd5b505afa1580156106d7573d6000803e3d6000fd5b505050506040513d60208110156106ed57600080fd5b5051905060006107ca6107cd8402610712858002600902868602623cda2002016110ea565b038161071a57fe5b600654604080516340c10f1960e01b8152306004820152939092046024840181905291519193506001600160a01b0316916340c10f1991604480830192600092919082900301818387803b15801561077157600080fd5b505af1158015610785573d6000803e3d6000fd5b505060408051600280825260608083018452945090925090602083019080368337505060065482519293506001600160a01b0316918391506000906107c657fe5b6001600160a01b0392831660209182029290920101526007548251911690829060019081106107f157fe5b6001600160a01b039283166020918202929092018101919091526006546040805163095ea7b360e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d6004820152602481018790529051919093169263095ea7b39260448083019391928290030181600087803b15801561086857600080fd5b505af115801561087c573d6000803e3d6000fd5b505050506040513d602081101561089257600080fd5b50506040516318cbafe560e01b815260048101838152600160248301819052736ebf41c93fca462b6c459adf94008c7777b6acb6606484018190526407b71a3f546084850181905260a060448601908152865160a48701528651737a250d5630b4cf539739df2c5dacb4c659f2488d966318cbafe5968a96958a95909490939192909160c4909101906020878101910280838360005b83811015610940578181015183820152602001610928565b505050509050019650505050505050600060405180830381600087803b15801561096957600080fd5b505af115801561097d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156109a657600080fd5b81019080805160405193929190846401000000008211156109c657600080fd5b9083019060208201858111156109db57600080fd5b82518660208202830111640100000000821117156109f857600080fd5b82525081516020918201928201910280838360005b83811015610a25578181015183820152602001610a0d565b5050505090500160405250505050505050505b600754604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b158015610a8957600080fd5b505afa158015610a9d573d6000803e3d6000fd5b505050506040513d6020811015610ab357600080fd5b5051600654604080516370a0823160e01b81526001600160a01b038681166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b158015610b0857600080fd5b505afa158015610b1c573d6000803e3d6000fd5b505050506040513d6020811015610b3257600080fd5b505190506000610b4c83610b464785611aa6565b90611b06565b600654604080516340c10f1960e01b81523060048201526024810184905290519293506001600160a01b03909116916340c10f199160448082019260009290919082900301818387803b158015610ba257600080fd5b505af1158015610bb6573d6000803e3d6000fd5b505050506000846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610c0957600080fd5b505afa158015610c1d573d6000803e3d6000fd5b505050506040513d6020811015610c3357600080fd5b5051600654604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610c8657600080fd5b505afa158015610c9a573d6000803e3d6000fd5b505050506040513d6020811015610cb057600080fd5b50516006546040805163095ea7b360e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d60048201526024810184905290519293506001600160a01b039091169163095ea7b3916044808201926020929091908290030181600087803b158015610d1d57600080fd5b505af1158015610d31573d6000803e3d6000fd5b505050506040513d6020811015610d4757600080fd5b50506006546040805163f305d71960e01b81526001600160a01b0390921660048301526024820183905260016044830181905260648301523060848301526407b71a3f5460a483015251737a250d5630b4cf539739df2c5dacb4c659f2488d9163f305d71991479160c48082019260609290919082900301818588803b158015610dd057600080fd5b505af1158015610de4573d6000803e3d6000fd5b50505050506040513d6060811015610dfb57600080fd5b5050604080516370a0823160e01b815230600482015290516000916001600160a01b038916916370a0823191602480820192602092909190829003018186803b158015610e4757600080fd5b505afa158015610e5b573d6000803e3d6000fd5b505050506040513d6020811015610e7157600080fd5b505190506000610e818285611b48565b9050610eae610e8f8a611b8a565b6001600160a01b038b1660009081526004602052604090205490611bbb565b6001600160a01b038a166000908152600460209081526040808320939093556001815282822042908190556002825283832055600390522054610ef19082611bbb565b6001600160a01b039099166000908152600360205260409020989098555050505050505050565b6007546001600160a01b031681565b60005490565b6006546001600160a01b031681565b610f44611c15565b6001600160a01b0316336001600160a01b031614610fa1576040805162461bcd60e51b815260206004820152601560248201527443616c6c6572206973206e6f74207072696d61727960581b604482015290519081900360640190fd5b600754600160a81b900460ff1615611000576040805162461bcd60e51b815260206004820152601b60248201527f46756e6374696f6e2077617320616c72656164792063616c6c65640000000000604482015290519081900360640190fd5b6007805460ff60a81b1916600160a81b179055600680546001600160a01b039092166001600160a01b0319909216919091179055565b60016020526000908152604090205481565b735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81565b611068611c15565b6001600160a01b0316336001600160a01b0316146110c5576040805162461bcd60e51b815260206004820152601560248201527443616c6c6572206973206e6f74207072696d61727960581b604482015290519081900360640190fd5b6007805460ff60a01b1916600160a01b179055565b600754600160a01b900460ff1690565b6000600382111561112d575080600160028204015b818110156111275780915060028182858161111657fe5b04018161111f57fe5b0490506110ff565b50611137565b8115611137575060015b919050565b6006546007546040805163e6a4390560e01b81526001600160a01b039384166004820152929091166024830152516000918291735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9163e6a43905916044808301926020929190829003018186803b1580156111aa57600080fd5b505afa1580156111be573d6000803e3d6000fd5b505050506040513d60208110156111d457600080fd5b5051600754604080516370a0823160e01b81526001600160a01b038085166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561122957600080fd5b505afa15801561123d573d6000803e3d6000fd5b505050506040513d602081101561125357600080fd5b5051604080516318160ddd60e01b815290519192506000916001600160a01b038516916318160ddd916004808301926020929190829003018186803b15801561129b57600080fd5b505afa1580156112af573d6000803e3d6000fd5b505050506040513d60208110156112c557600080fd5b50519050600082826002890402816112d957fe5b0490506112e7868202611563565b9450505050505b92915050565b6112fc611c15565b6001600160a01b0316336001600160a01b031614611359576040805162461bcd60e51b815260206004820152601560248201527443616c6c6572206973206e6f74207072696d61727960581b604482015290519081900360640190fd5b6113616110da565b1561139d5760405162461bcd60e51b815260040180806020018281038252602e815260200180611e32602e913960400191505060405180910390fd5b600055565b6407b71a3f5481565b6006546007546040805163e6a4390560e01b81526001600160a01b039384166004820152929091166024830152516000918291735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9163e6a43905916044808301926020929190829003018186803b15801561141957600080fd5b505afa15801561142d573d6000803e3d6000fd5b505050506040513d602081101561144357600080fd5b5051600754604080516370a0823160e01b81526001600160a01b038085166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561149857600080fd5b505afa1580156114ac573d6000803e3d6000fd5b505050506040513d60208110156114c257600080fd5b5051600654604080516370a0823160e01b81526001600160a01b038681166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561151757600080fd5b505afa15801561152b573d6000803e3d6000fd5b505050506040513d602081101561154157600080fd5b5051905061155b81610b46670de0b6b3a764000085611aa6565b935050505090565b60006a1a1a94ec861d5c338000006115838361157d610f27565b90611aa6565b8161158a57fe5b0492915050565b6006546007546040805163e6a4390560e01b81526001600160a01b039384166004820152929091166024830152516000918291735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9163e6a43905916044808301926020929190829003018186803b1580156115ff57600080fd5b505afa158015611613573d6000803e3d6000fd5b505050506040513d602081101561162957600080fd5b5051600754604080516370a0823160e01b81526001600160a01b038085166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561167e57600080fd5b505afa158015611692573d6000803e3d6000fd5b505050506040513d60208110156116a857600080fd5b5051604080516318160ddd60e01b81529051919250611730916001600160a01b038516916318160ddd916004808301926020929190829003018186803b1580156116f157600080fd5b505afa158015611705573d6000803e3d6000fd5b505050506040513d602081101561171b57600080fd5b5051610b46611729876119c4565b8490611aa6565b949350505050565b600754600160b01b900460ff1681565b33600090815260016020526040902054426203f480909101111561179d5760405162461bcd60e51b815260040180806020018281038252602b815260200180611e07602b913960400191505060405180910390fd5b6117bf6117a933611b8a565b3360009081526004602052604090205490611bbb565b33600090815260046020908152604080832093909355600290529081204290556117e882611c95565b336000908152600460205260409020549091506118059082611b48565b3360008181526004602081905260408083209490945560065484516340c10f1960e01b8152918201939093526024810186905292516001600160a01b03909216926340c10f19926044808301939282900301818387803b15801561186857600080fd5b505af115801561187c573d6000803e3d6000fd5b505050505050565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b60006112ee6118cc6118ad84611b8a565b6001600160a01b03851660009081526004602052604090205490611bbb565b611563565b60085481565b6006546007546040805163e6a4390560e01b81526001600160a01b039384166004820152929091166024830152516000918291735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9163e6a43905916044808301926020929190829003018186803b15801561194557600080fd5b505afa158015611959573d6000803e3d6000fd5b505050506040513d602081101561196f57600080fd5b5051600654604080516370a0823160e01b81526001600160a01b038085166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561167e57600080fd5b6001600160a01b031660009081526003602052604090205490565b6119e7611c15565b6001600160a01b0316336001600160a01b031614611a44576040805162461bcd60e51b815260206004820152601560248201527443616c6c6572206973206e6f74207072696d61727960581b604482015290519081900360640190fd5b611a4c6110da565b15611a885760405162461bcd60e51b815260040180806020018281038252602e815260200180611e32602e913960400191505060405180910390fd5b60078054911515600160b01b0260ff60b01b19909216919091179055565b600082611ab5575060006112ee565b82820282848281611ac257fe5b0414611aff5760405162461bcd60e51b8152600401808060200182810382526021815260200180611db46021913960400191505060405180910390fd5b9392505050565b6000611aff83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cb7565b6000611aff83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d59565b6001600160a01b0381166000908152600260205260408120546112ee90611bb2904290611b48565b61157d846119c4565b600082820183811015611aff576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000736ebf41c93fca462b6c459adf94008c7777b6acb66001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611c6457600080fd5b505afa158015611c78573d6000803e3d6000fd5b505050506040513d6020811015611c8e57600080fd5b5051905090565b60006112ee611ca2610f27565b610b46846a1a1a94ec861d5c33800000611aa6565b60008183611d435760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d08578181015183820152602001611cf0565b50505050905090810190601f168015611d355780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611d4f57fe5b0495945050505050565b60008184841115611dab5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611d08578181015183820152602001611cf0565b50505090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77497420686173206e6f74206265656e203120686f75722073696e636520636f6e7472616374206372656174696f6e20796574497420686173206e6f74206265656e203320646179732073696e636520796f75207374616b6564207965746d616b65556e6368616e676561626c6528292066756e6374696f6e2077617320616c72656164792063616c6c6564a2646970667358221220eccc2477cfb81e232a5f6bc8d6c678fe3e55d1fa6dadc9e62cdea77dae1bc38064736f6c634300060c0033
Deployed Bytecode Sourcemap
3784:7916:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4812:10;4364:42;4812:23;4809:59;;4850:7;:5;:7::i;:::-;3784:7916;;;;;4506:69;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;4506:69:0;;;;;;;;;;;;;;5273:87;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;4282:25;;;;;;;;;;;;;:::i;5610:201::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5610:201:0;-1:-1:-1;;;;;5610:201:0;;:::i;4003:47::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4003:47:0;-1:-1:-1;;;;;4003:47:0;;:::i;4413:86::-;;;;;;;;;;;;;:::i;6717:2114::-;;;:::i;5461:85::-;;;;;;;;;;;;;:::i;5172:89::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;6406:301;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6406:301:0;;:::i;10988:416::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10988:416:0;;;;;;;:::i;5915:182::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5915:182:0;;:::i;3909:38::-;;;;;;;;;;;;;:::i;10577:399::-;;;;;;;;;;;;;:::i;11412:137::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11412:137:0;;:::i;9826:359::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9826:359:0;-1:-1:-1;;;;;9826:359:0;;:::i;4675:31::-;;;;;;;;;;;;;:::i;8843:504::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8843:504:0;;:::i;4320:86::-;;;;;;;;;;;;;:::i;9533:158::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9533:158:0;-1:-1:-1;;;;;9533:158:0;;:::i;4719:30::-;;;;;;;;;;;;;:::i;10197:368::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10197:368:0;-1:-1:-1;;;;;10197:368:0;;:::i;9703:111::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9703:111:0;-1:-1:-1;;;;;9703:111:0;;:::i;6185:172::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6185:172:0;;;;:::i;6717:2114::-;6793:3;6767:12;;6782:7;6767:22;:29;;6759:92;;;;-1:-1:-1;;;6759:92:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6959:10;;6971:11;;6934:49;;;-1:-1:-1;;;6934:49:0;;-1:-1:-1;;;;;6959:10:0;;;6934:49;;;;6971:11;;;;6934:49;;;;;6881:10;;-1:-1:-1;;4457:42:0;;6934:24;;:49;;;;;;;;;;;;;;4457:42;6934:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6934:49:0;;-1:-1:-1;7019:13:0;7007:7;:5;:7::i;:::-;:26;;:41;;;;-1:-1:-1;7037:11:0;;-1:-1:-1;;;7037:11:0;;;;7007:41;7004:653;;;7093:10;;7086:41;;;-1:-1:-1;;;7086:41:0;;-1:-1:-1;;;;;7086:41:0;;;;;;;;;7077:6;;7093:10;;;;;7086:28;;:41;;;;;;;;;;;;;;;7093:10;7086:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7086:41:0;7177:11;;7170:42;;;-1:-1:-1;;;7170:42:0;;-1:-1:-1;;;;;7170:42:0;;;;;;;;;7086:41;;-1:-1:-1;7161:6:0;;7177:11;;;;;7170:29;;:42;;;;;7086:41;;7170:42;;;;;;;7177:11;7170:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7170:42:0;;-1:-1:-1;7244:6:0;7290:4;7282;:6;;7254:25;7259:5;;;:1;:5;7267:11;;;:7;:11;7259:19;7254:4;:25::i;:::-;:34;7253:41;;;;;7330:10;;7323:41;;;-1:-1:-1;;;7323:41:0;;7355:4;7323:41;;;;7253;;;;7323;;;;;;;;7253;;-1:-1:-1;;;;;;7330:10:0;;7323:23;;:41;;;;;7330:10;;7323:41;;;;;;;7330:10;;7323:41;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7417:16:0;;;7431:1;7417:16;;;7393:21;7417:16;;;;;7393:21;-1:-1:-1;7417:16:0;;-1:-1:-1;7431:1:0;7417:16;;;;;;;;-1:-1:-1;;7458:10:0;;7448:7;;;;-1:-1:-1;;;;;;7458:10:0;;7448:7;;-1:-1:-1;7458:10:0;;7448:7;;;;-1:-1:-1;;;;;7448:20:0;;;:7;;;;;;;;;:20;7493:11;;7483:7;;7493:11;;;7483:4;;7493:11;;7483:7;;;;;;-1:-1:-1;;;;;7483:21:0;;;:7;;;;;;;;;;:21;;;;7526:10;;7519:40;;;-1:-1:-1;;;7519:40:0;;4364:42;7519:40;;;;;;;;;;;;7526:10;;;;;7519:26;;:40;;;;;7483:7;;7519:40;;;;;7526:10;;7519:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7574:71:0;;-1:-1:-1;;;7574:71:0;;;;;;;;7618:1;7574:71;;;;;;3500:42;7574:71;;;;;;3936:11;7574:71;;;;;;;;;;;;;;;;;;;;;4364:42;;7574:40;;7615:1;;7618;7621:4;;3500:42;;3936:11;;7574:71;;;;;;;;;7519:40;7574:71;;;;;;;;-1:-1:-1;7574:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7574:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7574:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7004:653;;;;;7701:11;;7694:42;;;-1:-1:-1;;;7694:42:0;;-1:-1:-1;;;;;7694:42:0;;;;;;;;;7677:14;;7701:11;;;;;7694:29;;:42;;;;;;;;;;;;;;;7701:11;7694:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7694:42:0;7790:10;;7783:41;;;-1:-1:-1;;;7783:41:0;;-1:-1:-1;;;;;7783:41:0;;;;;;;;;7694:42;;-1:-1:-1;7764:16:0;;7790:10;;;;;7783:28;;:41;;;;;7694:42;;7783:41;;;;;;;7790:10;7783:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7783:41:0;;-1:-1:-1;7862:11:0;7876:55;7921:9;7877:38;:21;7783:41;7877:25;:38::i;:::-;7876:44;;:55::i;:::-;7949:10;;7942:46;;;-1:-1:-1;;;7942:46:0;;7974:4;7942:46;;;;;;;;;;;;7862:69;;-1:-1:-1;;;;;;7949:10:0;;;;7942:23;;:46;;;;;7949:10;;7942:46;;;;;;;;7949:10;;7942:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8009:26;8045:11;-1:-1:-1;;;;;8038:29:0;;8076:4;8038:44;;;;;;;;;;;;;-1:-1:-1;;;;;8038:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8038:44:0;8136:10;;8129:43;;;-1:-1:-1;;;8129:43:0;;8166:4;8129:43;;;;;;8038:44;;-1:-1:-1;8103:23:0;;-1:-1:-1;;;;;8136:10:0;;;;8129:28;;:43;;;;;8038:44;;8129:43;;;;;;;;8136:10;8129:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8129:43:0;8190:10;;8183:58;;;-1:-1:-1;;;8183:58:0;;4364:42;8183:58;;;;;;;;;;;;8129:43;;-1:-1:-1;;;;;;8190:10:0;;;;8183:26;;:58;;;;;8129:43;;8183:58;;;;;;;;8190:10;;8183:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8346:10:0;;8279:124;;;-1:-1:-1;;;8279:124:0;;-1:-1:-1;;;;;8346:10:0;;;8279:124;;;;;;;;;;8346:10;8279:124;;;;;;;;;;8392:4;8279:124;;;;3936:11;8279:124;;;;;4364:42;;8279:34;;8322:21;;8279:124;;;;;;;;;;;;;;;8322:21;4364:42;8279:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8279:124:0;8452:44;;-1:-1:-1;;;8452:44:0;;8490:4;8452:44;;;;;;8424:25;;-1:-1:-1;;;;;8452:29:0;;;;;:44;;;;;8279:124;;8452:44;;;;;;;;:29;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8452:44:0;;-1:-1:-1;8507:17:0;8527:47;8452:44;8552:21;8527:24;:47::i;:::-;8507:67;;8613:56;8633:35;8661:6;8633:27;:35::i;:::-;-1:-1:-1;;;;;8613:15:0;;;;;;:7;:15;;;;;;;:19;:56::i;:::-;-1:-1:-1;;;;;8595:15:0;;;;;;:7;:15;;;;;;;;:74;;;;8680:10;:18;;;;;8701:3;8680:24;;;;8715:12;:20;;;;;:26;8783:14;:22;;;;:40;;8810:12;8783:26;:40::i;:::-;-1:-1:-1;;;;;8758:22:0;;;;;;;:14;:22;;;;;:65;;;;-1:-1:-1;;;;;;;;6717:2114:0:o;4506:69::-;;;-1:-1:-1;;;;;4506:69:0;;:::o;5273:87::-;5317:4;5340:12;5273:87;:::o;4282:25::-;;;-1:-1:-1;;;;;4282:25:0;;:::o;5610:201::-;3722:9;:7;:9::i;:::-;-1:-1:-1;;;;;3708:23:0;:10;-1:-1:-1;;;;;3708:23:0;;3700:57;;;;;-1:-1:-1;;;3700:57:0;;;;;;;;;;;;-1:-1:-1;;;3700:57:0;;;;;;;;;;;;;;;5688:18:::1;::::0;-1:-1:-1;;;5688:18:0;::::1;;;5687:19;5679:59;;;::::0;;-1:-1:-1;;;5679:59:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;5749:18;:25:::0;;-1:-1:-1;;;;5749:25:0::1;-1:-1:-1::0;;;5749:25:0::1;::::0;;5785:10:::1;:18:::0;;-1:-1:-1;;;;;5785:18:0;;::::1;-1:-1:-1::0;;;;;;5785:18:0;;::::1;::::0;;;::::1;::::0;;5610:201::o;4003:47::-;;;;;;;;;;;;;:::o;4413:86::-;4457:42;4413:86;:::o;5461:85::-;3722:9;:7;:9::i;:::-;-1:-1:-1;;;;;3708:23:0;:10;-1:-1:-1;;;;;3708:23:0;;3700:57;;;;;-1:-1:-1;;;3700:57:0;;;;;;;;;;;;-1:-1:-1;;;3700:57:0;;;;;;;;;;;;;;;5518:13:::1;:20:::0;;-1:-1:-1;;;;5518:20:0::1;-1:-1:-1::0;;;5518:20:0::1;::::0;;5461:85::o;5172:89::-;5240:13;;-1:-1:-1;;;5240:13:0;;;;;5172:89::o;6406:301::-;6449:6;6476:1;6472;:5;6468:232;;;-1:-1:-1;6498:1:0;6531;6527;6523:5;;:9;6547:92;6558:1;6554;:5;6547:92;;;6584:1;6580:5;;6622:1;6617;6613;6609;:5;;;;;;:9;6608:15;;;;;;6604:19;;6547:92;;;6468:232;;;;6660:6;;6656:44;;-1:-1:-1;6687:1:0;6656:44;6406:301;;;:::o;10988:416::-;11123:10;;11135:11;;11098:49;;;-1:-1:-1;;;11098:49:0;;-1:-1:-1;;;;;11123:10:0;;;11098:49;;;;11135:11;;;;11098:49;;;;;-1:-1:-1;;;;4457:42:0;;11098:24;;:49;;;;;;;;;;;;;;4457:42;11098:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11098:49:0;11181:11;;11174:42;;;-1:-1:-1;;;11174:42:0;;-1:-1:-1;;;;;11174:42:0;;;;;;;;;11098:49;;-1:-1:-1;11158:13:0;;11181:11;;;;;11174:29;;:42;;;;;11098:49;;11174:42;;;;;;;11181:11;11174:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11174:42:0;11259:33;;;-1:-1:-1;;;11259:33:0;;;;11174:42;;-1:-1:-1;11244:12:0;;-1:-1:-1;;;;;11259:31:0;;;;;:33;;;;;11174:42;;11259:33;;;;;;;:31;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11259:33:0;;-1:-1:-1;11313:7:0;11341:8;11259:33;11329:1;11325:3;:5;11324:15;11323:26;;;;;;11313:36;;11377:19;11391:4;11386:2;:9;11377:8;:19::i;:::-;11370:26;;;;;;10988:416;;;;;:::o;5915:182::-;3722:9;:7;:9::i;:::-;-1:-1:-1;;;;;3708:23:0;:10;-1:-1:-1;;;;;3708:23:0;;3700:57;;;;;-1:-1:-1;;;3700:57:0;;;;;;;;;;;;-1:-1:-1;;;3700:57:0;;;;;;;;;;;;;;;5993:14:::1;:12;:14::i;:::-;5992:15;5984:74;;;;-1:-1:-1::0;;;5984:74:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6069:12;:20:::0;5915:182::o;3909:38::-;3936:11;3909:38;:::o;10577:399::-;10688:10;;10700:11;;10663:49;;;-1:-1:-1;;;10663:49:0;;-1:-1:-1;;;;;10688:10:0;;;10663:49;;;;10700:11;;;;10663:49;;;;;-1:-1:-1;;;;4457:42:0;;10663:24;;:49;;;;;;;;;;;;;;4457:42;10663:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10663:49:0;10757:11;;10750:42;;;-1:-1:-1;;;10750:42:0;;-1:-1:-1;;;;;10750:42:0;;;;;;;;;10663:49;;-1:-1:-1;10733:14:0;;10757:11;;;;;10750:29;;:42;;;;;10663:49;;10750:42;;;;;;;10757:11;10750:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10750:42:0;10846:10;;10839:41;;;-1:-1:-1;;;10839:41:0;;-1:-1:-1;;;;;10839:41:0;;;;;;;;;10750:42;;-1:-1:-1;10820:16:0;;10846:10;;;;;10839:28;;:41;;;;;10750:42;;10839:41;;;;;;;10846:10;10839:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10839:41:0;;-1:-1:-1;10927:41:0;10839;10928:22;3896:6;10940:9;10928:11;:22::i;10927:41::-;10920:48;;;;;10577:399;:::o;11412:137::-;11463:4;11521:18;11488:25;11506:6;11488:13;:11;:13::i;:::-;:17;;:25::i;:::-;11486:55;;;;;;;11412:137;-1:-1:-1;;11412:137:0:o;9826:359::-;9960:10;;9972:11;;9935:49;;;-1:-1:-1;;;9935:49:0;;-1:-1:-1;;;;;9960:10:0;;;9935:49;;;;9972:11;;;;9935:49;;;;;-1:-1:-1;;;;4457:42:0;;9935:24;;:49;;;;;;;;;;;;;;4457:42;9935:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9935:49:0;10019:11;;10012:42;;;-1:-1:-1;;;10012:42:0;;-1:-1:-1;;;;;10012:42:0;;;;;;;;;9935:49;;-1:-1:-1;9995:14:0;;10019:11;;;;;10012:29;;:42;;;;;9935:49;;10012:42;;;;;;;10019:11;10012:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10012:42:0;10143:33;;;-1:-1:-1;;;10143:33:0;;;;10012:42;;-1:-1:-1;10099:78:0;;-1:-1:-1;;;;;10143:31:0;;;;;:33;;;;;10012:42;;10143:33;;;;;;;:31;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10143:33:0;10100:37;10114:22;10132:3;10114:17;:22::i;:::-;10100:9;;:13;:37::i;10099:78::-;10092:85;9826:359;-1:-1:-1;;;;9826:359:0:o;4675:31::-;;;-1:-1:-1;;;4675:31:0;;;;;:::o;8843:504::-;8923:10;8912:22;;;;:10;:22;;;;;;8947:3;8937:6;8912:31;;;:38;;8904:94;;;;-1:-1:-1;;;8904:94:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9041:64;9065:39;9093:10;9065:27;:39::i;:::-;9049:10;9041:19;;;;:7;:19;;;;;;;:23;:64::i;:::-;9027:10;9019:19;;;;:7;:19;;;;;;;;:86;;;;9116:12;:24;;;;;9143:3;9116:30;;9187:19;9199:6;9187:11;:19::i;:::-;9247:10;9239:19;;;;:7;:19;;;;;;9167:39;;-1:-1:-1;9239:37:0;;9167:39;9239:23;:37::i;:::-;9225:10;9217:19;;;;:7;:19;;;;;;;;:59;;;;9303:10;;9296:43;;-1:-1:-1;;;9296:43:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9303:10:0;;;;9296:23;;:43;;;;;9217:19;9296:43;;;;;9217:19;9303:10;9296:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8843:504;;:::o;4320:86::-;4364:42;4320:86;:::o;9533:158::-;9598:4;9621:62;9631:50;9648:32;9676:3;9648:27;:32::i;:::-;-1:-1:-1;;;;;9631:12:0;;;;;;:7;:12;;;;;;;:16;:50::i;:::-;9621:8;:62::i;4719:30::-;;;;:::o;10197:368::-;10335:10;;10347:11;;10310:49;;;-1:-1:-1;;;10310:49:0;;-1:-1:-1;;;;;10335:10:0;;;10310:49;;;;10347:11;;;;10310:49;;;;;-1:-1:-1;;;;4457:42:0;;10310:24;;:49;;;;;;;;;;;;;;4457:42;10310:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10310:49:0;10396:10;;10389:41;;;-1:-1:-1;;;10389:41:0;;-1:-1:-1;;;;;10389:41:0;;;;;;;;;10310:49;;-1:-1:-1;10370:16:0;;10396:10;;;;;10389:28;;:41;;;;;10310:49;;10389:41;;;;;;;10396:10;10389:41;;;;;;;;;;9703:111;-1:-1:-1;;;;;9787:19:0;9764:4;9787:19;;;:14;:19;;;;;;;9703:111::o;6185:172::-;3722:9;:7;:9::i;:::-;-1:-1:-1;;;;;3708:23:0;:10;-1:-1:-1;;;;;3708:23:0;;3700:57;;;;;-1:-1:-1;;;3700:57:0;;;;;;;;;;;;-1:-1:-1;;;3700:57:0;;;;;;;;;;;;;;;6254:14:::1;:12;:14::i;:::-;6253:15;6245:74;;;;-1:-1:-1::0;;;6245:74:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6330:11;:19:::0;;;::::1;;-1:-1:-1::0;;;6330:19:0::1;-1:-1:-1::0;;;;6330:19:0;;::::1;::::0;;;::::1;::::0;;6185:172::o;1051:216::-;1109:7;1133:6;1129:23;;-1:-1:-1;1149:1:0;1142:8;;1129:23;1174:5;;;1178:1;1174;:5;:1;1198:5;;;;;:10;1190:56;;;;-1:-1:-1;;;1190:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1264:1;1051:216;-1:-1:-1;;;1051:216:0:o;1275:126::-;1333:7;1360:39;1364:1;1367;1360:39;;;;;;;;;;;;;;;;;:3;:39::i;721:130::-;779:7;806:43;810:1;813;806:43;;;;;;;;;;;;;;;;;:3;:43::i;9359:162::-;-1:-1:-1;;;;;9492:17:0;;9432:4;9492:17;;;:12;:17;;;;;;9456:56;;9484:26;;:3;;:7;:26::i;:::-;9456:22;9474:3;9456:17;:22::i;540:173::-;598:7;630:5;;;654:6;;;;646:46;;;;;-1:-1:-1;;;646:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;3552:102;3593:7;3500:42;-1:-1:-1;;;;;3620:24:0;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3620:26:0;;-1:-1:-1;3552:102:0;:::o;11561:136::-;11614:4;11637:52;11674:13;:11;:13::i;:::-;11639:27;:3;11647:18;11639:7;:27::i;1409:183::-;1495:7;1530:12;1523:5;1515:28;;;;-1:-1:-1;;;1515:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1554:9;1570:1;1566;:5;;;;;;;1409:183;-1:-1:-1;;;;;1409:183:0:o;859:184::-;945:7;981:12;973:6;;;;965:29;;;;-1:-1:-1;;;965:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1017:5:0;;;859:184::o
Swarm Source
ipfs://eccc2477cfb81e232a5f6bc8d6c678fe3e55d1fa6dadc9e62cdea77dae1bc380
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
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.