Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 653 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 21863955 | 377 days ago | IN | 0 ETH | 0.00003117 | ||||
| Approve | 21267260 | 461 days ago | IN | 0 ETH | 0.00033796 | ||||
| Approve | 20231363 | 605 days ago | IN | 0 ETH | 0.00007311 | ||||
| Approve | 20231362 | 605 days ago | IN | 0 ETH | 0.00007311 | ||||
| Approve | 19886310 | 653 days ago | IN | 0 ETH | 0.00008156 | ||||
| Approve | 19769651 | 670 days ago | IN | 0 ETH | 0.00033099 | ||||
| Approve | 19079726 | 766 days ago | IN | 0 ETH | 0.00024915 | ||||
| Approve | 19017206 | 775 days ago | IN | 0 ETH | 0.00085747 | ||||
| Approve | 17875674 | 935 days ago | IN | 0 ETH | 0.00041429 | ||||
| Approve | 17817227 | 943 days ago | IN | 0 ETH | 0.00054856 | ||||
| Approve | 17144828 | 1038 days ago | IN | 0 ETH | 0.00127489 | ||||
| Approve | 17118624 | 1042 days ago | IN | 0 ETH | 0.00187649 | ||||
| Approve | 16555078 | 1121 days ago | IN | 0 ETH | 0.00051177 | ||||
| Approve | 15915588 | 1210 days ago | IN | 0 ETH | 0.00028296 | ||||
| Approve | 15278064 | 1305 days ago | IN | 0 ETH | 0.00026378 | ||||
| Approve | 14240253 | 1470 days ago | IN | 0 ETH | 0.001341 | ||||
| Approve | 12079107 | 1806 days ago | IN | 0 ETH | 0.00686123 | ||||
| Redeem Stock Tok... | 12040367 | 1812 days ago | IN | 0 ETH | 0.01164684 | ||||
| Approve | 11927688 | 1830 days ago | IN | 0 ETH | 0.01038108 | ||||
| Approve | 11822198 | 1846 days ago | IN | 0 ETH | 0.00570291 | ||||
| Approve | 11802027 | 1849 days ago | IN | 0 ETH | 0.00543558 | ||||
| Approve | 11679936 | 1868 days ago | IN | 0 ETH | 0.00507915 | ||||
| Approve | 11548977 | 1888 days ago | IN | 0 ETH | 0.00062721 | ||||
| Approve | 11548764 | 1888 days ago | IN | 0 ETH | 0.00071466 | ||||
| Redeem Stock Tok... | 11516068 | 1893 days ago | IN | 0 ETH | 0.00252756 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
StockLiquiditator
Compiler Version
v0.5.12+commit.7709ece9
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2020-10-05
*/
pragma solidity 0.5.12;
interface IERC20 {
/**
* @dev Returns the amount of tokens in existence.
*/
function totalSupply() external view returns (uint256);
/**
* @dev Returns the amount of tokens owned by `account`.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev Moves `amount` tokens from the caller's account to `recipient`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(address recipient, uint256 amount) external returns (bool);
/**
* @dev Returns the remaining number of tokens that `spender` will be
* allowed to spend on behalf of `owner` through {transferFrom}. This is
* zero by default.
*
* This value changes when {approve} or {transferFrom} are called.
*/
function allowance(address owner, address spender) external view returns (uint256);
/**
* @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* IMPORTANT: Beware that changing an allowance with this method brings the risk
* that someone may use both the old and the new allowance by unfortunate
* transaction ordering. One possible solution to mitigate this race
* condition is to first reduce the spender's allowance to 0 and set the
* desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
*
* Emits an {Approval} event.
*/
function approve(address spender, uint256 amount) external returns (bool);
/**
* @dev Moves `amount` tokens from `sender` to `recipient` using the
* allowance mechanism. `amount` is then deducted from the caller's
* allowance.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
/**
* @dev Emitted when `value` tokens are moved from one account (`from`) to
* another (`to`).
*
* Note that `value` may be zero.
*/
event Transfer(address indexed from, address indexed to, uint256 value);
/**
* @dev Emitted when the allowance of a `spender` for an `owner` is set by
* a call to {approve}. `value` is the new allowance.
*/
event Approval(address indexed owner, address indexed spender, uint256 value);
}
contract Context {
// Empty internal constructor, to prevent people from mistakenly deploying
// an instance of this contract, which should be used via inheritance.
constructor () internal { }
function _msgSender() internal view returns (address payable) {
return msg.sender;
}
function _msgData() internal view returns (bytes memory) {
this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
return msg.data;
}
}
library SafeMath {
/**
* @dev Returns the addition of two unsigned integers, reverting on
* overflow.
*
* Counterpart to Solidity's `+` operator.
*
* Requirements:
* - Addition cannot overflow.
*/
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
/**
* @dev Returns the subtraction of two unsigned integers, reverting on
* overflow (when the result is negative).
*
* Counterpart to Solidity's `-` operator.
*
* Requirements:
* - Subtraction cannot overflow.
*/
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
/**
* @dev Returns the subtraction of two unsigned integers, reverting with custom message on
* overflow (when the result is negative).
*
* Counterpart to Solidity's `-` operator.
*
* Requirements:
* - Subtraction cannot overflow.
*/
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
/**
* @dev Returns the multiplication of two unsigned integers, reverting on
* overflow.
*
* Counterpart to Solidity's `*` operator.
*
* Requirements:
* - Multiplication cannot overflow.
*/
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
// Gas optimization: this is cheaper than requiring 'a' not being zero, but the
// benefit is lost if 'b' is also tested.
// See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
/**
* @dev Returns the integer division of two unsigned integers. Reverts on
* division by zero. The result is rounded towards zero.
*
* Counterpart to Solidity's `/` operator. Note: this function uses a
* `revert` opcode (which leaves remaining gas untouched) while Solidity
* uses an invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
* - The divisor cannot be zero.
*/
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
/**
* @dev Returns the integer division of two unsigned integers. Reverts with custom message on
* division by zero. The result is rounded towards zero.
*
* Counterpart to Solidity's `/` operator. Note: this function uses a
* `revert` opcode (which leaves remaining gas untouched) while Solidity
* uses an invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
* - The divisor cannot be zero.
*/
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
// Solidity only automatically asserts when dividing by 0
require(b > 0, errorMessage);
uint256 c = a / b;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return c;
}
/**
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
* Reverts when dividing by zero.
*
* Counterpart to Solidity's `%` operator. This function uses a `revert`
* opcode (which leaves remaining gas untouched) while Solidity uses an
* invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
* - The divisor cannot be zero.
*/
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
return mod(a, b, "SafeMath: modulo by zero");
}
/**
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
* Reverts with custom message when dividing by zero.
*
* Counterpart to Solidity's `%` operator. This function uses a `revert`
* opcode (which leaves remaining gas untouched) while Solidity uses an
* invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
* - The divisor cannot be zero.
*/
function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b != 0, errorMessage);
return a % b;
}
}
contract ERC20 is Context, IERC20 {
using SafeMath for uint256;
mapping (address => uint256) private _balances;
mapping (address => mapping (address => uint256)) private _allowances;
uint256 private _totalSupply;
/**
* @dev See {IERC20-totalSupply}.
*/
function totalSupply() public view returns (uint256) {
return _totalSupply;
}
/**
* @dev See {IERC20-balanceOf}.
*/
function balanceOf(address account) public view returns (uint256) {
return _balances[account];
}
/**
* @dev See {IERC20-transfer}.
*
* Requirements:
*
* - `recipient` cannot be the zero address.
* - the caller must have a balance of at least `amount`.
*/
function transfer(address recipient, uint256 amount) public returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
/**
* @dev See {IERC20-allowance}.
*/
function allowance(address owner, address spender) public view returns (uint256) {
return _allowances[owner][spender];
}
/**
* @dev See {IERC20-approve}.
*
* Requirements:
*
* - `spender` cannot be the zero address.
*/
function approve(address spender, uint256 amount) public returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
/**
* @dev See {IERC20-transferFrom}.
*
* Emits an {Approval} event indicating the updated allowance. This is not
* required by the EIP. See the note at the beginning of {ERC20};
*
* Requirements:
* - `sender` and `recipient` cannot be the zero address.
* - `sender` must have a balance of at least `amount`.
* - the caller must have allowance for `sender`'s tokens of at least
* `amount`.
*/
function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
_transfer(sender, recipient, amount);
_approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
return true;
}
/**
* @dev Atomically increases the allowance granted to `spender` by the caller.
*
* This is an alternative to {approve} that can be used as a mitigation for
* problems described in {IERC20-approve}.
*
* Emits an {Approval} event indicating the updated allowance.
*
* Requirements:
*
* - `spender` cannot be the zero address.
*/
function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
_approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
return true;
}
/**
* @dev Atomically decreases the allowance granted to `spender` by the caller.
*
* This is an alternative to {approve} that can be used as a mitigation for
* problems described in {IERC20-approve}.
*
* Emits an {Approval} event indicating the updated allowance.
*
* Requirements:
*
* - `spender` cannot be the zero address.
* - `spender` must have allowance for the caller of at least
* `subtractedValue`.
*/
function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
_approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
return true;
}
/**
* @dev Moves tokens `amount` from `sender` to `recipient`.
*
* This is internal function is equivalent to {transfer}, and can be used to
* e.g. implement automatic token fees, slashing mechanisms, etc.
*
* Emits a {Transfer} event.
*
* Requirements:
*
* - `sender` cannot be the zero address.
* - `recipient` cannot be the zero address.
* - `sender` must have a balance of at least `amount`.
*/
function _transfer(address sender, address recipient, uint256 amount) internal {
require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");
_balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
_balances[recipient] = _balances[recipient].add(amount);
emit Transfer(sender, recipient, amount);
}
/** @dev Creates `amount` tokens and assigns them to `account`, increasing
* the total supply.
*
* Emits a {Transfer} event with `from` set to the zero address.
*
* Requirements
*
* - `to` cannot be the zero address.
*/
function _mint(address account, uint256 amount) internal {
require(account != address(0), "ERC20: mint to the zero address");
_totalSupply = _totalSupply.add(amount);
_balances[account] = _balances[account].add(amount);
emit Transfer(address(0), account, amount);
}
/**
* @dev Destroys `amount` tokens from `account`, reducing the
* total supply.
*
* Emits a {Transfer} event with `to` set to the zero address.
*
* Requirements
*
* - `account` cannot be the zero address.
* - `account` must have at least `amount` tokens.
*/
function _burn(address account, uint256 amount) internal {
require(account != address(0), "ERC20: burn from the zero address");
_balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");
_totalSupply = _totalSupply.sub(amount);
emit Transfer(account, address(0), amount);
}
/**
* @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.
*
* This is internal function is equivalent to `approve`, and can be used to
* e.g. set automatic allowances for certain subsystems, etc.
*
* Emits an {Approval} event.
*
* Requirements:
*
* - `owner` cannot be the zero address.
* - `spender` cannot be the zero address.
*/
function _approve(address owner, address spender, uint256 amount) internal {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
}
contract ERC20Detailed is IERC20 {
string private _name;
string private _symbol;
uint8 private _decimals;
constructor(string memory name, string memory symbol, uint8 decimals) public {
_name = name;
_symbol = symbol;
_decimals = decimals;
}
/**
* @return the name of the token.
*/
function name() public view returns(string memory) {
return _name;
}
/**
* @return the symbol of the token.
*/
function symbol() public view returns(string memory) {
return _symbol;
}
/**
* @return the number of decimals of the token.
*/
function decimals() public view returns(uint8) {
return _decimals;
}
}
contract StockLiquiditator is ERC20,ERC20Detailed
{
using SafeMath for uint256;
uint256 public cashDecimals;
uint256 public stockTokenMultiplier;
ERC20Detailed internal cash;
ERC20Detailed internal stockToken;
uint256 public stockToCashRate;
uint256 public poolToCashRate;
uint256 public cashValauationCap;
string public url;
event UrlUpdated(string _url);
event ValuationCapUpdated(uint256 cashCap);
event OwnerChanged(address indexed newOwner);
event PoolRateUpdated(uint256 poolrate);
event PoolTokensMinted(address indexed user,uint256 inputCashAmount,uint256 mintedPoolAmount);
event PoolTokensBurnt(address indexed user,uint256 burntPoolAmount,uint256 outputStockAmount,uint256 outputCashAmount);
event StockTokensRedeemed(address indexed user,uint256 redeemedStockToken,uint256 outputCashAmount);
function () external payable { //fallback function
}
address payable public owner;
modifier onlyOwner() {
require (msg.sender == owner,"Account not Owner");
_;
}
constructor (address cashAddress,address stockTokenAddress,uint256 _stockToCashRate,uint256 cashCap,string memory name,string memory symbol,string memory _url)
public ERC20Detailed( name, symbol, 18)
{
owner = msg.sender;
require(stockTokenAddress != address(0), "stockToken is the zero address");
require(cashAddress != address(0), "cash is the zero address");
cash = ERC20Detailed(cashAddress);
stockToken = ERC20Detailed(stockTokenAddress);
cashDecimals = cash.decimals();
stockTokenMultiplier = (10**uint256(stockToken.decimals()));
stockToCashRate = (10**(cashDecimals)).mul(_stockToCashRate);
updatePoolRate();
updateCashValuationCap(cashCap);
updateURL(_url);
}
function updateURL(string memory _url) public onlyOwner returns(string memory){
url=_url;
emit UrlUpdated(_url);
return url;
}
function updateCashValuationCap(uint256 cashCap) public onlyOwner returns(uint256){
cashValauationCap=cashCap;
emit ValuationCapUpdated(cashCap);
return cashValauationCap;
}
function changeOwner(address payable newOwner) external onlyOwner {
owner=newOwner;
emit OwnerChanged(newOwner);
}
function stockTokenAddress() public view returns (address) {
return address(stockToken);
}
function _preValidateData(address beneficiary, uint256 amount) internal pure {
require(beneficiary != address(0), "Beneficiary can't be zero address");
require(amount != 0, "amount can't be 0");
}
function contractCashBalance() public view returns(uint256 cashBalance){
return cash.balanceOf(address(this));
}
function contractStockTokenBalance() public view returns(uint256 stockTokenBalance){
return stockToken.balanceOf(address(this));
}
function stockTokenCashValuation() internal view returns(uint256){
uint256 cashEquivalent=(contractStockTokenBalance().mul(stockToCashRate)).div(stockTokenMultiplier);
return cashEquivalent;
}
function contractCashValuation() public view returns(uint256 cashValauation){
uint256 cashEquivalent=(contractStockTokenBalance().mul(stockToCashRate)).div(stockTokenMultiplier);
return contractCashBalance().add(cashEquivalent);
}
function updatePoolRate() public returns (uint256 poolrate) {
if(totalSupply()==0){
poolToCashRate = (10**(cashDecimals)).mul(1);
}
else {
poolToCashRate=( (contractCashValuation().mul(1e18)).div(totalSupply()) );
}
emit PoolRateUpdated(poolrate);
return poolToCashRate;
}
function mintPoolToken(uint256 inputCashAmount) external {
if(cashValauationCap!=0)
{
require(inputCashAmount.add(contractCashValuation())<=cashValauationCap,"inputCashAmount exceeds cashValauationCap");
}
address sender= msg.sender;
_preValidateData(sender,inputCashAmount);
updatePoolRate();
uint256 balanceBeforeTransfer = cash.balanceOf(address(this));
cash.transferFrom(sender,address(this),inputCashAmount);
uint256 balanceAfterTransfer = cash.balanceOf(address(this));
require(balanceAfterTransfer == balanceBeforeTransfer.add(inputCashAmount),"Sent & Received Amount mismatched");
// calculate pool token amount to be minted
uint256 poolTokens = ( (inputCashAmount.mul(1e18)).div(poolToCashRate) );
_mint(sender, poolTokens); //Minting Pool Token
emit PoolTokensMinted(sender,inputCashAmount,poolTokens);
}
function burnPoolToken(uint256 poolTokenAmount) external {
address sender= msg.sender;
_preValidateData(sender,poolTokenAmount);
updatePoolRate();
uint256 cashToRedeem=( (poolTokenAmount.mul(poolToCashRate)).div(1e18) );
_burn(sender, poolTokenAmount);
uint256 outputStockToken = 0;
uint256 outputCashAmount = 0;
if( stockTokenCashValuation()>=cashToRedeem )
{
outputStockToken=( (cashToRedeem.mul(stockTokenMultiplier)).div(stockToCashRate) );//calculate stock token amount to be return
stockToken.transfer(sender,outputStockToken);
}
else if( cashToRedeem>stockTokenCashValuation() )
{
outputStockToken=contractStockTokenBalance();
outputCashAmount=cashToRedeem.sub(stockTokenCashValuation());// calculate cash amount to be return
stockToken.transfer(sender,outputStockToken);
uint256 balanceBeforeTransfer = cash.balanceOf(sender);
cash.transfer(sender,outputCashAmount);
uint256 balanceAfterTransfer = cash.balanceOf(sender);
require(balanceAfterTransfer == balanceBeforeTransfer.add(outputCashAmount),"Sent & Received Amount mismatched");
}
emit PoolTokensBurnt(sender,poolTokenAmount,outputStockToken,outputCashAmount);
}
function redeemStockToken(uint256 stockTokenAmount) external{
address sender= msg.sender;
_preValidateData(sender,stockTokenAmount);
stockToken.transferFrom(sender,address(this),stockTokenAmount);
// calculate Cash amount to be return
uint256 outputCashAmount=(stockTokenAmount.mul(stockToCashRate)).div(stockTokenMultiplier);
uint256 balanceBeforeTransfer = cash.balanceOf(sender);
cash.transfer(sender,outputCashAmount);
uint256 balanceAfterTransfer = cash.balanceOf(sender);
require(balanceAfterTransfer == balanceBeforeTransfer.add(outputCashAmount),"Sent & Received Amount mismatched");
emit StockTokensRedeemed(sender,stockTokenAmount,outputCashAmount);
}
function kill() external onlyOwner { //self destruct the code and transfer all contract balance to owner
selfdestruct(owner);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"cashAddress","type":"address"},{"internalType":"address","name":"stockTokenAddress","type":"address"},{"internalType":"uint256","name":"_stockToCashRate","type":"uint256"},{"internalType":"uint256","name":"cashCap","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"string","name":"_url","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"poolrate","type":"uint256"}],"name":"PoolRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"burntPoolAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"outputStockAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"outputCashAmount","type":"uint256"}],"name":"PoolTokensBurnt","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"inputCashAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"mintedPoolAmount","type":"uint256"}],"name":"PoolTokensMinted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"redeemedStockToken","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"outputCashAmount","type":"uint256"}],"name":"StockTokensRedeemed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"_url","type":"string"}],"name":"UrlUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"cashCap","type":"uint256"}],"name":"ValuationCapUpdated","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"poolTokenAmount","type":"uint256"}],"name":"burnPoolToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"cashDecimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cashValauationCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"newOwner","type":"address"}],"name":"changeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"contractCashBalance","outputs":[{"internalType":"uint256","name":"cashBalance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"contractCashValuation","outputs":[{"internalType":"uint256","name":"cashValauation","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"contractStockTokenBalance","outputs":[{"internalType":"uint256","name":"stockTokenBalance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"kill","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"inputCashAmount","type":"uint256"}],"name":"mintPoolToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"poolToCashRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"stockTokenAmount","type":"uint256"}],"name":"redeemStockToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stockToCashRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stockTokenAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stockTokenMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"cashCap","type":"uint256"}],"name":"updateCashValuationCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"updatePoolRate","outputs":[{"internalType":"uint256","name":"poolrate","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"string","name":"_url","type":"string"}],"name":"updateURL","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"url","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"}]Contract Creation Code
60806040523480156200001157600080fd5b50604051620048b8380380620048b8833981810160405260e08110156200003757600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805160405193929190846401000000008211156200008057600080fd5b838201915060208201858111156200009757600080fd5b8251866001820283011164010000000082111715620000b557600080fd5b8083526020830192505050908051906020019080838360005b83811015620000eb578082015181840152602081019050620000ce565b50505050905090810190601f168015620001195780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200013d57600080fd5b838201915060208201858111156200015457600080fd5b82518660018202830111640100000000821117156200017257600080fd5b8083526020830192505050908051906020019080838360005b83811015620001a85780820151818401526020810190506200018b565b50505050905090810190601f168015620001d65780820380516001836020036101000a031916815260200191505b5060405260200180516040519392919084640100000000821115620001fa57600080fd5b838201915060208201858111156200021157600080fd5b82518660018202830111640100000000821117156200022f57600080fd5b8083526020830192505050908051906020019080838360005b838110156200026557808201518184015260208101905062000248565b50505050905090810190601f168015620002935780820380516001836020036101000a031916815260200191505b50604052505050828260128260039080519060200190620002b692919062000f55565b508160049080519060200190620002cf92919062000f55565b5080600560006101000a81548160ff021916908360ff16021790555050505033600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415620003d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f73746f636b546f6b656e20697320746865207a65726f2061646472657373000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141562000477576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f6361736820697320746865207a65726f2061646472657373000000000000000081525060200191505060405180910390fd5b86600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156200056257600080fd5b505afa15801562000577573d6000803e3d6000fd5b505050506040513d60208110156200058e57600080fd5b810190808051906020019092919050505060ff16600681905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156200061157600080fd5b505afa15801562000626573d6000803e3d6000fd5b505050506040513d60208110156200063d57600080fd5b810190808051906020019092919050505060ff16600a0a6007819055506200067985600654600a0a620006c160201b62002b4b1790919060201c565b600a819055506200068f6200074c60201b60201c565b50620006a1846200083160201b60201c565b50620006b3816200093f60201b60201c565b505050505050505062001004565b600080831415620006d6576000905062000746565b6000828402905082848281620006e857fe5b041462000741576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180620048976021913960400191505060405180910390fd5b809150505b92915050565b6000806200075f62000b6360201b60201c565b14156200079257620007866001600654600a0a620006c160201b62002b4b1790919060201c565b600b81905550620007f2565b620007eb620007a662000b6360201b60201c565b620007d7670de0b6b3a7640000620007c362000b6d60201b60201c565b620006c160201b62002b4b1790919060201c565b62000be760201b62002bd11790919060201c565b600b819055505b7fc68a9a1667c87e211e1fdb8d320762f34843823de13733d23a0519ba5dd21b66816040518082815260200191505060405180910390a1600b54905090565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614620008f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4163636f756e74206e6f74204f776e657200000000000000000000000000000081525060200191505060405180910390fd5b81600c819055507f7b51412dc2b6e5fc32497110f29da4f92c9d3b8924cddd4e6a2884f66a774bdb826040518082815260200191505060405180910390a1600c549050919050565b6060600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161462000a05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4163636f756e74206e6f74204f776e657200000000000000000000000000000081525060200191505060405180910390fd5b81600d908051906020019062000a1d92919062000f55565b507fc601e6cbfab914ce20078cb17a4e5b9831b1d612db470153922f08ff15d9075c826040518080602001828103825283818151815260200191508051906020019080838360005b8381101562000a8257808201518184015260208101905062000a65565b50505050905090810190601f16801562000ab05780820380516001836020036101000a031916815260200191505b509250505060405180910390a1600d8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562000b575780601f1062000b2b5761010080835404028352916020019162000b57565b820191906000526020600020905b81548152906001019060200180831162000b3957829003601f168201915b50505050509050919050565b6000600254905090565b60008062000bb660075462000ba2600a5462000b8e62000c3960201b60201c565b620006c160201b62002b4b1790919060201c565b62000be760201b62002bd11790919060201c565b905062000be18162000bcd62000d1d60201b60201c565b62000e0160201b62002d1c1790919060201c565b91505090565b600062000c3183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000e8a60201b60201c565b905092915050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801562000cdb57600080fd5b505afa15801562000cf0573d6000803e3d6000fd5b505050506040513d602081101562000d0757600080fd5b8101908080519060200190929190505050905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801562000dbf57600080fd5b505afa15801562000dd4573d6000803e3d6000fd5b505050506040513d602081101562000deb57600080fd5b8101908080519060200190929190505050905090565b60008082840190508381101562000e80576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000808311829062000f3a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562000efe57808201518184015260208101905062000ee1565b50505050905090810190601f16801562000f2c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858162000f4757fe5b049050809150509392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1062000f9857805160ff191683800117855562000fc9565b8280016001018555821562000fc9579182015b8281111562000fc857825182559160200191906001019062000fab565b5b50905062000fd8919062000fdc565b5090565b6200100191905b8082111562000ffd57600081600090555060010162000fe3565b5090565b90565b61388380620010146000396000f3fe6080604052600436106101cd5760003560e01c806369ba16dd116100f75780639d7c9d8c11610095578063c256e7af11610064578063c256e7af146109be578063d3ee6a3a146109e9578063dd62ed3e14610a38578063fbc51e4b14610abd576101cd565b80639d7c9d8c1461085c578063a457c2d714610887578063a6f9dae1146108fa578063a9059cbb1461094b576101cd565b806388669451116100d1578063886694511461071f5780638da5cb5b1461074a57806395d89b41146107a15780639680b92c14610831576101cd565b806369ba16dd146106545780636f69f3001461067f57806370a08231146106ba576101cd565b806325b0d7cc1161016f57806341c0e1b51161013e57806341c0e1b5146105475780634f991f241461055e578063520b98af146105995780635600f04f146105c4576101cd565b806325b0d7cc146104215780632a8da7c71461044c578063313ce567146104a357806339509351146104d4576101cd565b806310423d22116101ab57806310423d22146102fd57806316cc29961461032857806318160ddd1461036357806323b872dd1461038e576101cd565b8063038fa223146101cf57806306fdde03146101fa578063095ea7b31461028a575b005b3480156101db57600080fd5b506101e4610bfe565b6040518082815260200191505060405180910390f35b34801561020657600080fd5b5061020f610cdf565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561024f578082015181840152602081019050610234565b50505050905090810190601f16801561027c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561029657600080fd5b506102e3600480360360408110156102ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d81565b604051808215151515815260200191505060405180910390f35b34801561030957600080fd5b50610312610d9f565b6040518082815260200191505060405180910390f35b34801561033457600080fd5b506103616004803603602081101561034b57600080fd5b8101908080359060200190929190505050610e55565b005b34801561036f57600080fd5b50610378611312565b6040518082815260200191505060405180910390f35b34801561039a57600080fd5b50610407600480360360608110156103b157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061131c565b604051808215151515815260200191505060405180910390f35b34801561042d57600080fd5b506104366113f5565b6040518082815260200191505060405180910390f35b34801561045857600080fd5b506104616114d6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104af57600080fd5b506104b8611500565b604051808260ff1660ff16815260200191505060405180910390f35b3480156104e057600080fd5b5061052d600480360360408110156104f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611517565b604051808215151515815260200191505060405180910390f35b34801561055357600080fd5b5061055c6115ca565b005b34801561056a57600080fd5b506105976004803603602081101561058157600080fd5b81019080803590602001909291905050506116c8565b005b3480156105a557600080fd5b506105ae611b38565b6040518082815260200191505060405180910390f35b3480156105d057600080fd5b506105d9611b8d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106195780820151818401526020810190506105fe565b50505050905090810190601f1680156106465780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561066057600080fd5b50610669611c2b565b6040518082815260200191505060405180910390f35b34801561068b57600080fd5b506106b8600480360360208110156106a257600080fd5b8101908080359060200190929190505050611c31565b005b3480156106c657600080fd5b50610709600480360360208110156106dd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612241565b6040518082815260200191505060405180910390f35b34801561072b57600080fd5b50610734612289565b6040518082815260200191505060405180910390f35b34801561075657600080fd5b5061075f61228f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107ad57600080fd5b506107b66122b5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107f65780820151818401526020810190506107db565b50505050905090810190601f1680156108235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561083d57600080fd5b50610846612357565b6040518082815260200191505060405180910390f35b34801561086857600080fd5b5061087161235d565b6040518082815260200191505060405180910390f35b34801561089357600080fd5b506108e0600480360360408110156108aa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612363565b604051808215151515815260200191505060405180910390f35b34801561090657600080fd5b506109496004803603602081101561091d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612430565b005b34801561095757600080fd5b506109a46004803603604081101561096e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061257a565b604051808215151515815260200191505060405180910390f35b3480156109ca57600080fd5b506109d3612598565b6040518082815260200191505060405180910390f35b3480156109f557600080fd5b50610a2260048036036020811015610a0c57600080fd5b810190808035906020019092919050505061259e565b6040518082815260200191505060405180910390f35b348015610a4457600080fd5b50610aa760048036036040811015610a5b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126ab565b6040518082815260200191505060405180910390f35b348015610ac957600080fd5b50610b8360048036036020811015610ae057600080fd5b8101908080359060200190640100000000811115610afd57600080fd5b820183602082011115610b0f57600080fd5b80359060200191846001830284011164010000000083111715610b3157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612732565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610bc3578082015181840152602081019050610ba8565b50505050905090810190601f168015610bf05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610c9f57600080fd5b505afa158015610cb3573d6000803e3d6000fd5b505050506040513d6020811015610cc957600080fd5b8101908080519060200190929190505050905090565b606060038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d775780601f10610d4c57610100808354040283529160200191610d77565b820191906000526020600020905b815481529060010190602001808311610d5a57829003601f168201915b5050505050905090565b6000610d95610d8e61294c565b8484612954565b6001905092915050565b600080610daa611312565b1415610dd457610dc96001600654600a0a612b4b90919063ffffffff16565b600b81905550610e16565b610e0f610ddf611312565b610e01670de0b6b3a7640000610df3611b38565b612b4b90919063ffffffff16565b612bd190919063ffffffff16565b600b819055505b7fc68a9a1667c87e211e1fdb8d320762f34843823de13733d23a0519ba5dd21b66816040518082815260200191505060405180910390a1600b54905090565b6000339050610e648183612c1b565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8230856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610f4157600080fd5b505af1158015610f55573d6000803e3d6000fd5b505050506040513d6020811015610f6b57600080fd5b8101908080519060200190929190505050506000610fa8600754610f9a600a5486612b4b90919063ffffffff16565b612bd190919063ffffffff16565b90506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561104b57600080fd5b505afa15801561105f573d6000803e3d6000fd5b505050506040513d602081101561107557600080fd5b81019080805190602001909291905050509050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561113157600080fd5b505af1158015611145573d6000803e3d6000fd5b505050506040513d602081101561115b57600080fd5b8101908080519060200190929190505050506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561120e57600080fd5b505afa158015611222573d6000803e3d6000fd5b505050506040513d602081101561123857600080fd5b8101908080519060200190929190505050905061125e8383612d1c90919063ffffffff16565b81146112b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806137076021913960400191505060405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff167f55233d8a154170c5f6990012b5ba97f3b042ee915ec1f11c7528c067b3ea5a798685604051808381526020018281526020019250505060405180910390a25050505050565b6000600254905090565b6000611329848484612da4565b6113ea8461133561294c565b6113e58560405180606001604052806028815260200161379860289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061139b61294c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461305a9092919063ffffffff16565b612954565b600190509392505050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561149657600080fd5b505afa1580156114aa573d6000803e3d6000fd5b505050506040513d60208110156114c057600080fd5b8101908080519060200190929190505050905090565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600560009054906101000a900460ff16905090565b60006115c061152461294c565b846115bb856001600061153561294c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d1c90919063ffffffff16565b612954565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461168d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4163636f756e74206e6f74204f776e657200000000000000000000000000000081525060200191505060405180910390fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b6000600c541461174757600c546116ef6116e0611b38565b83612d1c90919063ffffffff16565b1115611746576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061374e6029913960400191505060405180910390fd5b5b60003390506117568183612c1b565b61175e610d9f565b506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561180057600080fd5b505afa158015611814573d6000803e3d6000fd5b505050506040513d602081101561182a57600080fd5b81019080805190602001909291905050509050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8330866040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561191a57600080fd5b505af115801561192e573d6000803e3d6000fd5b505050506040513d602081101561194457600080fd5b8101908080519060200190929190505050506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156119f757600080fd5b505afa158015611a0b573d6000803e3d6000fd5b505050506040513d6020811015611a2157600080fd5b81019080805190602001909291905050509050611a478483612d1c90919063ffffffff16565b8114611a9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806137076021913960400191505060405180910390fd5b6000611acf600b54611ac1670de0b6b3a764000088612b4b90919063ffffffff16565b612bd190919063ffffffff16565b9050611adb848261311a565b8373ffffffffffffffffffffffffffffffffffffffff167f6815a1741b4c93c1ee374050672677deb65eacfa89878fa1acdeb0ca323458b88683604051808381526020018281526020019250505060405180910390a25050505050565b600080611b6b600754611b5d600a54611b4f610bfe565b612b4b90919063ffffffff16565b612bd190919063ffffffff16565b9050611b8781611b796113f5565b612d1c90919063ffffffff16565b91505090565b600d8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c235780601f10611bf857610100808354040283529160200191611c23565b820191906000526020600020905b815481529060010190602001808311611c0657829003601f168201915b505050505081565b600a5481565b6000339050611c408183612c1b565b611c48610d9f565b506000611c7a670de0b6b3a7640000611c6c600b5486612b4b90919063ffffffff16565b612bd190919063ffffffff16565b9050611c8682846132d5565b6000809050600080905082611c9961348d565b10611db357611cc7600a54611cb960075486612b4b90919063ffffffff16565b612bd190919063ffffffff16565b9150600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611d7257600080fd5b505af1158015611d86573d6000803e3d6000fd5b505050506040513d6020811015611d9c57600080fd5b8101908080519060200190929190505050506121dc565b611dbb61348d565b8311156121db57611dca610bfe565b9150611de6611dd761348d565b846134c990919063ffffffff16565b9050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611e9157600080fd5b505af1158015611ea5573d6000803e3d6000fd5b505050506040513d6020811015611ebb57600080fd5b8101908080519060200190929190505050506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611f6e57600080fd5b505afa158015611f82573d6000803e3d6000fd5b505050506040513d6020811015611f9857600080fd5b81019080805190602001909291905050509050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb86846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561205457600080fd5b505af1158015612068573d6000803e3d6000fd5b505050506040513d602081101561207e57600080fd5b8101908080519060200190929190505050506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561213157600080fd5b505afa158015612145573d6000803e3d6000fd5b505050506040513d602081101561215b57600080fd5b810190808051906020019092919050505090506121818383612d1c90919063ffffffff16565b81146121d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806137076021913960400191505060405180910390fd5b50505b5b8373ffffffffffffffffffffffffffffffffffffffff167fbed5597a1441723ad2bde2b25295dd90b779504ea866c708d221b4722b50c95c86848460405180848152602001838152602001828152602001935050505060405180910390a25050505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600c5481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561234d5780601f106123225761010080835404028352916020019161234d565b820191906000526020600020905b81548152906001019060200180831161233057829003601f168201915b5050505050905090565b60075481565b60065481565b600061242661237061294c565b846124218560405180606001604052806025815260200161382a602591396001600061239a61294c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461305a9092919063ffffffff16565b612954565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146124f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4163636f756e74206e6f74204f776e657200000000000000000000000000000081525060200191505060405180910390fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167fa2ea9883a321a3e97b8266c2b078bfeec6d50c711ed71f874a90d500ae2eaf3660405160405180910390a250565b600061258e61258761294c565b8484612da4565b6001905092915050565b600b5481565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612663576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4163636f756e74206e6f74204f776e657200000000000000000000000000000081525060200191505060405180910390fd5b81600c819055507f7b51412dc2b6e5fc32497110f29da4f92c9d3b8924cddd4e6a2884f66a774bdb826040518082815260200191505060405180910390a1600c549050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6060600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146127f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4163636f756e74206e6f74204f776e657200000000000000000000000000000081525060200191505060405180910390fd5b81600d908051906020019061280d9291906135d9565b507fc601e6cbfab914ce20078cb17a4e5b9831b1d612db470153922f08ff15d9075c826040518080602001828103825283818151815260200191508051906020019080838360005b83811015612870578082015181840152602081019050612855565b50505050905090810190601f16801561289d5780820380516001836020036101000a031916815260200191505b509250505060405180910390a1600d8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156129405780601f1061291557610100808354040283529160200191612940565b820191906000526020600020905b81548152906001019060200180831161292357829003601f168201915b50505050509050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156129da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806138066024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806136e56022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600080831415612b5e5760009050612bcb565b6000828402905082848281612b6f57fe5b0414612bc6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806137776021913960400191505060405180910390fd5b809150505b92915050565b6000612c1383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613513565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612ca1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806136a26021913960400191505060405180910390fd5b6000811415612d18576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f616d6f756e742063616e2774206265203000000000000000000000000000000081525060200191505060405180910390fd5b5050565b600080828401905083811015612d9a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612e2a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806137e16025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612eb0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061367f6023913960400191505060405180910390fd5b612f1b81604051806060016040528060268152602001613728602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461305a9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612fae816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d1c90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290613107576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156130cc5780820151818401526020810190506130b1565b50505050905090810190601f1680156130f95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156131bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6131d281600254612d1c90919063ffffffff16565b600281905550613229816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d1c90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561335b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806137c06021913960400191505060405180910390fd5b6133c6816040518060600160405280602281526020016136c3602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461305a9092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061341d816002546134c990919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000806134c06007546134b2600a546134a4610bfe565b612b4b90919063ffffffff16565b612bd190919063ffffffff16565b90508091505090565b600061350b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061305a565b905092915050565b600080831182906135bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613584578082015181840152602081019050613569565b50505050905090810190601f1680156135b15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816135cb57fe5b049050809150509392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061361a57805160ff1916838001178555613648565b82800160010185558215613648579182015b8281111561364757825182559160200191906001019061362c565b5b5090506136559190613659565b5090565b61367b91905b8082111561367757600081600090555060010161365f565b5090565b9056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737342656e65666963696172792063616e2774206265207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737353656e74202620526563656976656420416d6f756e74206d69736d61746368656445524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365696e70757443617368416d6f756e742065786365656473206361736856616c61756174696f6e436170536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820c20324aaedbacce2ba24c88f3d64177ac52bc1407c4bd979be0e922567381e1464736f6c634300050c0032536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f770000000000000000000000006b175474e89094c44da98b954eedeac495271d0f0000000000000000000000004e38257432b5f2fcd53bf67296b3e571ef0b1155000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000021e19e0c9bab240000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000d43617368426f782041524549540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034342310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007968747470733a2f2f697066732e696f2f697066732f516d5a464e7650596754713758634b674e4e58465259626954424d345a345a4d524b3751757159667a68554770522f4152454954253230496e666f726d6174696f6e2532304d656d6f72616e64756d2532304f63746f626572253230323032302e70646600000000000000
Deployed Bytecode
0x6080604052600436106101cd5760003560e01c806369ba16dd116100f75780639d7c9d8c11610095578063c256e7af11610064578063c256e7af146109be578063d3ee6a3a146109e9578063dd62ed3e14610a38578063fbc51e4b14610abd576101cd565b80639d7c9d8c1461085c578063a457c2d714610887578063a6f9dae1146108fa578063a9059cbb1461094b576101cd565b806388669451116100d1578063886694511461071f5780638da5cb5b1461074a57806395d89b41146107a15780639680b92c14610831576101cd565b806369ba16dd146106545780636f69f3001461067f57806370a08231146106ba576101cd565b806325b0d7cc1161016f57806341c0e1b51161013e57806341c0e1b5146105475780634f991f241461055e578063520b98af146105995780635600f04f146105c4576101cd565b806325b0d7cc146104215780632a8da7c71461044c578063313ce567146104a357806339509351146104d4576101cd565b806310423d22116101ab57806310423d22146102fd57806316cc29961461032857806318160ddd1461036357806323b872dd1461038e576101cd565b8063038fa223146101cf57806306fdde03146101fa578063095ea7b31461028a575b005b3480156101db57600080fd5b506101e4610bfe565b6040518082815260200191505060405180910390f35b34801561020657600080fd5b5061020f610cdf565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561024f578082015181840152602081019050610234565b50505050905090810190601f16801561027c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561029657600080fd5b506102e3600480360360408110156102ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d81565b604051808215151515815260200191505060405180910390f35b34801561030957600080fd5b50610312610d9f565b6040518082815260200191505060405180910390f35b34801561033457600080fd5b506103616004803603602081101561034b57600080fd5b8101908080359060200190929190505050610e55565b005b34801561036f57600080fd5b50610378611312565b6040518082815260200191505060405180910390f35b34801561039a57600080fd5b50610407600480360360608110156103b157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061131c565b604051808215151515815260200191505060405180910390f35b34801561042d57600080fd5b506104366113f5565b6040518082815260200191505060405180910390f35b34801561045857600080fd5b506104616114d6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104af57600080fd5b506104b8611500565b604051808260ff1660ff16815260200191505060405180910390f35b3480156104e057600080fd5b5061052d600480360360408110156104f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611517565b604051808215151515815260200191505060405180910390f35b34801561055357600080fd5b5061055c6115ca565b005b34801561056a57600080fd5b506105976004803603602081101561058157600080fd5b81019080803590602001909291905050506116c8565b005b3480156105a557600080fd5b506105ae611b38565b6040518082815260200191505060405180910390f35b3480156105d057600080fd5b506105d9611b8d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106195780820151818401526020810190506105fe565b50505050905090810190601f1680156106465780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561066057600080fd5b50610669611c2b565b6040518082815260200191505060405180910390f35b34801561068b57600080fd5b506106b8600480360360208110156106a257600080fd5b8101908080359060200190929190505050611c31565b005b3480156106c657600080fd5b50610709600480360360208110156106dd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612241565b6040518082815260200191505060405180910390f35b34801561072b57600080fd5b50610734612289565b6040518082815260200191505060405180910390f35b34801561075657600080fd5b5061075f61228f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107ad57600080fd5b506107b66122b5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107f65780820151818401526020810190506107db565b50505050905090810190601f1680156108235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561083d57600080fd5b50610846612357565b6040518082815260200191505060405180910390f35b34801561086857600080fd5b5061087161235d565b6040518082815260200191505060405180910390f35b34801561089357600080fd5b506108e0600480360360408110156108aa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612363565b604051808215151515815260200191505060405180910390f35b34801561090657600080fd5b506109496004803603602081101561091d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612430565b005b34801561095757600080fd5b506109a46004803603604081101561096e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061257a565b604051808215151515815260200191505060405180910390f35b3480156109ca57600080fd5b506109d3612598565b6040518082815260200191505060405180910390f35b3480156109f557600080fd5b50610a2260048036036020811015610a0c57600080fd5b810190808035906020019092919050505061259e565b6040518082815260200191505060405180910390f35b348015610a4457600080fd5b50610aa760048036036040811015610a5b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126ab565b6040518082815260200191505060405180910390f35b348015610ac957600080fd5b50610b8360048036036020811015610ae057600080fd5b8101908080359060200190640100000000811115610afd57600080fd5b820183602082011115610b0f57600080fd5b80359060200191846001830284011164010000000083111715610b3157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612732565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610bc3578082015181840152602081019050610ba8565b50505050905090810190601f168015610bf05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610c9f57600080fd5b505afa158015610cb3573d6000803e3d6000fd5b505050506040513d6020811015610cc957600080fd5b8101908080519060200190929190505050905090565b606060038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d775780601f10610d4c57610100808354040283529160200191610d77565b820191906000526020600020905b815481529060010190602001808311610d5a57829003601f168201915b5050505050905090565b6000610d95610d8e61294c565b8484612954565b6001905092915050565b600080610daa611312565b1415610dd457610dc96001600654600a0a612b4b90919063ffffffff16565b600b81905550610e16565b610e0f610ddf611312565b610e01670de0b6b3a7640000610df3611b38565b612b4b90919063ffffffff16565b612bd190919063ffffffff16565b600b819055505b7fc68a9a1667c87e211e1fdb8d320762f34843823de13733d23a0519ba5dd21b66816040518082815260200191505060405180910390a1600b54905090565b6000339050610e648183612c1b565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8230856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610f4157600080fd5b505af1158015610f55573d6000803e3d6000fd5b505050506040513d6020811015610f6b57600080fd5b8101908080519060200190929190505050506000610fa8600754610f9a600a5486612b4b90919063ffffffff16565b612bd190919063ffffffff16565b90506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561104b57600080fd5b505afa15801561105f573d6000803e3d6000fd5b505050506040513d602081101561107557600080fd5b81019080805190602001909291905050509050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561113157600080fd5b505af1158015611145573d6000803e3d6000fd5b505050506040513d602081101561115b57600080fd5b8101908080519060200190929190505050506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561120e57600080fd5b505afa158015611222573d6000803e3d6000fd5b505050506040513d602081101561123857600080fd5b8101908080519060200190929190505050905061125e8383612d1c90919063ffffffff16565b81146112b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806137076021913960400191505060405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff167f55233d8a154170c5f6990012b5ba97f3b042ee915ec1f11c7528c067b3ea5a798685604051808381526020018281526020019250505060405180910390a25050505050565b6000600254905090565b6000611329848484612da4565b6113ea8461133561294c565b6113e58560405180606001604052806028815260200161379860289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061139b61294c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461305a9092919063ffffffff16565b612954565b600190509392505050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561149657600080fd5b505afa1580156114aa573d6000803e3d6000fd5b505050506040513d60208110156114c057600080fd5b8101908080519060200190929190505050905090565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600560009054906101000a900460ff16905090565b60006115c061152461294c565b846115bb856001600061153561294c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d1c90919063ffffffff16565b612954565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461168d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4163636f756e74206e6f74204f776e657200000000000000000000000000000081525060200191505060405180910390fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b6000600c541461174757600c546116ef6116e0611b38565b83612d1c90919063ffffffff16565b1115611746576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061374e6029913960400191505060405180910390fd5b5b60003390506117568183612c1b565b61175e610d9f565b506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561180057600080fd5b505afa158015611814573d6000803e3d6000fd5b505050506040513d602081101561182a57600080fd5b81019080805190602001909291905050509050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8330866040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561191a57600080fd5b505af115801561192e573d6000803e3d6000fd5b505050506040513d602081101561194457600080fd5b8101908080519060200190929190505050506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156119f757600080fd5b505afa158015611a0b573d6000803e3d6000fd5b505050506040513d6020811015611a2157600080fd5b81019080805190602001909291905050509050611a478483612d1c90919063ffffffff16565b8114611a9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806137076021913960400191505060405180910390fd5b6000611acf600b54611ac1670de0b6b3a764000088612b4b90919063ffffffff16565b612bd190919063ffffffff16565b9050611adb848261311a565b8373ffffffffffffffffffffffffffffffffffffffff167f6815a1741b4c93c1ee374050672677deb65eacfa89878fa1acdeb0ca323458b88683604051808381526020018281526020019250505060405180910390a25050505050565b600080611b6b600754611b5d600a54611b4f610bfe565b612b4b90919063ffffffff16565b612bd190919063ffffffff16565b9050611b8781611b796113f5565b612d1c90919063ffffffff16565b91505090565b600d8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c235780601f10611bf857610100808354040283529160200191611c23565b820191906000526020600020905b815481529060010190602001808311611c0657829003601f168201915b505050505081565b600a5481565b6000339050611c408183612c1b565b611c48610d9f565b506000611c7a670de0b6b3a7640000611c6c600b5486612b4b90919063ffffffff16565b612bd190919063ffffffff16565b9050611c8682846132d5565b6000809050600080905082611c9961348d565b10611db357611cc7600a54611cb960075486612b4b90919063ffffffff16565b612bd190919063ffffffff16565b9150600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611d7257600080fd5b505af1158015611d86573d6000803e3d6000fd5b505050506040513d6020811015611d9c57600080fd5b8101908080519060200190929190505050506121dc565b611dbb61348d565b8311156121db57611dca610bfe565b9150611de6611dd761348d565b846134c990919063ffffffff16565b9050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611e9157600080fd5b505af1158015611ea5573d6000803e3d6000fd5b505050506040513d6020811015611ebb57600080fd5b8101908080519060200190929190505050506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611f6e57600080fd5b505afa158015611f82573d6000803e3d6000fd5b505050506040513d6020811015611f9857600080fd5b81019080805190602001909291905050509050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb86846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561205457600080fd5b505af1158015612068573d6000803e3d6000fd5b505050506040513d602081101561207e57600080fd5b8101908080519060200190929190505050506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561213157600080fd5b505afa158015612145573d6000803e3d6000fd5b505050506040513d602081101561215b57600080fd5b810190808051906020019092919050505090506121818383612d1c90919063ffffffff16565b81146121d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806137076021913960400191505060405180910390fd5b50505b5b8373ffffffffffffffffffffffffffffffffffffffff167fbed5597a1441723ad2bde2b25295dd90b779504ea866c708d221b4722b50c95c86848460405180848152602001838152602001828152602001935050505060405180910390a25050505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600c5481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561234d5780601f106123225761010080835404028352916020019161234d565b820191906000526020600020905b81548152906001019060200180831161233057829003601f168201915b5050505050905090565b60075481565b60065481565b600061242661237061294c565b846124218560405180606001604052806025815260200161382a602591396001600061239a61294c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461305a9092919063ffffffff16565b612954565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146124f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4163636f756e74206e6f74204f776e657200000000000000000000000000000081525060200191505060405180910390fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167fa2ea9883a321a3e97b8266c2b078bfeec6d50c711ed71f874a90d500ae2eaf3660405160405180910390a250565b600061258e61258761294c565b8484612da4565b6001905092915050565b600b5481565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612663576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4163636f756e74206e6f74204f776e657200000000000000000000000000000081525060200191505060405180910390fd5b81600c819055507f7b51412dc2b6e5fc32497110f29da4f92c9d3b8924cddd4e6a2884f66a774bdb826040518082815260200191505060405180910390a1600c549050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6060600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146127f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4163636f756e74206e6f74204f776e657200000000000000000000000000000081525060200191505060405180910390fd5b81600d908051906020019061280d9291906135d9565b507fc601e6cbfab914ce20078cb17a4e5b9831b1d612db470153922f08ff15d9075c826040518080602001828103825283818151815260200191508051906020019080838360005b83811015612870578082015181840152602081019050612855565b50505050905090810190601f16801561289d5780820380516001836020036101000a031916815260200191505b509250505060405180910390a1600d8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156129405780601f1061291557610100808354040283529160200191612940565b820191906000526020600020905b81548152906001019060200180831161292357829003601f168201915b50505050509050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156129da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806138066024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806136e56022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600080831415612b5e5760009050612bcb565b6000828402905082848281612b6f57fe5b0414612bc6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806137776021913960400191505060405180910390fd5b809150505b92915050565b6000612c1383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613513565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612ca1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806136a26021913960400191505060405180910390fd5b6000811415612d18576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f616d6f756e742063616e2774206265203000000000000000000000000000000081525060200191505060405180910390fd5b5050565b600080828401905083811015612d9a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612e2a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806137e16025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612eb0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061367f6023913960400191505060405180910390fd5b612f1b81604051806060016040528060268152602001613728602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461305a9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612fae816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d1c90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290613107576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156130cc5780820151818401526020810190506130b1565b50505050905090810190601f1680156130f95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156131bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6131d281600254612d1c90919063ffffffff16565b600281905550613229816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d1c90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561335b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806137c06021913960400191505060405180910390fd5b6133c6816040518060600160405280602281526020016136c3602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461305a9092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061341d816002546134c990919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000806134c06007546134b2600a546134a4610bfe565b612b4b90919063ffffffff16565b612bd190919063ffffffff16565b90508091505090565b600061350b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061305a565b905092915050565b600080831182906135bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613584578082015181840152602081019050613569565b50505050905090810190601f1680156135b15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816135cb57fe5b049050809150509392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061361a57805160ff1916838001178555613648565b82800160010185558215613648579182015b8281111561364757825182559160200191906001019061362c565b5b5090506136559190613659565b5090565b61367b91905b8082111561367757600081600090555060010161365f565b5090565b9056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737342656e65666963696172792063616e2774206265207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737353656e74202620526563656976656420416d6f756e74206d69736d61746368656445524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365696e70757443617368416d6f756e742065786365656473206361736856616c61756174696f6e436170536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820c20324aaedbacce2ba24c88f3d64177ac52bc1407c4bd979be0e922567381e1464736f6c634300050c0032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f0000000000000000000000004e38257432b5f2fcd53bf67296b3e571ef0b1155000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000021e19e0c9bab240000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000d43617368426f782041524549540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034342310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007968747470733a2f2f697066732e696f2f697066732f516d5a464e7650596754713758634b674e4e58465259626954424d345a345a4d524b3751757159667a68554770522f4152454954253230496e666f726d6174696f6e2532304d656d6f72616e64756d2532304f63746f626572253230323032302e70646600000000000000
-----Decoded View---------------
Arg [0] : cashAddress (address): 0x6B175474E89094C44Da98b954EedeAC495271d0F
Arg [1] : stockTokenAddress (address): 0x4e38257432b5F2fCD53Bf67296B3E571Ef0B1155
Arg [2] : _stockToCashRate (uint256): 1
Arg [3] : cashCap (uint256): 10000000000000000000000
Arg [4] : name (string): CashBox AREIT
Arg [5] : symbol (string): CB1
Arg [6] : _url (string): https://ipfs.io/ipfs/QmZFNvPYgTq7XcKgNNXFRYbiTBM4Z4ZMRK7QuqYfzhUGpR/AREIT%20Information%20Memorandum%20October%202020.pdf
-----Encoded View---------------
16 Constructor Arguments found :
Arg [0] : 0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f
Arg [1] : 0000000000000000000000004e38257432b5f2fcd53bf67296b3e571ef0b1155
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [3] : 00000000000000000000000000000000000000000000021e19e0c9bab2400000
Arg [4] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000120
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000160
Arg [7] : 000000000000000000000000000000000000000000000000000000000000000d
Arg [8] : 43617368426f7820415245495400000000000000000000000000000000000000
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [10] : 4342310000000000000000000000000000000000000000000000000000000000
Arg [11] : 0000000000000000000000000000000000000000000000000000000000000079
Arg [12] : 68747470733a2f2f697066732e696f2f697066732f516d5a464e765059675471
Arg [13] : 3758634b674e4e58465259626954424d345a345a4d524b3751757159667a6855
Arg [14] : 4770522f4152454954253230496e666f726d6174696f6e2532304d656d6f7261
Arg [15] : 6e64756d2532304f63746f626572253230323032302e70646600000000000000
Deployed Bytecode Sourcemap
15282:7307:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18267:144;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18267:144:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14913:76;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14913:76:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;14913:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9235:154;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9235:154:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9235:154:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;18911:355;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18911:355:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;21658:766;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21658:766:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21658:766:0;;;;;;;;;;;;;;;;;:::i;:::-;;8250:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8250:92:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9861:306;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9861:306:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9861:306:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;18128:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18128:126:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17781:104;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17781:104:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15199:76;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15199:76:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10576:211;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10576:211:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10576:211:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;22436:144;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22436:144:0;;;:::i;:::-;;19278:963;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19278:963:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19278:963:0;;;;;;;;;;;;;;;;;:::i;:::-;;18650:253;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18650:253:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15661:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15661:17:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;15661:17:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15543:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15543:30:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20253:1393;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20253:1393:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20253:1393:0;;;;;;;;;;;;;;;;;:::i;:::-;;8405:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8405:111:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8405:111:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15616:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15616:32:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16290:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16290:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15048:80;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15048:80:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;15048:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15415:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15415:35:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15381:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15381:27:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11290:262;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11290:262:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11290:262:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;17632:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17632:137:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17632:137:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8729:160;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8729:160:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8729:160:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15580:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15580:29:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17415:205;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17415:205:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17415:205:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8952:136;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8952:136:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8952:136:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17245:158;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17245:158:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17245:158:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;17245:158:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;17245:158:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;17245:158:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;17245:158:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17245:158:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18267:144;18324:25;18368:10;;;;;;;;;;;:20;;;18397:4;18368:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18368:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18368:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18368:35:0;;;;;;;;;;;;;;;;18361:42;;18267:144;:::o;14913:76::-;14949:13;14978:5;14971:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14913:76;:::o;9235:154::-;9303:4;9320:39;9329:12;:10;:12::i;:::-;9343:7;9352:6;9320:8;:39::i;:::-;9377:4;9370:11;;9235:154;;;;:::o;18911:355::-;18953:16;19000:1;18985:13;:11;:13::i;:::-;:16;18982:204;;;19032:27;19057:1;19038:12;;19033:2;:18;19032:24;;:27;;;;:::i;:::-;19015:14;:44;;;;18982:204;;;19118:54;19158:13;:11;:13::i;:::-;19119:33;19147:4;19119:23;:21;:23::i;:::-;:27;;:33;;;;:::i;:::-;19118:39;;:54;;;;:::i;:::-;19101:14;:73;;;;18982:204;19201:25;19217:8;19201:25;;;;;;;;;;;;;;;;;;19244:14;;19237:21;;18911:355;:::o;21658:766::-;21729:14;21745:10;21729:26;;21766:41;21783:6;21790:16;21766;:41::i;:::-;21818:10;;;;;;;;;;;:23;;;21842:6;21857:4;21863:16;21818:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21818:62:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21818:62:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21818:62:0;;;;;;;;;;;;;;;;;21948:24;21973:65;22017:20;;21974:37;21995:15;;21974:16;:20;;:37;;;;:::i;:::-;21973:43;;:65;;;;:::i;:::-;21948:90;;22049:29;22081:4;;;;;;;;;;;:14;;;22096:6;22081:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22081:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22081:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22081:22:0;;;;;;;;;;;;;;;;22049:54;;22114:4;;;;;;;;;;;:13;;;22128:6;22135:16;22114:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22114:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22114:38:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22114:38:0;;;;;;;;;;;;;;;;;22163:28;22194:4;;;;;;;;;;;:14;;;22209:6;22194:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22194:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22194:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22194:22:0;;;;;;;;;;;;;;;;22163:53;;22259:43;22285:16;22259:21;:25;;:43;;;;:::i;:::-;22235:20;:67;22227:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22375:6;22355:61;;;22382:16;22399;22355:61;;;;;;;;;;;;;;;;;;;;;;;;21658:766;;;;;:::o;8250:92::-;8295:7;8322:12;;8315:19;;8250:92;:::o;9861:306::-;9952:4;9969:36;9979:6;9987:9;9998:6;9969:9;:36::i;:::-;10016:121;10025:6;10033:12;:10;:12::i;:::-;10047:89;10085:6;10047:89;;;;;;;;;;;;;;;;;:11;:19;10059:6;10047:19;;;;;;;;;;;;;;;:33;10067:12;:10;:12::i;:::-;10047:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;10016:8;:121::i;:::-;10155:4;10148:11;;9861:306;;;;;:::o;18128:126::-;18179:19;18217:4;;;;;;;;;;;:14;;;18240:4;18217:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18217:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18217:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18217:29:0;;;;;;;;;;;;;;;;18210:36;;18128:126;:::o;17781:104::-;17831:7;17866:10;;;;;;;;;;;17851:26;;17781:104;:::o;15199:76::-;15239:5;15260:9;;;;;;;;;;;15253:16;;15199:76;:::o;10576:211::-;10657:4;10674:83;10683:12;:10;:12::i;:::-;10697:7;10706:50;10745:10;10706:11;:25;10718:12;:10;:12::i;:::-;10706:25;;;;;;;;;;;;;;;:34;10732:7;10706:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;10674:8;:83::i;:::-;10775:4;10768:11;;10576:211;;;;:::o;22436:144::-;16386:5;;;;;;;;;;;16372:19;;:10;:19;;;16363:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22566:5;;;;;;;;;;;22553:19;;;19278:963;19372:1;19353:17;;:20;19350:177;;19453:17;;19407:44;19427:23;:21;:23::i;:::-;19407:15;:19;;:44;;;;:::i;:::-;:63;;19399:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19350:177;19537:14;19553:10;19537:26;;19574:40;19591:6;19598:15;19574:16;:40::i;:::-;19625:16;:14;:16::i;:::-;;19652:29;19684:4;;;;;;;;;;;:14;;;19707:4;19684:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19684:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19684:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19684:29:0;;;;;;;;;;;;;;;;19652:61;;19724:4;;;;;;;;;;;:17;;;19742:6;19757:4;19763:15;19724:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19724:55:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19724:55:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19724:55:0;;;;;;;;;;;;;;;;;19790:28;19821:4;;;;;;;;;;;:14;;;19844:4;19821:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19821:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19821:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19821:29:0;;;;;;;;;;;;;;;;19790:60;;19893:42;19919:15;19893:21;:25;;:42;;;;:::i;:::-;19869:20;:66;19861:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20036:18;20059:47;20091:14;;20060:25;20080:4;20060:15;:19;;:25;;;;:::i;:::-;20059:31;;:47;;;;:::i;:::-;20036:72;;20119:25;20125:6;20133:10;20119:5;:25::i;:::-;20199:6;20182:51;;;20206:15;20222:10;20182:51;;;;;;;;;;;;;;;;;;;;;;;;19278:963;;;;;:::o;18650:253::-;18703:22;18737;18760:76;18815:20;;18761:48;18793:15;;18761:27;:25;:27::i;:::-;:31;;:48;;;;:::i;:::-;18760:54;;:76;;;;:::i;:::-;18737:99;;18854:41;18880:14;18854:21;:19;:21::i;:::-;:25;;:41;;;;:::i;:::-;18847:48;;;18650:253;:::o;15661:17::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;15543:30::-;;;;:::o;20253:1393::-;20323:14;20339:10;20323:26;;20360:40;20377:6;20384:15;20360:16;:40::i;:::-;20421:16;:14;:16::i;:::-;;20448:20;20471:47;20513:4;20472:35;20492:14;;20472:15;:19;;:35;;;;:::i;:::-;20471:41;;:47;;;;:::i;:::-;20448:72;;20531:30;20537:6;20545:15;20531:5;:30::i;:::-;20582:24;20609:1;20582:28;;20621:24;20648:1;20621:28;;20701:12;20674:25;:23;:25::i;:::-;:39;20670:880;;20756:61;20801:15;;20757:38;20774:20;;20757:12;:16;;:38;;;;:::i;:::-;20756:44;;:61;;;;:::i;:::-;20737:82;;20874:10;;;;;;;;;;;:19;;;20894:6;20901:16;20874:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20874:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20874:44:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20874:44:0;;;;;;;;;;;;;;;;;20670:880;;;20972:25;:23;:25::i;:::-;20959:12;:38;20955:595;;;21037:27;:25;:27::i;:::-;21020:44;;21092:43;21109:25;:23;:25::i;:::-;21092:12;:16;;:43;;;;:::i;:::-;21075:60;;21183:10;;;;;;;;;;;:19;;;21203:6;21210:16;21183:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21183:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21183:44:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21183:44:0;;;;;;;;;;;;;;;;;21248:29;21280:4;;;;;;;;;;;:14;;;21295:6;21280:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21280:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21280:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21280:22:0;;;;;;;;;;;;;;;;21248:54;;21313:4;;;;;;;;;;;:13;;;21327:6;21334:16;21313:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21313:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21313:38:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21313:38:0;;;;;;;;;;;;;;;;;21362:28;21393:4;;;;;;;;;;;:14;;;21408:6;21393:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21393:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21393:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21393:22:0;;;;;;;;;;;;;;;;21362:53;;21458:43;21484:16;21458:21;:25;;:43;;;;:::i;:::-;21434:20;:67;21426:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20955:595;;;20670:880;21581:6;21565:73;;;21588:15;21604:16;21621;21565:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20253:1393;;;;;:::o;8405:111::-;8463:7;8490:9;:18;8500:7;8490:18;;;;;;;;;;;;;;;;8483:25;;8405:111;;;:::o;15616:32::-;;;;:::o;16290:28::-;;;;;;;;;;;;;:::o;15048:80::-;15086:13;15115:7;15108:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15048:80;:::o;15415:35::-;;;;:::o;15381:27::-;;;;:::o;11290:262::-;11376:4;11393:129;11402:12;:10;:12::i;:::-;11416:7;11425:96;11464:15;11425:96;;;;;;;;;;;;;;;;;:11;:25;11437:12;:10;:12::i;:::-;11425:25;;;;;;;;;;;;;;;:34;11451:7;11425:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;11393:8;:129::i;:::-;11540:4;11533:11;;11290:262;;;;:::o;17632:137::-;16386:5;;;;;;;;;;;16372:19;;:10;:19;;;16363:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17715:8;17709:5;;:14;;;;;;;;;;;;;;;;;;17752:8;17739:22;;;;;;;;;;;;17632:137;:::o;8729:160::-;8800:4;8817:42;8827:12;:10;:12::i;:::-;8841:9;8852:6;8817:9;:42::i;:::-;8877:4;8870:11;;8729:160;;;;:::o;15580:29::-;;;;:::o;17415:205::-;17489:7;16386:5;;;;;;;;;;;16372:19;;:10;:19;;;16363:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17526:7;17508:17;:25;;;;17549:28;17569:7;17549:28;;;;;;;;;;;;;;;;;;17595:17;;17588:24;;17415:205;;;:::o;8952:136::-;9026:7;9053:11;:18;9065:5;9053:18;;;;;;;;;;;;;;;:27;9072:7;9053:27;;;;;;;;;;;;;;;;9046:34;;8952:136;;;;:::o;17245:158::-;17309:13;16386:5;;;;;;;;;;;16372:19;;:10;:19;;;16363:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17338:4;17334:3;:8;;;;;;;;;;;;:::i;:::-;;17358:16;17369:4;17358:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17358:16:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17392:3;17385:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17245:158;;;:::o;2881:99::-;2927:15;2962:10;2955:17;;2881:99;:::o;14231:339::-;14343:1;14326:19;;:5;:19;;;;14318:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14424:1;14405:21;;:7;:21;;;;14397:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14508:6;14478:11;:18;14490:5;14478:18;;;;;;;;;;;;;;;:27;14497:7;14478:27;;;;;;;;;;;;;;;:36;;;;14546:7;14530:32;;14539:5;14530:32;;;14555:6;14530:32;;;;;;;;;;;;;;;;;;14231:339;;;:::o;4806:471::-;4864:7;5114:1;5109;:6;5105:47;;;5139:1;5132:8;;;;5105:47;5164:9;5180:1;5176;:5;5164:17;;5209:1;5204;5200;:5;;;;;;:10;5192:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5268:1;5261:8;;;4806:471;;;;;:::o;5745:132::-;5803:7;5830:39;5834:1;5837;5830:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;5823:46;;5745:132;;;;:::o;17897:219::-;18016:1;17993:25;;:11;:25;;;;17985:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18085:1;18075:6;:11;;18067:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17897:219;;:::o;3476:181::-;3534:7;3554:9;3570:1;3566;:5;3554:17;;3595:1;3590;:6;;3582:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3648:1;3641:8;;;3476:181;;;;:::o;12042:474::-;12159:1;12141:20;;:6;:20;;;;12133:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12243:1;12222:23;;:9;:23;;;;12214:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12320;12342:6;12320:71;;;;;;;;;;;;;;;;;:9;:17;12330:6;12320:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;12300:9;:17;12310:6;12300:17;;;;;;;;;;;;;;;:91;;;;12425:32;12450:6;12425:9;:20;12435:9;12425:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;12402:9;:20;12412:9;12402:20;;;;;;;;;;;;;;;:55;;;;12490:9;12473:35;;12482:6;12473:35;;;12501:6;12473:35;;;;;;;;;;;;;;;;;;12042:474;;;:::o;4363:192::-;4449:7;4482:1;4477;:6;;4485:12;4469:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4469:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4509:9;4525:1;4521;:5;4509:17;;4546:1;4539:8;;;4363:192;;;;;:::o;12797:311::-;12893:1;12874:21;;:7;:21;;;;12866:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12961:24;12978:6;12961:12;;:16;;:24;;;;:::i;:::-;12946:12;:39;;;;13017:30;13040:6;13017:9;:18;13027:7;13017:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;12996:9;:18;13006:7;12996:18;;;;;;;;;;;;;;;:51;;;;13084:7;13063:37;;13080:1;13063:37;;;13093:6;13063:37;;;;;;;;;;;;;;;;;;12797:311;;:::o;13440:351::-;13536:1;13517:21;;:7;:21;;;;13509:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13612:68;13635:6;13612:68;;;;;;;;;;;;;;;;;:9;:18;13622:7;13612:18;;;;;;;;;;;;;;;;:22;;:68;;;;;:::i;:::-;13591:9;:18;13601:7;13591:18;;;;;;;;;;;;;;;:89;;;;13706:24;13723:6;13706:12;;:16;;:24;;;;:::i;:::-;13691:12;:39;;;;13772:1;13746:37;;13755:7;13746:37;;;13776:6;13746:37;;;;;;;;;;;;;;;;;;13440:351;;:::o;18423:215::-;18480:7;18499:22;18522:76;18577:20;;18523:48;18555:15;;18523:27;:25;:27::i;:::-;:31;;:48;;;;:::i;:::-;18522:54;;:76;;;;:::i;:::-;18499:99;;18616:14;18609:21;;;18423:215;:::o;3932:136::-;3990:7;4017:43;4021:1;4024;4017:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;4010:50;;3932:136;;;;:::o;6365:345::-;6451:7;6550:1;6546;:5;6553:12;6538:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6538:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6577:9;6593:1;6589;:5;;;;;;6577:17;;6701:1;6694:8;;;6365:345;;;;;:::o;15282:7307::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
bzzr://c20324aaedbacce2ba24c88f3d64177ac52bc1407c4bd979be0e922567381e14
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
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.