Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 99 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer | 12282247 | 1775 days ago | IN | 0 ETH | 0.003229 | ||||
| Transfer | 12282237 | 1775 days ago | IN | 0 ETH | 0.00836913 | ||||
| Transfer | 12266002 | 1778 days ago | IN | 0 ETH | 0.00587185 | ||||
| Transfer | 12265789 | 1778 days ago | IN | 0 ETH | 0.00576057 | ||||
| Transfer | 12265789 | 1778 days ago | IN | 0 ETH | 0.00576311 | ||||
| Transfer | 12265786 | 1778 days ago | IN | 0 ETH | 0.00657864 | ||||
| Transfer | 12265786 | 1778 days ago | IN | 0 ETH | 0.00712233 | ||||
| Transfer | 12265785 | 1778 days ago | IN | 0 ETH | 0.00527379 | ||||
| Transfer | 12265734 | 1778 days ago | IN | 0 ETH | 0.00603495 | ||||
| Transfer | 12265714 | 1778 days ago | IN | 0 ETH | 0.00614369 | ||||
| Transfer | 12265710 | 1778 days ago | IN | 0 ETH | 0.00614369 | ||||
| Transfer | 12265708 | 1778 days ago | IN | 0 ETH | 0.00549126 | ||||
| Transfer | 12265646 | 1778 days ago | IN | 0 ETH | 0.00706797 | ||||
| Transfer | 12265646 | 1778 days ago | IN | 0 ETH | 0.0071767 | ||||
| Transfer | 12265646 | 1778 days ago | IN | 0 ETH | 0.00608932 | ||||
| Transfer | 12265551 | 1778 days ago | IN | 0 ETH | 0.0059236 | ||||
| Transfer | 12265550 | 1778 days ago | IN | 0 ETH | 0.00592622 | ||||
| Transfer | 12265536 | 1778 days ago | IN | 0 ETH | 0.00641554 | ||||
| End ICO | 11880918 | 1837 days ago | IN | 0 ETH | 0.01863554 | ||||
| Transfer | 9441023 | 2213 days ago | IN | 0 ETH | 0.00007261 | ||||
| Transfer | 9440988 | 2213 days ago | IN | 0 ETH | 0.00016261 | ||||
| Add Presale Amou... | 9247228 | 2243 days ago | IN | 0 ETH | 0.000983 | ||||
| Add Presale Amou... | 9247199 | 2243 days ago | IN | 0 ETH | 0.0009832 | ||||
| Add Presale Amou... | 9247145 | 2243 days ago | IN | 0 ETH | 0.0009832 | ||||
| Add Presale Amou... | 9152220 | 2260 days ago | IN | 0 ETH | 0.00098339 |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
CrwdToken
Compiler Version
v0.5.12+commit.7709ece9
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2019-12-23
*/
pragma solidity ^0.5.0;
// File: contracts/zeppelin_v1_12_0/ERC20Basic.sol
//copy from https://github.com/OpenZeppelin/openzeppelin-solidity/blob/v1.12.0/contracts/token/ERC20/ERC20Basic.sol
//changes: upgraded pragma
pragma solidity ^0.5.12;
/**
* @title ERC20Basic
* @dev Simpler version of ERC20 interface
* See https://github.com/ethereum/EIPs/issues/179
*/
contract ERC20Basic {
function totalSupply() public view returns (uint256);
function balanceOf(address _who) public view returns (uint256);
function transfer(address _to, uint256 _value) public returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
}
// File: openzeppelin-solidity/contracts/math/SafeMath.sol
/**
* @dev Wrappers over Solidity's arithmetic operations with added overflow
* checks.
*
* Arithmetic operations in Solidity wrap on overflow. This can easily result
* in bugs, because programmers usually assume that an overflow raises an
* error, which is the standard behavior in high level programming languages.
* `SafeMath` restores this intuition by reverting the transaction when an
* operation overflows.
*
* Using this library instead of the unchecked operations eliminates an entire
* class of bugs, so it's recommended to use it always.
*/
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.
*
* _Available since v2.4.0._
*/
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.
*
* _Available since v2.4.0._
*/
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.
*
* _Available since v2.4.0._
*/
function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b != 0, errorMessage);
return a % b;
}
}
// File: contracts/zeppelin_v1_12_0/BasicToken.sol
//copy from https://github.com/OpenZeppelin/openzeppelin-solidity/blob/v1.12.0/contracts/token/ERC20/BasicToken.sol
//changes: upgraded pragma, used SafeMath from current openzeppelin
pragma solidity ^0.5.12;
/**
* @title Basic token
* @dev Basic version of StandardToken, with no allowances.
*/
contract BasicToken is ERC20Basic {
using SafeMath for uint256;
mapping(address => uint256) internal balances;
uint256 internal totalSupply_;
/**
* @dev Total number of tokens in existence
*/
function totalSupply() public view returns (uint256) {
return totalSupply_;
}
/**
* @dev Transfer token for a specified address
* @param _to The address to transfer to.
* @param _value The amount to be transferred.
*/
function transfer(address _to, uint256 _value) public returns (bool) {
require(_value <= balances[msg.sender], "too little");
require(_to != address(0));
balances[msg.sender] = balances[msg.sender].sub(_value);
balances[_to] = balances[_to].add(_value);
emit Transfer(msg.sender, _to, _value);
return true;
}
/**
* @dev Gets the balance of the specified address.
* @param _owner The address to query the the balance of.
* @return An uint256 representing the amount owned by the passed address.
*/
function balanceOf(address _owner) public view returns (uint256) {
return balances[_owner];
}
}
// File: contracts/zeppelin_v1_12_0/ERC20.sol
//copy from https://github.com/OpenZeppelin/openzeppelin-solidity/blob/v1.12.0/contracts/token/ERC20/ERC20.sol
//changes: upgraded pragma
pragma solidity ^0.5.12;
/**
* @title ERC20 interface
* @dev see https://github.com/ethereum/EIPs/issues/20
*/
contract ERC20 is ERC20Basic {
function allowance(address _owner, address _spender)
public view returns (uint256);
function transferFrom(address _from, address _to, uint256 _value)
public returns (bool);
function approve(address _spender, uint256 _value) public returns (bool);
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
}
// File: contracts/zeppelin_v1_12_0/StandardToken.sol
//copy from https://github.com/OpenZeppelin/openzeppelin-solidity/blob/v1.12.0/contracts/token/ERC20/StandardToken.sol
//changes: upgraded pragma
pragma solidity ^0.5.12;
/**
* @title Standard ERC20 token
*
* @dev Implementation of the basic standard token.
* https://github.com/ethereum/EIPs/issues/20
* Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
*/
contract StandardToken is ERC20, BasicToken {
mapping (address => mapping (address => uint256)) internal allowed;
/**
* @dev Transfer tokens from one address to another
* @param _from address The address which you want to send tokens from
* @param _to address The address which you want to transfer to
* @param _value uint256 the amount of tokens to be transferred
*/
function transferFrom(
address _from,
address _to,
uint256 _value
)
public
returns (bool)
{
require(_value <= balances[_from]);
require(_value <= allowed[_from][msg.sender]);
require(_to != address(0));
balances[_from] = balances[_from].sub(_value);
balances[_to] = balances[_to].add(_value);
allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
emit Transfer(_from, _to, _value);
return true;
}
/**
* @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
* 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
* @param _spender The address which will spend the funds.
* @param _value The amount of tokens to be spent.
*/
function approve(address _spender, uint256 _value) public returns (bool) {
allowed[msg.sender][_spender] = _value;
emit Approval(msg.sender, _spender, _value);
return true;
}
/**
* @dev Function to check the amount of tokens that an owner allowed to a spender.
* @param _owner address The address which owns the funds.
* @param _spender address The address which will spend the funds.
* @return A uint256 specifying the amount of tokens still available for the spender.
*/
function allowance(
address _owner,
address _spender
)
public
view
returns (uint256)
{
return allowed[_owner][_spender];
}
/**
* @dev Increase the amount of tokens that an owner allowed to a spender.
* approve should be called when allowed[_spender] == 0. To increment
* allowed value is better to use this function to avoid 2 calls (and wait until
* the first transaction is mined)
* From MonolithDAO Token.sol
* @param _spender The address which will spend the funds.
* @param _addedValue The amount of tokens to increase the allowance by.
*/
function increaseApproval(
address _spender,
uint256 _addedValue
)
public
returns (bool)
{
allowed[msg.sender][_spender] = (
allowed[msg.sender][_spender].add(_addedValue));
emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
return true;
}
/**
* @dev Decrease the amount of tokens that an owner allowed to a spender.
* approve should be called when allowed[_spender] == 0. To decrement
* allowed value is better to use this function to avoid 2 calls (and wait until
* the first transaction is mined)
* From MonolithDAO Token.sol
* @param _spender The address which will spend the funds.
* @param _subtractedValue The amount of tokens to decrease the allowance by.
*/
function decreaseApproval(
address _spender,
uint256 _subtractedValue
)
public
returns (bool)
{
uint256 oldValue = allowed[msg.sender][_spender];
if (_subtractedValue >= oldValue) {
allowed[msg.sender][_spender] = 0;
} else {
allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
}
emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
return true;
}
}
// File: contracts\CrwdToken.sol
/*
Implements ERC 20 Token standard: https://github.com/ethereum/EIPs/issues/20.
*/
pragma solidity ^0.5.12;
contract CrwdToken is StandardToken {
// data structures
enum States {
Initial, // deployment time
ValuationSet,
Ico, // whitelist addresses, accept funds, update balances
Underfunded, // ICO time finished and minimal amount not raised
Operational, // production phase
Paused // for contract upgrades
}
mapping(address => uint256) public ethPossibleRefunds;
uint256 public soldTokens;
string public constant name = "CRWDToken";
string public constant symbol = "CRWT";
uint8 public constant decimals = 18;
mapping(address => bool) public whitelist;
address public teamTimeLock;
address public devTimeLock;
address public countryTimeLock;
address public miscNotLocked;
address public stateControl;
address public whitelistControl;
address public withdrawControl;
address public tokenAssignmentControl;
States public state;
uint256 public weiICOMinimum;
uint256 public weiICOMaximum;
uint256 public silencePeriod;
uint256 public startAcceptingFundsBlock;
uint256 public endBlock;
uint256 public ETH_CRWDTOKEN; //number of tokens per ETH
uint256 constant pointMultiplier = 1e18; //100% = 1*10^18 points
uint256 public constant maxTotalSupply = 45000000 * pointMultiplier;
uint256 public constant percentForSale = 50;
event Mint(address indexed to, uint256 amount);
event MintFinished();
bool public mintingFinished = false;
//this creates the contract and stores the owner. it also passes in 3 addresses to be used later during the lifetime of the contract.
constructor(
address _stateControl,
address _whitelistControl,
address _withdrawControl,
address _tokenAssignmentControl,
address _notLocked, //15%
address _lockedTeam, //15%
address _lockedDev, //10%
address _lockedCountry //10%
) public {
stateControl = _stateControl;
whitelistControl = _whitelistControl;
withdrawControl = _withdrawControl;
tokenAssignmentControl = _tokenAssignmentControl;
moveToState(States.Initial);
weiICOMinimum = 0;
//to be overridden
weiICOMaximum = 0;
endBlock = 0;
ETH_CRWDTOKEN = 0;
totalSupply_ = 0;
soldTokens = 0;
teamTimeLock = _lockedTeam;
devTimeLock = _lockedDev;
countryTimeLock = _lockedCountry;
miscNotLocked = _notLocked;
}
event Whitelisted(address addr);
event StateTransition(States oldState, States newState);
modifier onlyWhitelist() {
require(msg.sender == whitelistControl, "only whitelisted wallets");
_;
}
modifier onlyStateControl() {
require(msg.sender == stateControl, "only state-controller");
_;
}
modifier onlyTokenAssignmentControl() {
require(msg.sender == tokenAssignmentControl, "only assignment controller");
_;
}
modifier onlyWithdraw() {
require(msg.sender == withdrawControl, "only withdraw controller");
_;
}
modifier requireState(States _requiredState) {
require(state == _requiredState, "invalid token state");
_;
}
modifier requireAnyOfTwoStates(States _requiredState1, States _requiredState2) {
require(state == _requiredState1 || state == _requiredState2, "wrong token state");
_;
}
/**
BEGIN ICO functions
*/
//this is the main funding function, it updates the balances of tokens during the ICO.
//no particular incentive schemes have been implemented here
//it is only accessible during the "ICO" phase.
function() external payable
requireState(States.Ico)
{
require(whitelist[msg.sender] == true, "not whitelisted");
require(address(this).balance <= weiICOMaximum, "weiICOMaximum");
//note that msg.value is already included in address(this).balance
require(block.number < endBlock, "endBlock reached");
require(block.number >= startAcceptingFundsBlock, "startBlock future");
uint256 basisTokens = msg.value.mul(ETH_CRWDTOKEN);
issueTokensToUser(msg.sender, basisTokens);
ethPossibleRefunds[msg.sender] = ethPossibleRefunds[msg.sender].add(msg.value);
}
function issueTokensToUser(address beneficiary, uint256 amount)
internal
{
balances[beneficiary] = balances[beneficiary].add(amount);
soldTokens = soldTokens.add(amount);
totalSupply_ = totalSupply_.add(amount.mul(100).div(percentForSale));
emit Mint(beneficiary, amount);
emit Transfer(address(0x0), beneficiary, amount);
}
function issuePercentToReserve(address beneficiary, uint256 percentOfSold)
internal
{
uint256 amount = totalSupply_.mul(percentOfSold).div(100);
balances[beneficiary] = balances[beneficiary].add(amount);
emit Mint(beneficiary, amount);
emit Transfer(address(0x0), beneficiary, amount);
}
function moveToState(States _newState)
internal
{
emit StateTransition(state, _newState);
state = _newState;
}
// ICO contract configuration function
// newEthICOMinimum is the minimum amount of funds to raise
// newEthICOMaximum is the maximum amount of funds to raise
// silencePeriod is a number of blocks to wait after starting the ICO. No funds are accepted during the silence period. It can be set to zero.
// newEndBlock is the absolute block number at which the ICO must stop. It must be set after now + silence period.
function updateEthICOThresholds(uint256 _newWeiICOMinimum, uint256 _newWeiICOMaximum, uint256 _silencePeriod, uint256 _newEndBlock)
public
onlyStateControl
{
require(state == States.Initial || state == States.ValuationSet, "invalid state");
require(_newWeiICOMaximum > _newWeiICOMinimum, "weiMax");
require(block.number + silencePeriod < _newEndBlock, "high silence");
require(block.number < _newEndBlock, "past endBock");
weiICOMinimum = _newWeiICOMinimum;
weiICOMaximum = _newWeiICOMaximum;
silencePeriod = _silencePeriod;
endBlock = _newEndBlock;
// initial conversion rate of ETH_CRWDTOKEN set now, this is used during the Ico phase.
ETH_CRWDTOKEN = maxTotalSupply.mul(percentForSale).div(100).div(weiICOMaximum);
// check pointMultiplier
moveToState(States.ValuationSet);
}
function startICO()
public
onlyStateControl
requireState(States.ValuationSet)
{
require(block.number < endBlock, "ended");
require(block.number + silencePeriod < endBlock, "ended w silence");
startAcceptingFundsBlock = block.number + silencePeriod;
moveToState(States.Ico);
}
function addPresaleAmount(address beneficiary, uint256 amount)
public
onlyTokenAssignmentControl
{
require(state == States.ValuationSet || state == States.Ico, "invalid token state");
issueTokensToUser(beneficiary, amount);
}
function endICO()
public
onlyStateControl
requireState(States.Ico)
{
if (address(this).balance < weiICOMinimum) {
moveToState(States.Underfunded);
}
else {
burnAndFinish();
moveToState(States.Operational);
}
}
function anyoneEndICO()
public
requireState(States.Ico)
{
require(block.number > endBlock, "not ended");
if (address(this).balance < weiICOMinimum) {
moveToState(States.Underfunded);
}
else {
burnAndFinish();
moveToState(States.Operational);
}
}
function burnAndFinish()
internal
{
issuePercentToReserve(teamTimeLock, 15);
issuePercentToReserve(devTimeLock, 10);
issuePercentToReserve(countryTimeLock, 10);
issuePercentToReserve(miscNotLocked, 15);
totalSupply_ = soldTokens
.add(balances[teamTimeLock])
.add(balances[devTimeLock])
.add(balances[countryTimeLock])
.add(balances[miscNotLocked]);
mintingFinished = true;
emit MintFinished();
}
function addToWhitelist(address _whitelisted)
public
onlyWhitelist
// requireState(States.Ico)
{
whitelist[_whitelisted] = true;
emit Whitelisted(_whitelisted);
}
//emergency pause for the ICO
function pause()
public
onlyStateControl
requireState(States.Ico)
{
moveToState(States.Paused);
}
//in case we want to completely abort
function abort()
public
onlyStateControl
requireState(States.Paused)
{
moveToState(States.Underfunded);
}
//un-pause
function resumeICO()
public
onlyStateControl
requireState(States.Paused)
{
moveToState(States.Ico);
}
//in case of a failed/aborted ICO every investor can get back their money
function requestRefund()
public
requireState(States.Underfunded)
{
require(ethPossibleRefunds[msg.sender] > 0, "nothing to refund");
//there is no need for updateAccount(msg.sender) since the token never became active.
uint256 payout = ethPossibleRefunds[msg.sender];
//reverse calculate the amount to pay out
ethPossibleRefunds[msg.sender] = 0;
msg.sender.transfer(payout);
}
//after the ico has run its course, the withdraw account can drain funds bit-by-bit as needed.
function requestPayout(uint _amount)
public
onlyWithdraw //very important!
requireState(States.Operational)
{
msg.sender.transfer(_amount);
}
//if this contract gets a balance in some other ERC20 contract - or even iself - then we can rescue it.
function rescueToken(ERC20Basic _foreignToken, address _to)
public
onlyTokenAssignmentControl
requireState(States.Operational)
{
_foreignToken.transfer(_to, _foreignToken.balanceOf(address(this)));
}
/**
END ICO functions
*/
/**
BEGIN ERC20 functions
*/
function transfer(address _to, uint256 _value)
public
requireAnyOfTwoStates(States.Operational, States.Ico)
returns (bool success) {
return super.transfer(_to, _value);
}
function transferFrom(address _from, address _to, uint256 _value)
public
requireAnyOfTwoStates(States.Operational, States.Ico)
returns (bool success) {
return super.transferFrom(_from, _to, _value);
}
function balanceOf(address _account)
public
view
returns (uint256 balance) {
return balances[_account];
}
/**
END ERC20 functions
*/
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_stateControl","type":"address"},{"internalType":"address","name":"_whitelistControl","type":"address"},{"internalType":"address","name":"_withdrawControl","type":"address"},{"internalType":"address","name":"_tokenAssignmentControl","type":"address"},{"internalType":"address","name":"_notLocked","type":"address"},{"internalType":"address","name":"_lockedTeam","type":"address"},{"internalType":"address","name":"_lockedDev","type":"address"},{"internalType":"address","name":"_lockedCountry","type":"address"}],"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":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum CrwdToken.States","name":"oldState","type":"uint8"},{"indexed":false,"internalType":"enum CrwdToken.States","name":"newState","type":"uint8"}],"name":"StateTransition","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":"address","name":"addr","type":"address"}],"name":"Whitelisted","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[],"name":"ETH_CRWDTOKEN","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"abort","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addPresaleAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_whitelisted","type":"address"}],"name":"addToWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"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":[],"name":"anyoneEndICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","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":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"countryTimeLock","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"decreaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"devTimeLock","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"endBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"endICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ethPossibleRefunds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"miscNotLocked","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"percentForSale","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"requestPayout","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"requestRefund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract ERC20Basic","name":"_foreignToken","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"name":"rescueToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"resumeICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"silencePeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"soldTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startAcceptingFundsBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"startICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"state","outputs":[{"internalType":"enum CrwdToken.States","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stateControl","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"teamTimeLock","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenAssignmentControl","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_newWeiICOMinimum","type":"uint256"},{"internalType":"uint256","name":"_newWeiICOMaximum","type":"uint256"},{"internalType":"uint256","name":"_silencePeriod","type":"uint256"},{"internalType":"uint256","name":"_newEndBlock","type":"uint256"}],"name":"updateEthICOThresholds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"weiICOMaximum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"weiICOMinimum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"whitelistControl","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"withdrawControl","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}]Contract Creation Code
60806040526000601460006101000a81548160ff0219169083151502179055503480156200002c57600080fd5b50604051620047ab380380620047ab83398181016040526101008110156200005357600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505087600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555086600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001c060006200030260201b60201c565b6000600e819055506000600f81905550600060128190555060006013819055506000600181905550600060048190555082600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505050505062000395565b7f3a779de46631dd65116ae538600f1bc3c338200c6aef638429b5de43301c28f7600d60149054906101000a900460ff1682604051808360058111156200034557fe5b60ff1681526020018260058111156200035a57fe5b60ff1681526020019250505060405180910390a180600d60146101000a81548160ff021916908360058111156200038d57fe5b021790555050565b61440680620003a56000396000f3fe6080604052600436106102675760003560e01c80637b807a5111610144578063c19d93fb116100b6578063d73dd6231161007a578063d73dd62314611087578063d87d2a66146110fa578063dd62ed3e14611125578063e43252d7146111aa578063f4e68486146111fb578063f8b1fb121461122657610267565b8063c19d93fb14610f5a578063c8c2ed5414610f93578063cc577f3814610fea578063d5cef13314611045578063d6fea3061461105c57610267565b806390c79af91161010857806390c79af914610d8157806395d89b4114610dac5780639b19251a14610e3c5780639cbd7da514610ea5578063a9059cbb14610ebc578063b21ed44e14610f2f57610267565b80637b807a5114610c685780637fa8c15814610cbf5780637fe98ae014610cd65780638456cb5914610d2f5780638f97e3a014610d4657610267565b806338dacaab116101dd57806359d3dad9116101a157806359d3dad914610a605780635ed9ebfc14610ab7578063650d22e814610ae25780636618846314610b395780636aa9c82b14610bac57806370a0823114610c0357610267565b806338dacaab146108ff5780633cae09ac1461095657806341f1d4dd146109815780634707d000146109d85780634f24840914610a4957610267565b806318160ddd1161022f57806318160ddd146107b757806323b872dd146107e25780632ab4d05214610875578063313ce567146108a057806332b3c323146108d157806335a063b4146108e857610267565b806304b2bf991461060357806305d2035b1461065a57806306fdde0314610689578063083c632314610719578063095ea7b314610744575b600280600581111561027557fe5b600d60149054906101000a900460ff16600581111561029057fe5b14610303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c696420746f6b656e2073746174650000000000000000000000000081525060200191505060405180910390fd5b60011515600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146103c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6e6f742077686974656c6973746564000000000000000000000000000000000081525060200191505060405180910390fd5b600f543073ffffffffffffffffffffffffffffffffffffffff16311115610458576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f77656949434f4d6178696d756d0000000000000000000000000000000000000081525060200191505060405180910390fd5b60125443106104cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f656e64426c6f636b20726561636865640000000000000000000000000000000081525060200191505060405180910390fd5b601154431015610547576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f7374617274426c6f636b2066757475726500000000000000000000000000000081525060200191505060405180910390fd5b600061055e6013543461128b90919063ffffffff16565b905061056a3382611311565b6105bc34600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114b890919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050005b34801561060f57600080fd5b50610618611540565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561066657600080fd5b5061066f611566565b604051808215151515815260200191505060405180910390f35b34801561069557600080fd5b5061069e611579565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106de5780820151818401526020810190506106c3565b50505050905090810190601f16801561070b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561072557600080fd5b5061072e6115b2565b6040518082815260200191505060405180910390f35b34801561075057600080fd5b5061079d6004803603604081101561076757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115b8565b604051808215151515815260200191505060405180910390f35b3480156107c357600080fd5b506107cc6116aa565b6040518082815260200191505060405180910390f35b3480156107ee57600080fd5b5061085b6004803603606081101561080557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116b4565b604051808215151515815260200191505060405180910390f35b34801561088157600080fd5b5061088a611799565b6040518082815260200191505060405180910390f35b3480156108ac57600080fd5b506108b56117ab565b604051808260ff1660ff16815260200191505060405180910390f35b3480156108dd57600080fd5b506108e66117b0565b005b3480156108f457600080fd5b506108fd611909565b005b34801561090b57600080fd5b50610914611a75565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561096257600080fd5b5061096b611a9b565b6040518082815260200191505060405180910390f35b34801561098d57600080fd5b50610996611aa1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109e457600080fd5b50610a47600480360360408110156109fb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ac7565b005b348015610a5557600080fd5b50610a5e611da5565b005b348015610a6c57600080fd5b50610a75611f4a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610ac357600080fd5b50610acc611f70565b6040518082815260200191505060405180910390f35b348015610aee57600080fd5b50610af7611f76565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b4557600080fd5b50610b9260048036036040811015610b5c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f9c565b604051808215151515815260200191505060405180910390f35b348015610bb857600080fd5b50610bc161222c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c0f57600080fd5b50610c5260048036036020811015610c2657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612252565b6040518082815260200191505060405180910390f35b348015610c7457600080fd5b50610c7d61229a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610ccb57600080fd5b50610cd46122c0565b005b348015610ce257600080fd5b50610d2d60048036036080811015610cf957600080fd5b8101908080359060200190929190803590602001909291908035906020019092919080359060200190929190505050612529565b005b348015610d3b57600080fd5b50610d44612895565b005b348015610d5257600080fd5b50610d7f60048036036020811015610d6957600080fd5b8101908080359060200190929190505050612a01565b005b348015610d8d57600080fd5b50610d96612bab565b6040518082815260200191505060405180910390f35b348015610db857600080fd5b50610dc1612bb1565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610e01578082015181840152602081019050610de6565b50505050905090810190601f168015610e2e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610e4857600080fd5b50610e8b60048036036020811015610e5f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612bea565b604051808215151515815260200191505060405180910390f35b348015610eb157600080fd5b50610eba612c0a565b005b348015610ec857600080fd5b50610f1560048036036040811015610edf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612d76565b604051808215151515815260200191505060405180910390f35b348015610f3b57600080fd5b50610f44612e59565b6040518082815260200191505060405180910390f35b348015610f6657600080fd5b50610f6f612e5e565b60405180826005811115610f7f57fe5b60ff16815260200191505060405180910390f35b348015610f9f57600080fd5b50610fa8612e71565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610ff657600080fd5b506110436004803603604081101561100d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612e97565b005b34801561105157600080fd5b5061105a613033565b005b34801561106857600080fd5b50611071613258565b6040518082815260200191505060405180910390f35b34801561109357600080fd5b506110e0600480360360408110156110aa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061325e565b604051808215151515815260200191505060405180910390f35b34801561110657600080fd5b5061110f61345a565b6040518082815260200191505060405180910390f35b34801561113157600080fd5b506111946004803603604081101561114857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613460565b6040518082815260200191505060405180910390f35b3480156111b657600080fd5b506111f9600480360360208110156111cd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506134e7565b005b34801561120757600080fd5b50611210613668565b6040518082815260200191505060405180910390f35b34801561123257600080fd5b506112756004803603602081101561124957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061366e565b6040518082815260200191505060405180910390f35b60008083141561129e576000905061130b565b60008284029050828482816112af57fe5b0414611306576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806143b16021913960400191505060405180910390fd5b809150505b92915050565b611362816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114b890919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113b9816004546114b890919063ffffffff16565b6004819055506113fa6113e960326113db60648561128b90919063ffffffff16565b61368690919063ffffffff16565b6001546114b890919063ffffffff16565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040518082815260200191505060405180910390a28173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600080828401905083811015611536576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601460009054906101000a900460ff1681565b6040518060400160405280600981526020017f43525744546f6b656e000000000000000000000000000000000000000000000081525081565b60125481565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b6000600460028160058111156116c657fe5b600d60149054906101000a900460ff1660058111156116e157fe5b148061171157508060058111156116f457fe5b600d60149054906101000a900460ff16600581111561170f57fe5b145b611783576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f77726f6e6720746f6b656e20737461746500000000000000000000000000000081525060200191505060405180910390fd5b61178e8686866136d0565b925050509392505050565b670de0b6b3a76400006302aea5400281565b601281565b60028060058111156117be57fe5b600d60149054906101000a900460ff1660058111156117d957fe5b1461184c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c696420746f6b656e2073746174650000000000000000000000000081525060200191505060405180910390fd5b60125443116118c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f6e6f7420656e646564000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600e543073ffffffffffffffffffffffffffffffffffffffff163110156118f3576118ee6003613a85565b611906565b6118fb613b15565b6119056004613a85565b5b50565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6f6e6c792073746174652d636f6e74726f6c6c6572000000000000000000000081525060200191505060405180910390fd5b60058060058111156119da57fe5b600d60149054906101000a900460ff1660058111156119f557fe5b14611a68576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c696420746f6b656e2073746174650000000000000000000000000081525060200191505060405180910390fd5b611a726003613a85565b50565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60105481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f6f6e6c792061737369676e6d656e7420636f6e74726f6c6c657200000000000081525060200191505060405180910390fd5b6004806005811115611b9857fe5b600d60149054906101000a900460ff166005811115611bb357fe5b14611c26576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c696420746f6b656e2073746174650000000000000000000000000081525060200191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb838573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cc057600080fd5b505afa158015611cd4573d6000803e3d6000fd5b505050506040513d6020811015611cea57600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611d6457600080fd5b505af1158015611d78573d6000803e3d6000fd5b505050506040513d6020811015611d8e57600080fd5b810190808051906020019092919050505050505050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e68576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6f6e6c792073746174652d636f6e74726f6c6c6572000000000000000000000081525060200191505060405180910390fd5b6002806005811115611e7657fe5b600d60149054906101000a900460ff166005811115611e9157fe5b14611f04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c696420746f6b656e2073746174650000000000000000000000000081525060200191505060405180910390fd5b600e543073ffffffffffffffffffffffffffffffffffffffff16311015611f3457611f2f6003613a85565b611f47565b611f3c613b15565b611f466004613a85565b5b50565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083106120ac576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612140565b6120bf8382613de390919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612383576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6f6e6c792073746174652d636f6e74726f6c6c6572000000000000000000000081525060200191505060405180910390fd5b600180600581111561239157fe5b600d60149054906101000a900460ff1660058111156123ac57fe5b1461241f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c696420746f6b656e2073746174650000000000000000000000000081525060200191505060405180910390fd5b6012544310612496576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f656e64656400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b601254601054430110612511576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f656e64656420772073696c656e6365000000000000000000000000000000000081525060200191505060405180910390fd5b60105443016011819055506125266002613a85565b50565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6f6e6c792073746174652d636f6e74726f6c6c6572000000000000000000000081525060200191505060405180910390fd5b600060058111156125f957fe5b600d60149054906101000a900460ff16600581111561261457fe5b148061264557506001600581111561262857fe5b600d60149054906101000a900460ff16600581111561264357fe5b145b6126b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f696e76616c69642073746174650000000000000000000000000000000000000081525060200191505060405180910390fd5b83831161272c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f7765694d6178000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806010544301106127a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f686967682073696c656e6365000000000000000000000000000000000000000081525060200191505060405180910390fd5b80431061281a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f7061737420656e64426f636b000000000000000000000000000000000000000081525060200191505060405180910390fd5b83600e8190555082600f81905550816010819055508060128190555061287f600f5461287160646128636032670de0b6b3a76400006302aea5400261128b90919063ffffffff16565b61368690919063ffffffff16565b61368690919063ffffffff16565b60138190555061288f6001613a85565b50505050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612958576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6f6e6c792073746174652d636f6e74726f6c6c6572000000000000000000000081525060200191505060405180910390fd5b600280600581111561296657fe5b600d60149054906101000a900460ff16600581111561298157fe5b146129f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c696420746f6b656e2073746174650000000000000000000000000081525060200191505060405180910390fd5b6129fe6005613a85565b50565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612ac4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f6f6e6c7920776974686472617720636f6e74726f6c6c6572000000000000000081525060200191505060405180910390fd5b6004806005811115612ad257fe5b600d60149054906101000a900460ff166005811115612aed57fe5b14612b60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c696420746f6b656e2073746174650000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015612ba6573d6000803e3d6000fd5b505050565b60115481565b6040518060400160405280600481526020017f435257540000000000000000000000000000000000000000000000000000000081525081565b60056020528060005260406000206000915054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612ccd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6f6e6c792073746174652d636f6e74726f6c6c6572000000000000000000000081525060200191505060405180910390fd5b6005806005811115612cdb57fe5b600d60149054906101000a900460ff166005811115612cf657fe5b14612d69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c696420746f6b656e2073746174650000000000000000000000000081525060200191505060405180910390fd5b612d736002613a85565b50565b600060046002816005811115612d8857fe5b600d60149054906101000a900460ff166005811115612da357fe5b1480612dd35750806005811115612db657fe5b600d60149054906101000a900460ff166005811115612dd157fe5b145b612e45576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f77726f6e6720746f6b656e20737461746500000000000000000000000000000081525060200191505060405180910390fd5b612e4f8585613e2d565b9250505092915050565b603281565b600d60149054906101000a900460ff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612f5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f6f6e6c792061737369676e6d656e7420636f6e74726f6c6c657200000000000081525060200191505060405180910390fd5b60016005811115612f6757fe5b600d60149054906101000a900460ff166005811115612f8257fe5b1480612fb3575060026005811115612f9657fe5b600d60149054906101000a900460ff166005811115612fb157fe5b145b613025576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c696420746f6b656e2073746174650000000000000000000000000081525060200191505060405180910390fd5b61302f8282611311565b5050565b600380600581111561304157fe5b600d60149054906101000a900460ff16600581111561305c57fe5b146130cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c696420746f6b656e2073746174650000000000000000000000000081525060200191505060405180910390fd5b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411613184576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f6e6f7468696e6720746f20726566756e6400000000000000000000000000000081525060200191505060405180910390fd5b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613253573d6000803e3d6000fd5b505050565b600f5481565b60006132ef82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114b890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b60135481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146135aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f6f6e6c792077686974656c69737465642077616c6c657473000000000000000081525060200191505060405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507faab7954e9d246b167ef88aeddad35209ca2489d95a8aeb59e288d9b19fae5a5481604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600e5481565b60036020528060005260406000206000915090505481565b60006136c883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506140b2565b905092915050565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561371d57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156137a657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156137e057600080fd5b613831826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613de390919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506138c4826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114b890919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061399582600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613de390919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b7f3a779de46631dd65116ae538600f1bc3c338200c6aef638429b5de43301c28f7600d60149054906101000a900460ff168260405180836005811115613ac757fe5b60ff168152602001826005811115613adb57fe5b60ff1681526020019250505060405180910390a180600d60146101000a81548160ff02191690836005811115613b0d57fe5b021790555050565b613b42600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f614178565b613b6f600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a614178565b613b9c600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a614178565b613bc9600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f614178565b613d94600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d86600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d78600080600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d6a600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546004546114b890919063ffffffff16565b6114b890919063ffffffff16565b6114b890919063ffffffff16565b6114b890919063ffffffff16565b6001819055506001601460006101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a1565b6000613e2583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506142f0565b905092915050565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115613ee3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f746f6f206c6974746c650000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613f1d57600080fd5b613f6e826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613de390919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614001826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114b890919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000808311829061415e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015614123578082015181840152602081019050614108565b50505050905090810190601f1680156141505780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161416a57fe5b049050809150509392505050565b60006141a260646141948460015461128b90919063ffffffff16565b61368690919063ffffffff16565b90506141f5816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114b890919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600083831115829061439d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015614362578082015181840152602081019050614347565b50505050905090810190601f16801561438f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a7231582015657c000028fe70a9622a7d92e41d55208226f3a0de58bc4f8aa17d85f3f8cd64736f6c634300050c00320000000000000000000000006f136a56dd00f89207cbb9d20d32cc493b2c5c2f000000000000000000000000fb2330a6c58a792b27997481ab7097978adbbdb80000000000000000000000009a1d2f0f3a882e38fbfe4b74d6295576ea866e37000000000000000000000000bf72a1f9edb56188ec69bf790bacae596a5d1e1b0000000000000000000000003c90233869f9819b925896fc5539d1b4380c04eb0000000000000000000000004eb6716f6fa6ed53c7e6d77ad78be0630ee9a397000000000000000000000000eda8af69383cb55db25e8427ccffc43bf9faea870000000000000000000000007f2b19a8c6f61f417ba2ffe8c6f2f9cb3476e2ef
Deployed Bytecode
0x6080604052600436106102675760003560e01c80637b807a5111610144578063c19d93fb116100b6578063d73dd6231161007a578063d73dd62314611087578063d87d2a66146110fa578063dd62ed3e14611125578063e43252d7146111aa578063f4e68486146111fb578063f8b1fb121461122657610267565b8063c19d93fb14610f5a578063c8c2ed5414610f93578063cc577f3814610fea578063d5cef13314611045578063d6fea3061461105c57610267565b806390c79af91161010857806390c79af914610d8157806395d89b4114610dac5780639b19251a14610e3c5780639cbd7da514610ea5578063a9059cbb14610ebc578063b21ed44e14610f2f57610267565b80637b807a5114610c685780637fa8c15814610cbf5780637fe98ae014610cd65780638456cb5914610d2f5780638f97e3a014610d4657610267565b806338dacaab116101dd57806359d3dad9116101a157806359d3dad914610a605780635ed9ebfc14610ab7578063650d22e814610ae25780636618846314610b395780636aa9c82b14610bac57806370a0823114610c0357610267565b806338dacaab146108ff5780633cae09ac1461095657806341f1d4dd146109815780634707d000146109d85780634f24840914610a4957610267565b806318160ddd1161022f57806318160ddd146107b757806323b872dd146107e25780632ab4d05214610875578063313ce567146108a057806332b3c323146108d157806335a063b4146108e857610267565b806304b2bf991461060357806305d2035b1461065a57806306fdde0314610689578063083c632314610719578063095ea7b314610744575b600280600581111561027557fe5b600d60149054906101000a900460ff16600581111561029057fe5b14610303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c696420746f6b656e2073746174650000000000000000000000000081525060200191505060405180910390fd5b60011515600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146103c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6e6f742077686974656c6973746564000000000000000000000000000000000081525060200191505060405180910390fd5b600f543073ffffffffffffffffffffffffffffffffffffffff16311115610458576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f77656949434f4d6178696d756d0000000000000000000000000000000000000081525060200191505060405180910390fd5b60125443106104cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f656e64426c6f636b20726561636865640000000000000000000000000000000081525060200191505060405180910390fd5b601154431015610547576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f7374617274426c6f636b2066757475726500000000000000000000000000000081525060200191505060405180910390fd5b600061055e6013543461128b90919063ffffffff16565b905061056a3382611311565b6105bc34600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114b890919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050005b34801561060f57600080fd5b50610618611540565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561066657600080fd5b5061066f611566565b604051808215151515815260200191505060405180910390f35b34801561069557600080fd5b5061069e611579565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106de5780820151818401526020810190506106c3565b50505050905090810190601f16801561070b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561072557600080fd5b5061072e6115b2565b6040518082815260200191505060405180910390f35b34801561075057600080fd5b5061079d6004803603604081101561076757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115b8565b604051808215151515815260200191505060405180910390f35b3480156107c357600080fd5b506107cc6116aa565b6040518082815260200191505060405180910390f35b3480156107ee57600080fd5b5061085b6004803603606081101561080557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116b4565b604051808215151515815260200191505060405180910390f35b34801561088157600080fd5b5061088a611799565b6040518082815260200191505060405180910390f35b3480156108ac57600080fd5b506108b56117ab565b604051808260ff1660ff16815260200191505060405180910390f35b3480156108dd57600080fd5b506108e66117b0565b005b3480156108f457600080fd5b506108fd611909565b005b34801561090b57600080fd5b50610914611a75565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561096257600080fd5b5061096b611a9b565b6040518082815260200191505060405180910390f35b34801561098d57600080fd5b50610996611aa1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109e457600080fd5b50610a47600480360360408110156109fb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ac7565b005b348015610a5557600080fd5b50610a5e611da5565b005b348015610a6c57600080fd5b50610a75611f4a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610ac357600080fd5b50610acc611f70565b6040518082815260200191505060405180910390f35b348015610aee57600080fd5b50610af7611f76565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b4557600080fd5b50610b9260048036036040811015610b5c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f9c565b604051808215151515815260200191505060405180910390f35b348015610bb857600080fd5b50610bc161222c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c0f57600080fd5b50610c5260048036036020811015610c2657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612252565b6040518082815260200191505060405180910390f35b348015610c7457600080fd5b50610c7d61229a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610ccb57600080fd5b50610cd46122c0565b005b348015610ce257600080fd5b50610d2d60048036036080811015610cf957600080fd5b8101908080359060200190929190803590602001909291908035906020019092919080359060200190929190505050612529565b005b348015610d3b57600080fd5b50610d44612895565b005b348015610d5257600080fd5b50610d7f60048036036020811015610d6957600080fd5b8101908080359060200190929190505050612a01565b005b348015610d8d57600080fd5b50610d96612bab565b6040518082815260200191505060405180910390f35b348015610db857600080fd5b50610dc1612bb1565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610e01578082015181840152602081019050610de6565b50505050905090810190601f168015610e2e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610e4857600080fd5b50610e8b60048036036020811015610e5f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612bea565b604051808215151515815260200191505060405180910390f35b348015610eb157600080fd5b50610eba612c0a565b005b348015610ec857600080fd5b50610f1560048036036040811015610edf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612d76565b604051808215151515815260200191505060405180910390f35b348015610f3b57600080fd5b50610f44612e59565b6040518082815260200191505060405180910390f35b348015610f6657600080fd5b50610f6f612e5e565b60405180826005811115610f7f57fe5b60ff16815260200191505060405180910390f35b348015610f9f57600080fd5b50610fa8612e71565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610ff657600080fd5b506110436004803603604081101561100d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612e97565b005b34801561105157600080fd5b5061105a613033565b005b34801561106857600080fd5b50611071613258565b6040518082815260200191505060405180910390f35b34801561109357600080fd5b506110e0600480360360408110156110aa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061325e565b604051808215151515815260200191505060405180910390f35b34801561110657600080fd5b5061110f61345a565b6040518082815260200191505060405180910390f35b34801561113157600080fd5b506111946004803603604081101561114857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613460565b6040518082815260200191505060405180910390f35b3480156111b657600080fd5b506111f9600480360360208110156111cd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506134e7565b005b34801561120757600080fd5b50611210613668565b6040518082815260200191505060405180910390f35b34801561123257600080fd5b506112756004803603602081101561124957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061366e565b6040518082815260200191505060405180910390f35b60008083141561129e576000905061130b565b60008284029050828482816112af57fe5b0414611306576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806143b16021913960400191505060405180910390fd5b809150505b92915050565b611362816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114b890919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113b9816004546114b890919063ffffffff16565b6004819055506113fa6113e960326113db60648561128b90919063ffffffff16565b61368690919063ffffffff16565b6001546114b890919063ffffffff16565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040518082815260200191505060405180910390a28173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600080828401905083811015611536576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601460009054906101000a900460ff1681565b6040518060400160405280600981526020017f43525744546f6b656e000000000000000000000000000000000000000000000081525081565b60125481565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b6000600460028160058111156116c657fe5b600d60149054906101000a900460ff1660058111156116e157fe5b148061171157508060058111156116f457fe5b600d60149054906101000a900460ff16600581111561170f57fe5b145b611783576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f77726f6e6720746f6b656e20737461746500000000000000000000000000000081525060200191505060405180910390fd5b61178e8686866136d0565b925050509392505050565b670de0b6b3a76400006302aea5400281565b601281565b60028060058111156117be57fe5b600d60149054906101000a900460ff1660058111156117d957fe5b1461184c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c696420746f6b656e2073746174650000000000000000000000000081525060200191505060405180910390fd5b60125443116118c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f6e6f7420656e646564000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600e543073ffffffffffffffffffffffffffffffffffffffff163110156118f3576118ee6003613a85565b611906565b6118fb613b15565b6119056004613a85565b5b50565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6f6e6c792073746174652d636f6e74726f6c6c6572000000000000000000000081525060200191505060405180910390fd5b60058060058111156119da57fe5b600d60149054906101000a900460ff1660058111156119f557fe5b14611a68576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c696420746f6b656e2073746174650000000000000000000000000081525060200191505060405180910390fd5b611a726003613a85565b50565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60105481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f6f6e6c792061737369676e6d656e7420636f6e74726f6c6c657200000000000081525060200191505060405180910390fd5b6004806005811115611b9857fe5b600d60149054906101000a900460ff166005811115611bb357fe5b14611c26576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c696420746f6b656e2073746174650000000000000000000000000081525060200191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb838573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cc057600080fd5b505afa158015611cd4573d6000803e3d6000fd5b505050506040513d6020811015611cea57600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611d6457600080fd5b505af1158015611d78573d6000803e3d6000fd5b505050506040513d6020811015611d8e57600080fd5b810190808051906020019092919050505050505050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e68576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6f6e6c792073746174652d636f6e74726f6c6c6572000000000000000000000081525060200191505060405180910390fd5b6002806005811115611e7657fe5b600d60149054906101000a900460ff166005811115611e9157fe5b14611f04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c696420746f6b656e2073746174650000000000000000000000000081525060200191505060405180910390fd5b600e543073ffffffffffffffffffffffffffffffffffffffff16311015611f3457611f2f6003613a85565b611f47565b611f3c613b15565b611f466004613a85565b5b50565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083106120ac576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612140565b6120bf8382613de390919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612383576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6f6e6c792073746174652d636f6e74726f6c6c6572000000000000000000000081525060200191505060405180910390fd5b600180600581111561239157fe5b600d60149054906101000a900460ff1660058111156123ac57fe5b1461241f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c696420746f6b656e2073746174650000000000000000000000000081525060200191505060405180910390fd5b6012544310612496576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f656e64656400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b601254601054430110612511576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f656e64656420772073696c656e6365000000000000000000000000000000000081525060200191505060405180910390fd5b60105443016011819055506125266002613a85565b50565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6f6e6c792073746174652d636f6e74726f6c6c6572000000000000000000000081525060200191505060405180910390fd5b600060058111156125f957fe5b600d60149054906101000a900460ff16600581111561261457fe5b148061264557506001600581111561262857fe5b600d60149054906101000a900460ff16600581111561264357fe5b145b6126b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f696e76616c69642073746174650000000000000000000000000000000000000081525060200191505060405180910390fd5b83831161272c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f7765694d6178000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806010544301106127a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f686967682073696c656e6365000000000000000000000000000000000000000081525060200191505060405180910390fd5b80431061281a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f7061737420656e64426f636b000000000000000000000000000000000000000081525060200191505060405180910390fd5b83600e8190555082600f81905550816010819055508060128190555061287f600f5461287160646128636032670de0b6b3a76400006302aea5400261128b90919063ffffffff16565b61368690919063ffffffff16565b61368690919063ffffffff16565b60138190555061288f6001613a85565b50505050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612958576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6f6e6c792073746174652d636f6e74726f6c6c6572000000000000000000000081525060200191505060405180910390fd5b600280600581111561296657fe5b600d60149054906101000a900460ff16600581111561298157fe5b146129f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c696420746f6b656e2073746174650000000000000000000000000081525060200191505060405180910390fd5b6129fe6005613a85565b50565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612ac4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f6f6e6c7920776974686472617720636f6e74726f6c6c6572000000000000000081525060200191505060405180910390fd5b6004806005811115612ad257fe5b600d60149054906101000a900460ff166005811115612aed57fe5b14612b60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c696420746f6b656e2073746174650000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015612ba6573d6000803e3d6000fd5b505050565b60115481565b6040518060400160405280600481526020017f435257540000000000000000000000000000000000000000000000000000000081525081565b60056020528060005260406000206000915054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612ccd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6f6e6c792073746174652d636f6e74726f6c6c6572000000000000000000000081525060200191505060405180910390fd5b6005806005811115612cdb57fe5b600d60149054906101000a900460ff166005811115612cf657fe5b14612d69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c696420746f6b656e2073746174650000000000000000000000000081525060200191505060405180910390fd5b612d736002613a85565b50565b600060046002816005811115612d8857fe5b600d60149054906101000a900460ff166005811115612da357fe5b1480612dd35750806005811115612db657fe5b600d60149054906101000a900460ff166005811115612dd157fe5b145b612e45576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f77726f6e6720746f6b656e20737461746500000000000000000000000000000081525060200191505060405180910390fd5b612e4f8585613e2d565b9250505092915050565b603281565b600d60149054906101000a900460ff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612f5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f6f6e6c792061737369676e6d656e7420636f6e74726f6c6c657200000000000081525060200191505060405180910390fd5b60016005811115612f6757fe5b600d60149054906101000a900460ff166005811115612f8257fe5b1480612fb3575060026005811115612f9657fe5b600d60149054906101000a900460ff166005811115612fb157fe5b145b613025576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c696420746f6b656e2073746174650000000000000000000000000081525060200191505060405180910390fd5b61302f8282611311565b5050565b600380600581111561304157fe5b600d60149054906101000a900460ff16600581111561305c57fe5b146130cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c696420746f6b656e2073746174650000000000000000000000000081525060200191505060405180910390fd5b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411613184576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f6e6f7468696e6720746f20726566756e6400000000000000000000000000000081525060200191505060405180910390fd5b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613253573d6000803e3d6000fd5b505050565b600f5481565b60006132ef82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114b890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b60135481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146135aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f6f6e6c792077686974656c69737465642077616c6c657473000000000000000081525060200191505060405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507faab7954e9d246b167ef88aeddad35209ca2489d95a8aeb59e288d9b19fae5a5481604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600e5481565b60036020528060005260406000206000915090505481565b60006136c883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506140b2565b905092915050565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561371d57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156137a657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156137e057600080fd5b613831826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613de390919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506138c4826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114b890919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061399582600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613de390919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b7f3a779de46631dd65116ae538600f1bc3c338200c6aef638429b5de43301c28f7600d60149054906101000a900460ff168260405180836005811115613ac757fe5b60ff168152602001826005811115613adb57fe5b60ff1681526020019250505060405180910390a180600d60146101000a81548160ff02191690836005811115613b0d57fe5b021790555050565b613b42600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f614178565b613b6f600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a614178565b613b9c600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a614178565b613bc9600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f614178565b613d94600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d86600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d78600080600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d6a600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546004546114b890919063ffffffff16565b6114b890919063ffffffff16565b6114b890919063ffffffff16565b6114b890919063ffffffff16565b6001819055506001601460006101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a1565b6000613e2583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506142f0565b905092915050565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115613ee3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f746f6f206c6974746c650000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613f1d57600080fd5b613f6e826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613de390919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614001826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114b890919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000808311829061415e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015614123578082015181840152602081019050614108565b50505050905090810190601f1680156141505780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161416a57fe5b049050809150509392505050565b60006141a260646141948460015461128b90919063ffffffff16565b61368690919063ffffffff16565b90506141f5816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114b890919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600083831115829061439d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015614362578082015181840152602081019050614347565b50505050905090810190601f16801561438f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a7231582015657c000028fe70a9622a7d92e41d55208226f3a0de58bc4f8aa17d85f3f8cd64736f6c634300050c0032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000006f136a56dd00f89207cbb9d20d32cc493b2c5c2f000000000000000000000000fb2330a6c58a792b27997481ab7097978adbbdb80000000000000000000000009a1d2f0f3a882e38fbfe4b74d6295576ea866e37000000000000000000000000bf72a1f9edb56188ec69bf790bacae596a5d1e1b0000000000000000000000003c90233869f9819b925896fc5539d1b4380c04eb0000000000000000000000004eb6716f6fa6ed53c7e6d77ad78be0630ee9a397000000000000000000000000eda8af69383cb55db25e8427ccffc43bf9faea870000000000000000000000007f2b19a8c6f61f417ba2ffe8c6f2f9cb3476e2ef
-----Decoded View---------------
Arg [0] : _stateControl (address): 0x6f136A56dD00F89207cBB9D20d32CC493b2C5c2f
Arg [1] : _whitelistControl (address): 0xFB2330A6C58a792b27997481AB7097978ADbbDB8
Arg [2] : _withdrawControl (address): 0x9A1d2f0F3a882E38fbfE4B74d6295576EA866e37
Arg [3] : _tokenAssignmentControl (address): 0xBf72a1F9EDb56188ec69bf790bACAe596A5D1E1b
Arg [4] : _notLocked (address): 0x3c90233869f9819b925896FC5539D1B4380C04Eb
Arg [5] : _lockedTeam (address): 0x4EB6716F6fa6ed53C7E6d77AD78BE0630Ee9A397
Arg [6] : _lockedDev (address): 0xedA8aF69383cB55DB25E8427CCffc43Bf9faEA87
Arg [7] : _lockedCountry (address): 0x7F2b19a8C6F61F417Ba2ffE8c6f2f9cb3476e2eF
-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000006f136a56dd00f89207cbb9d20d32cc493b2c5c2f
Arg [1] : 000000000000000000000000fb2330a6c58a792b27997481ab7097978adbbdb8
Arg [2] : 0000000000000000000000009a1d2f0f3a882e38fbfe4b74d6295576ea866e37
Arg [3] : 000000000000000000000000bf72a1f9edb56188ec69bf790bacae596a5d1e1b
Arg [4] : 0000000000000000000000003c90233869f9819b925896fc5539d1b4380c04eb
Arg [5] : 0000000000000000000000004eb6716f6fa6ed53c7e6d77ad78be0630ee9a397
Arg [6] : 000000000000000000000000eda8af69383cb55db25e8427ccffc43bf9faea87
Arg [7] : 0000000000000000000000007f2b19a8c6f61f417ba2ffe8c6f2f9cb3476e2ef
Deployed Bytecode Sourcemap
12950:11186:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16852:10;16285:14;16276:23;;;;;;;;:5;;;;;;;;;;;:23;;;;;;;;;16268:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16913:4;16888:29;;:9;:21;16898:10;16888:21;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;16880:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16981:13;;16964:4;16956:21;;;:38;;16948:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17122:8;;17107:12;:23;17099:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17186:24;;17170:12;:40;;17162:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17245:19;17267:28;17281:13;;17267:9;:13;;:28;;;;:::i;:::-;17245:50;;17308:42;17326:10;17338:11;17308:17;:42::i;:::-;17394:45;17429:9;17394:18;:30;17413:10;17394:30;;;;;;;;;;;;;;;;:34;;:45;;;;:::i;:::-;17361:18;:30;17380:10;17361:30;;;;;;;;;;;;;;;:78;;;;16334:1;16806:641;12950:11186;13761:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13761:27:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14487:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14487:35:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13427:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13427:41: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;13427:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14109:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14109:23:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10422:192;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10422:192:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10422:192:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6765:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6765:85:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;23718:229;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23718:229:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;23718:229:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14277:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14277:67:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13524:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13524:35:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;20634:349;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20634:349:0;;;:::i;:::-;;21951:139;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21951:139:0;;;:::i;:::-;;13618:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13618:27:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14024:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14024:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13797:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13797:31:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;23186:233;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23186:233:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;23186:233:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20317:309;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20317:309:0;;;:::i;:::-;;13724:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13724:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13393:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13393:25:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13685:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13685:30:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12341:447;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12341:447:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12341:447:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13837:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13837:30:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;23955:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23955:134:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;23955:134:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13652:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13652:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;19700:336;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19700:336:0;;;:::i;:::-;;18786:906;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18786:906:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;18786:906:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;21769:131;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21769:131:0;;;:::i;:::-;;22894:175;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22894:175:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22894:175:0;;;;;;;;;;;;;;;;;:::i;:::-;;14061:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14061:39:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13477:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13477:38: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;13477:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13568:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13568:41:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13568:41:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;22114:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22114:135:0;;;:::i;:::-;;23511:199;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23511:199:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;23511:199:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14353:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14353:43:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13922:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13922:19:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13876:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13876:37:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;20044:263;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20044:263:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20044:263:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;22336:450;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22336:450:0;;;:::i;:::-;;13987:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13987:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11566:307;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11566:307:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11566:307:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14141:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14141:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10941:162;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10941:162:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10941:162:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;21512:212;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21512:212:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21512:212:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;13950:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13950:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13331:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13331:53:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13331:53:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2951:471;3009:7;3259:1;3254;:6;3250:47;;;3284:1;3277:8;;;;3250:47;3309:9;3325:1;3321;:5;3309:17;;3354:1;3349;3345;:5;;;;;;:10;3337:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3413:1;3406:8;;;2951:471;;;;;:::o;17455:384::-;17573:33;17599:6;17573:8;:21;17582:11;17573:21;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;17549:8;:21;17558:11;17549:21;;;;;;;;;;;;;;;:57;;;;17630:22;17645:6;17630:10;;:14;;:22;;;;:::i;:::-;17617:10;:35;;;;17678:53;17695:35;14394:2;17695:15;17706:3;17695:6;:10;;:15;;;;:::i;:::-;:19;;:35;;;;:::i;:::-;17678:12;;:16;;:53;;;;:::i;:::-;17663:12;:68;;;;17752:11;17747:25;;;17765:6;17747:25;;;;;;;;;;;;;;;;;;17811:11;17788:43;;17805:3;17788:43;;;17824:6;17788:43;;;;;;;;;;;;;;;;;;17455:384;;:::o;1579:181::-;1637:7;1657:9;1673:1;1669;:5;1657:17;;1698:1;1693;:6;;1685:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1751:1;1744:8;;;1579:181;;;;:::o;13761:27::-;;;;;;;;;;;;;:::o;14487:35::-;;;;;;;;;;;;;:::o;13427:41::-;;;;;;;;;;;;;;;;;;;:::o;14109:23::-;;;;:::o;10422:192::-;10489:4;10534:6;10502:7;:19;10510:10;10502:19;;;;;;;;;;;;;;;:29;10522:8;10502:29;;;;;;;;;;;;;;;:38;;;;10573:8;10552:38;;10561:10;10552:38;;;10583:6;10552:38;;;;;;;;;;;;;;;;;;10604:4;10597:11;;10422:192;;;;:::o;6765:85::-;6809:7;6832:12;;6825:19;;6765:85;:::o;23718:229::-;23869:12;23823:18;23843:10;16458:15;16449:24;;;;;;;;:5;;;;;;;;;;;:24;;;;;;;;;:52;;;;16486:15;16477:24;;;;;;;;:5;;;;;;;;;;;:24;;;;;;;;;16449:52;16441:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23901:38;23920:5;23927:3;23932:6;23901:18;:38::i;:::-;23894:45;;23718:229;;;;;;;:::o;14277:67::-;14240:4;14318:8;:26;14277:67;:::o;13524:35::-;13557:2;13524:35;:::o;20634:349::-;20688:10;16285:14;16276:23;;;;;;;;:5;;;;;;;;;;;:23;;;;;;;;;16268:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20739:8;;20724:12;:23;20716:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20800:13;;20784:4;20776:21;;;:37;20772:204;;;20830:31;20842:18;20830:11;:31::i;:::-;20772:204;;;20903:15;:13;:15::i;:::-;20933:31;20945:18;20933:11;:31::i;:::-;20772:204;20634:349;:::o;21951:139::-;15865:12;;;;;;;;;;;15851:26;;:10;:26;;;15843:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22020:13;16285:14;16276:23;;;;;;;;:5;;;;;;;;;;;:23;;;;;;;;;16268:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22051:31;22063:18;22051:11;:31::i;:::-;15914:1;21951:139::o;13618:27::-;;;;;;;;;;;;;:::o;14024:28::-;;;;:::o;13797:31::-;;;;;;;;;;;;;:::o;23186:233::-;16002:22;;;;;;;;;;;15988:36;;:10;:36;;;15980:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23308:18;16285:14;16276:23;;;;;;;;:5;;;;;;;;;;;:23;;;;;;;;;16268:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23344:13;:22;;;23367:3;23372:13;:23;;;23404:4;23372:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23372:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23372:38:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;23372:38:0;;;;;;;;;;;;;;;;23344:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23344:67:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23344:67:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;23344:67:0;;;;;;;;;;;;;;;;;16066:1;23186:233;;:::o;20317:309::-;15865:12;;;;;;;;;;;15851:26;;:10;:26;;;15843:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20387:10;16285:14;16276:23;;;;;;;;:5;;;;;;;;;;;:23;;;;;;;;;16268:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20443:13;;20427:4;20419:21;;;:37;20415:204;;;20473:31;20485:18;20473:11;:31::i;:::-;20415:204;;;20546:15;:13;:15::i;:::-;20576:31;20588:18;20576:11;:31::i;:::-;20415:204;15914:1;20317:309::o;13724:28::-;;;;;;;;;;;;;:::o;13393:25::-;;;;:::o;13685:30::-;;;;;;;;;;;;;:::o;12341:447::-;12452:4;12468:16;12487:7;:19;12495:10;12487:19;;;;;;;;;;;;;;;:29;12507:8;12487:29;;;;;;;;;;;;;;;;12468:48;;12547:8;12527:16;:28;12523:169;;12598:1;12566:7;:19;12574:10;12566:19;;;;;;;;;;;;;;;:29;12586:8;12566:29;;;;;;;;;;;;;;;:33;;;;12523:169;;;12654:30;12667:16;12654:8;:12;;:30;;;;:::i;:::-;12622:7;:19;12630:10;12622:19;;;;;;;;;;;;;;;:29;12642:8;12622:29;;;;;;;;;;;;;;;:62;;;;12523:169;12724:8;12703:61;;12712:10;12703:61;;;12734:7;:19;12742:10;12734:19;;;;;;;;;;;;;;;:29;12754:8;12734:29;;;;;;;;;;;;;;;;12703:61;;;;;;;;;;;;;;;;;;12778:4;12771:11;;;12341:447;;;;:::o;13837:30::-;;;;;;;;;;;;;:::o;23955:134::-;24028:15;24063:8;:18;24072:8;24063:18;;;;;;;;;;;;;;;;24056:25;;23955:134;;;:::o;13652:26::-;;;;;;;;;;;;;:::o;19700:336::-;15865:12;;;;;;;;;;;15851:26;;:10;:26;;;15843:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19772:19;16285:14;16276:23;;;;;;;;:5;;;;;;;;;;;:23;;;;;;;;;16268:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19832:8;;19817:12;:23;19809:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19900:8;;19884:13;;19869:12;:28;:39;19861:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19981:13;;19966:12;:28;19939:24;:55;;;;20005:23;20017:10;20005:11;:23::i;:::-;15914:1;19700:336::o;18786:906::-;15865:12;;;;;;;;;;;15851:26;;:10;:26;;;15843:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18985:14;18976:23;;;;;;;;:5;;;;;;;;;;;:23;;;;;;;;;:55;;;;19012:19;19003:28;;;;;;;;:5;;;;;;;;;;;:28;;;;;;;;;18976:55;18968:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19088:17;19068;:37;19060:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19166:12;19150:13;;19135:12;:28;:43;19127:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19229:12;19214;:27;19206:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19285:17;19269:13;:33;;;;19329:17;19313:13;:33;;;;19373:14;19357:13;:30;;;;19409:12;19398:8;:23;;;;19545:62;19593:13;;19545:43;19584:3;19545:34;14394:2;14240:4;14318:8;:26;19545:18;;:34;;;;:::i;:::-;:38;;:43;;;;:::i;:::-;:47;;:62;;;;:::i;:::-;19529:13;:78;;;;19652:32;19664:19;19652:11;:32::i;:::-;18786:906;;;;:::o;21769:131::-;15865:12;;;;;;;;;;;15851:26;;:10;:26;;;15843:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21838:10;16285:14;16276:23;;;;;;;;:5;;;;;;;;;;;:23;;;;;;;;;16268:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21866:26;21878:13;21866:11;:26::i;:::-;15914:1;21769:131::o;22894:175::-;16140:15;;;;;;;;;;;16126:29;;:10;:29;;;16118:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22997:18;16285:14;16276:23;;;;;;;;:5;;;;;;;;;;;:23;;;;;;;;;16268:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23033:10;:19;;:28;23053:7;23033:28;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23033:28:0;16195:1;22894:175;:::o;14061:39::-;;;;:::o;13477:38::-;;;;;;;;;;;;;;;;;;;:::o;13568:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;22114:135::-;15865:12;;;;;;;;;;;15851:26;;:10;:26;;;15843:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22187:13;16285:14;16276:23;;;;;;;;:5;;;;;;;;;;;:23;;;;;;;;;16268:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22218:23;22230:10;22218:11;:23::i;:::-;15914:1;22114:135::o;23511:199::-;23643:12;23597:18;23617:10;16458:15;16449:24;;;;;;;;:5;;;;;;;;;;;:24;;;;;;;;;:52;;;;16486:15;16477:24;;;;;;;;:5;;;;;;;;;;;:24;;;;;;;;;16449:52;16441:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23675:27;23690:3;23695:6;23675:14;:27::i;:::-;23668:34;;23511:199;;;;;;:::o;14353:43::-;14394:2;14353:43;:::o;13922:19::-;;;;;;;;;;;;;:::o;13876:37::-;;;;;;;;;;;;;:::o;20044:263::-;16002:22;;;;;;;;;;;15988:36;;:10;:36;;;15980:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20184:19;20175:28;;;;;;;;:5;;;;;;;;;;;:28;;;;;;;;;:51;;;;20216:10;20207:19;;;;;;;;:5;;;;;;;;;;;:19;;;;;;;;;20175:51;20167:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20261:38;20279:11;20292:6;20261:17;:38::i;:::-;20044:263;;:::o;22336:450::-;22391:18;16285:14;16276:23;;;;;;;;:5;;;;;;;;;;;:23;;;;;;;;;16268:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22468:1;22435:18;:30;22454:10;22435:30;;;;;;;;;;;;;;;;:34;22427:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22597:14;22614:18;:30;22633:10;22614:30;;;;;;;;;;;;;;;;22597:47;;22739:1;22706:18;:30;22725:10;22706:30;;;;;;;;;;;;;;;:34;;;;22751:10;:19;;:27;22771:6;22751:27;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22751:27:0;16334:1;22336:450;:::o;13987:28::-;;;;:::o;11566:307::-;11672:4;11729:46;11763:11;11729:7;:19;11737:10;11729:19;;;;;;;;;;;;;;;:29;11749:8;11729:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;11688:7;:19;11696:10;11688:19;;;;;;;;;;;;;;;:29;11708:8;11688:29;;;;;;;;;;;;;;;:88;;;;11809:8;11788:61;;11797:10;11788:61;;;11819:7;:19;11827:10;11819:19;;;;;;;;;;;;;;;:29;11839:8;11819:29;;;;;;;;;;;;;;;;11788:61;;;;;;;;;;;;;;;;;;11863:4;11856:11;;11566:307;;;;:::o;14141:28::-;;;;:::o;10941:162::-;11046:7;11072;:15;11080:6;11072:15;;;;;;;;;;;;;;;:25;11088:8;11072:25;;;;;;;;;;;;;;;;11065:32;;10941:162;;;;:::o;21512:212::-;15731:16;;;;;;;;;;;15717:30;;:10;:30;;;15709:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21671:4;21645:9;:23;21655:12;21645:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;21691:25;21703:12;21691:25;;;;;;;;;;;;;;;;;;;;;;21512:212;:::o;13950:28::-;;;;:::o;13331:53::-;;;;;;;;;;;;;;;;;:::o;3890:132::-;3948:7;3975:39;3979:1;3982;3975:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3968:46;;3890:132;;;;:::o;9306:487::-;9418:4;9452:8;:15;9461:5;9452:15;;;;;;;;;;;;;;;;9442:6;:25;;9434:34;;;;;;9493:7;:14;9501:5;9493:14;;;;;;;;;;;;;;;:26;9508:10;9493:26;;;;;;;;;;;;;;;;9483:6;:36;;9475:45;;;;;;9550:1;9535:17;;:3;:17;;;;9527:26;;;;;;9580:27;9600:6;9580:8;:15;9589:5;9580:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9562:8;:15;9571:5;9562:15;;;;;;;;;;;;;;;:45;;;;9630:25;9648:6;9630:8;:13;9639:3;9630:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;9614:8;:13;9623:3;9614:13;;;;;;;;;;;;;;;:41;;;;9691:38;9722:6;9691:7;:14;9699:5;9691:14;;;;;;;;;;;;;;;:26;9706:10;9691:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;9662:7;:14;9670:5;9662:14;;;;;;;;;;;;;;;:26;9677:10;9662:26;;;;;;;;;;;;;;;:67;;;;9757:3;9741:28;;9750:5;9741:28;;;9762:6;9741:28;;;;;;;;;;;;;;;;;;9783:4;9776:11;;9306:487;;;;;:::o;18193:143::-;18267:33;18283:5;;;;;;;;;;;18290:9;18267:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18319:9;18311:5;;:17;;;;;;;;;;;;;;;;;;;;;;;;18193:143;:::o;20991:513::-;21046:39;21068:12;;;;;;;;;;;21082:2;21046:21;:39::i;:::-;21096:38;21118:11;;;;;;;;;;;21131:2;21096:21;:38::i;:::-;21145:42;21167:15;;;;;;;;;;;21184:2;21145:21;:42::i;:::-;21198:40;21220:13;;;;;;;;;;;21235:2;21198:21;:40::i;:::-;21266:165;21407:8;:23;21416:13;;;;;;;;;;;21407:23;;;;;;;;;;;;;;;;21266:126;21366:8;:25;21375:15;;;;;;;;;;;21366:25;;;;;;;;;;;;;;;;21266:85;21329:8;:21;21338:11;;;;;;;;;;;21329:21;;;;;;;;;;;;;;;;21266:48;21291:8;:22;21300:12;;;;;;;;;;;21291:22;;;;;;;;;;;;;;;;21266:10;;:24;;:48;;;;:::i;:::-;:62;;:85;;;;:::i;:::-;:99;;:126;;;;:::i;:::-;:140;;:165;;;;:::i;:::-;21251:12;:180;;;;21462:4;21444:15;;:22;;;;;;;;;;;;;;;;;;21482:14;;;;;;;;;;20991:513::o;2035:136::-;2093:7;2120:43;2124:1;2127;2120:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2113:50;;2035:136;;;;:::o;7011:343::-;7074:4;7105:8;:20;7114:10;7105:20;;;;;;;;;;;;;;;;7095:6;:30;;7087:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7170:1;7155:17;;:3;:17;;;;7147:26;;;;;;7205:32;7230:6;7205:8;:20;7214:10;7205:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;7182:8;:20;7191:10;7182:20;;;;;;;;;;;;;;;:55;;;;7260:25;7278:6;7260:8;:13;7269:3;7260:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;7244:8;:13;7253:3;7244:13;;;;;;;;;;;;;;;:41;;;;7318:3;7297:33;;7306:10;7297:33;;;7323:6;7297:33;;;;;;;;;;;;;;;;;;7344:4;7337:11;;7011:343;;;;:::o;4552:345::-;4638:7;4737:1;4733;:5;4740:12;4725: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;4725:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4764:9;4780:1;4776;:5;;;;;;4764:17;;4888:1;4881:8;;;4552:345;;;;;:::o;17847:338::-;17952:14;17969:40;18005:3;17969:31;17986:13;17969:12;;:16;;:31;;;;:::i;:::-;:35;;:40;;;;:::i;:::-;17952:57;;18044:33;18070:6;18044:8;:21;18053:11;18044:21;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;18020:8;:21;18029:11;18020:21;;;;;;;;;;;;;;;:57;;;;18098:11;18093:25;;;18111:6;18093:25;;;;;;;;;;;;;;;;;;18157:11;18134:43;;18151:3;18134:43;;;18170:6;18134:43;;;;;;;;;;;;;;;;;;17847:338;;;:::o;2508:192::-;2594:7;2627:1;2622;:6;;2630:12;2614: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;2614:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2654:9;2670:1;2666;:5;2654:17;;2691:1;2684:8;;;2508:192;;;;;:::o
Swarm Source
bzzr://15657c000028fe70a9622a7d92e41d55208226f3a0de58bc4f8aa17d85f3f8cd
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.