Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 866 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 20305473 | 8 days ago | IN | 0 ETH | 0.00025054 | ||||
Approve | 20255790 | 15 days ago | IN | 0 ETH | 0.00022307 | ||||
Transfer | 20255787 | 15 days ago | IN | 0 ETH | 0.00023528 | ||||
Transfer | 20136721 | 32 days ago | IN | 0 ETH | 0.00032523 | ||||
Transfer | 20125894 | 33 days ago | IN | 0 ETH | 0.00046854 | ||||
Approve | 19682810 | 95 days ago | IN | 0 ETH | 0.00077348 | ||||
Transfer | 19657951 | 99 days ago | IN | 0 ETH | 0.00177018 | ||||
Transfer | 19657868 | 99 days ago | IN | 0 ETH | 0.00037094 | ||||
Transfer | 19657868 | 99 days ago | IN | 0 ETH | 0.00037094 | ||||
Transfer | 19657868 | 99 days ago | IN | 0 ETH | 0.00037106 | ||||
Transfer | 19657868 | 99 days ago | IN | 0 ETH | 0.00037094 | ||||
Transfer | 19657868 | 99 days ago | IN | 0 ETH | 0.00037082 | ||||
Transfer | 19657624 | 99 days ago | IN | 0 ETH | 0.00037082 | ||||
Transfer | 19657623 | 99 days ago | IN | 0 ETH | 0.00037094 | ||||
Transfer | 19657623 | 99 days ago | IN | 0 ETH | 0.00037094 | ||||
Transfer | 19657623 | 99 days ago | IN | 0 ETH | 0.00037094 | ||||
Transfer | 19657542 | 99 days ago | IN | 0 ETH | 0.00037094 | ||||
Approve | 19640378 | 101 days ago | IN | 0 ETH | 0.00123725 | ||||
Approve | 19638145 | 101 days ago | IN | 0 ETH | 0.00104621 | ||||
Approve | 19601331 | 107 days ago | IN | 0 ETH | 0.00029259 | ||||
Approve | 19601261 | 107 days ago | IN | 0 ETH | 0.00056096 | ||||
Approve | 19567623 | 111 days ago | IN | 0 ETH | 0.00082413 | ||||
Approve | 19560137 | 112 days ago | IN | 0 ETH | 0.00058895 | ||||
Approve | 19560134 | 112 days ago | IN | 0 ETH | 0.00060654 | ||||
Approve | 19560090 | 112 days ago | IN | 0 ETH | 0.00104486 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
BDR
Compiler Version
v0.5.4+commit.9549d8ff
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-09-06 */ pragma solidity 0.5.4; library SafeMath { uint256 constant internal MAX_UINT = 2 ** 256 - 1; // max uint256 /** * @dev Multiplies two numbers, reverts on overflow. */ function mul(uint256 _a, uint256 _b) internal pure returns(uint256) { if (_a == 0) { return 0; } require(MAX_UINT / _a >= _b); return _a * _b; } /** * @dev Integer division of two numbers truncating the quotient, reverts on division by zero. */ function div(uint256 _a, uint256 _b) internal pure returns(uint256) { require(_b != 0); return _a / _b; } /** * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 _a, uint256 _b) internal pure returns(uint256) { require(_b <= _a); return _a - _b; } /** * @dev Adds two numbers, reverts on overflow. */ function add(uint256 _a, uint256 _b) internal pure returns(uint256) { require(MAX_UINT - _a >= _b); return _a + _b; } } interface AbcInterface { function decimals() external view returns (uint8); function tokenFallback(address _from, uint _value, bytes calldata _data) external; function transfer(address _to, uint _value) external returns (bool); } /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ constructor () public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } /** * @dev Transfers control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function _transferOwnership(address newOwner) internal { require(newOwner != address(0)); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } contract Pausable is Ownable { event Pause(); event Unpause(); bool public paused = false; /** * @dev Modifier to make a function callable only when the contract is not paused. */ modifier whenNotPaused() { require(!paused); _; } /** * @dev Modifier to make a function callable only when the contract is paused. */ modifier whenPaused() { require(paused); _; } /** * @dev called by the owner to pause, triggers stopped state */ function pause() public onlyOwner whenNotPaused { paused = true; emit Pause(); } /** * @dev called by the owner to unpause, returns to normal state */ function unpause() public onlyOwner whenPaused { paused = false; emit Unpause(); } } contract StandardToken { using SafeMath for uint256; mapping(address => uint256) internal balances; mapping(address => mapping(address => uint256)) internal allowed; uint256 public totalSupply; event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Gets the balance of the specified address. * @param _owner The address to query the balance of. * @return An uint256 representing the value owned by the passed address. */ function balanceOf(address _owner) public view returns(uint256) { return balances[_owner]; } /** * @dev Function to check the value 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 value of tokens still available for the spender. */ function allowance(address _owner, address _spender) public view returns(uint256) { return allowed[_owner][_spender]; } /** * @dev Transfer token for a specified address * @param _to The address to transfer to. * @param _value The value to be transferred. */ function transfer(address _to, uint256 _value) public returns(bool) { require(_to != address(0)); require(_value <= balances[msg.sender]); balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); emit Transfer(msg.sender, _to, _value); return true; } /** * @dev Approve the passed address to spend the specified value 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 value 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 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 value of tokens to be transferred */ function transferFrom(address _from, address _to, uint256 _value) public returns(bool) { require(_to != address(0)); require(_value <= balances[_from]); require(_value <= allowed[_from][msg.sender]); 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 Increase the value 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 value 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 value 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 value 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; } function _burn(address account, uint256 value) internal { require(account != address(0)); totalSupply = totalSupply.sub(value); balances[account] = balances[account].sub(value); emit Transfer(account, address(0), value); } /** * @dev Internal function that burns an value of the token of a given * account, deducting from the sender's allowance for said account. Uses the * internal burn function. * @param account The account whose tokens will be burnt. * @param value The value that will be burnt. */ function _burnFrom(address account, uint256 value) internal { // Should https://github.com/OpenZeppelin/zeppelin-solidity/issues/707 be accepted, // this function needs to emit an event with the updated approval. allowed[account][msg.sender] = allowed[account][msg.sender].sub(value); _burn(account, value); } } contract BurnableToken is StandardToken { /** * @dev Burns a specific value of tokens. * @param value The value of token to be burned. */ function burn(uint256 value) public { _burn(msg.sender, value); } /** * @dev Burns a specific value of tokens from the target address and decrements allowance * @param from address The address which you want to send tokens from * @param value uint256 The value of token to be burned */ function burnFrom(address from, uint256 value) public { _burnFrom(from, value); } } /** * @title Pausable token * @dev ERC20 modified with pausable transfers. */ contract PausableToken is StandardToken, Pausable { function transfer(address to, uint256 value) public whenNotPaused returns (bool) { return super.transfer(to, value); } function transferFrom(address from, address to, uint256 value) public whenNotPaused returns (bool) { return super.transferFrom(from, to, value); } function approve(address spender, uint256 value) public whenNotPaused returns (bool) { return super.approve(spender, value); } function increaseApproval(address spender, uint256 addedValue) public whenNotPaused returns (bool success) { return super.increaseApproval(spender, addedValue); } function decreaseApproval(address spender, uint256 subtractedValue) public whenNotPaused returns (bool success) { return super.decreaseApproval(spender, subtractedValue); } } contract LockableToken is PausableToken { struct LockInfo { uint256 amount; uint256 releaseTime; } mapping(address => LockInfo[]) public lockDetail; mapping(address => uint256) public transferLocked; event LockToken(address indexed benefit, uint256 amount, uint256 releasetime); event ReleaseToken(address indexed benefit, uint256 amount); /** * @dev Transfers and locks tokens. * @param to The address to transfer to. * @param value The value to be transferred. * @param lockdays The days of locking tokens. */ function transferAndLock(address to, uint256 value, uint256 lockdays) public whenNotPaused returns (bool) { release(msg.sender); require(to != address(0) && value != 0 && lockdays != 0); uint256 _releaseTime = now.add(lockdays.mul(1 days)); lockDetail[to].push(LockInfo({amount:value, releaseTime:_releaseTime})); balances[msg.sender] = balances[msg.sender].sub(value); transferLocked[to] = transferLocked[to].add(value); emit Transfer(msg.sender, to, value); emit LockToken(to, value, _releaseTime); return true; } /** * @dev Rewrites function transfer, release tokens before transferring. */ function transfer(address to, uint256 value) public returns (bool) { release(msg.sender); return super.transfer(to, value); } /** * @dev Rewrites function transferFrom, release tokens before transferring. */ function transferFrom(address from, address to, uint256 value) public returns (bool) { release(from); return super.transferFrom(from, to, value); } /** * @dev release tokens. */ function release(address benefit) public whenNotPaused { uint256 len = lockDetail[benefit].length; if( len == 0) return; uint256 totalReleasable = 0; for(uint256 i = 0; i < len; i = i.add(1)){ LockInfo memory tmp = lockDetail[benefit][i]; if(tmp.releaseTime != 0 && now >= tmp.releaseTime){ totalReleasable = totalReleasable.add(tmp.amount); delete lockDetail[benefit][i]; } } if(totalReleasable == 0) return; balances[benefit] = balances[benefit].add(totalReleasable); transferLocked[benefit] = transferLocked[benefit].sub(totalReleasable); if(transferLocked[benefit] == 0) delete lockDetail[benefit]; emit ReleaseToken(benefit, totalReleasable); } /** * @dev Calculates the amount of releasable tokens. */ function releasableTokens(address benefit) public view returns(uint256) { uint256 len = lockDetail[benefit].length; if( len == 0) return 0; uint256 releasable = 0; for(uint256 i = 0; i < len; i = i.add(1)){ LockInfo memory tmp = lockDetail[benefit][i]; if(tmp.releaseTime != 0 && now >= tmp.releaseTime){ releasable = releasable.add(tmp.amount); } } return releasable; } } contract Token is LockableToken, BurnableToken { string public name; // name of Token string public symbol; // symbol of Token uint8 public decimals; constructor(string memory _name, string memory _symbol, uint8 _decimals) public { name = _name; symbol = _symbol; decimals = _decimals; } } contract BDR is Token { struct Trx { bool executed; address from; uint256 value; address[] signers; } mapping(address => bool) public isSigner; mapping(uint256 => Trx) public exchangeTrx; address public AbcInstance; // address of AbcToken uint256 public requestSigners = 2; // BDR => Abc need signers number uint256 public applyCounts = 0; // Sequence of exchange request mapping(address => uint256) public exchangeLock; event SetSigner(address indexed signer,bool isSigner); // emit when add/remove signer event ApplyExchangeToken(address indexed from,uint256 value,uint256 trxSeq); // emit when exchange successful event ConfirmTrx(address indexed signer,uint256 indexed trxSeq); // emit when signer confirmed exchange request event CancleConfirmTrx(address indexed signer,uint256 indexed trxSeq); // emit when signer cancles confirmed exchange request event CancleExchangeRequest(address indexed signer,uint256 indexed trxSeq); // emit when signer/requester cancles exchange request event TokenExchange(address indexed from,uint256 value,bool AbcExchangeBDR); // emit when Abc <=> Bdr,true:Abc => BDR,false:BDR => abc event Mint(address indexed target,uint256 value); modifier onlySigner() { require(isSigner[msg.sender]); _; } /** * @dev initialize token info * @param _name string The name of token * @param _symbol string The symbol of token * @param _decimals uint8 The decimals of token */ constructor(string memory _name, string memory _symbol, uint8 _decimals) Token(_name,_symbol,_decimals) public { } /** * @dev rewrite transfer function,user can't transfer token to AbcToken's address directly */ function transfer(address _to,uint256 _value) public returns (bool success) { require(_to != AbcInstance,"can't transfer to AbcToken address directly"); return super.transfer(_to,_value); } /** * @dev rewrite transferFrom function,user can't transfer token to AbcToken's address directly */ function transferFrom(address _from, address _to,uint256 _value) public returns (bool success) { require(_to != AbcInstance,"can't transfer to AbcToken address directly"); return super.transferFrom(_from,_to,_value); } /** * @dev rewrite transferAndLock function,user can't transfer token to AbcToken's address directly */ function transferAndLock(address _to, uint256 _value, uint256 _lockdays) public returns (bool success) { require(_to != AbcInstance,"can't transfer to AbcToken address directly"); return super.transferAndLock(_to,_value,_lockdays); } /** * @dev set AbcToken's address */ function setAbcInstance(address _abc) public onlyOwner { require(_abc != address(0)); AbcInstance = _abc; } /** * @dev add/remove signers * @param _signers address[] The array of signers to add/remove * @param _addSigner bool true:add signers,false:remove:signers */ function setSigners(address[] memory _signers,bool _addSigner) public onlyOwner { for(uint256 i = 0;i< _signers.length;i++){ require(_signers[i] != address(0)); isSigner[_signers[i]] = _addSigner; emit SetSigner(_signers[i],_addSigner); } } /** * @dev set the number of exchange request in order to execute * @param _requestSigners uint256 The number of signers */ function setrequestSigners(uint256 _requestSigners) public onlyOwner { require(_requestSigners != 0); requestSigners = _requestSigners; } /** * @dev check whether the signer confirmed this exchange request */ function isConfirmer(uint256 _trxSeq,address _signer) public view returns (bool) { require(exchangeTrx[_trxSeq].from != address(0),"trxSeq not exist"); for(uint256 i = 0;i < exchangeTrx[_trxSeq].signers.length;i++){ if(exchangeTrx[_trxSeq].signers[i] == _signer){ return true; } } return false; } /** * @dev get how many signers that confirmed this exchange request */ function getConfirmersLengthOfTrx(uint256 _trxSeq) public view returns (uint256) { return exchangeTrx[_trxSeq].signers.length; } /** * @dev get signers's address that confirmed this exchange request * @param _trxSeq uint256 the Sequence of exchange request * @param _index uint256 the index of signers */ function getConfirmerOfTrx(uint256 _trxSeq,uint256 _index) public view returns (address) { require(_index < getConfirmersLengthOfTrx(_trxSeq),"out of range"); return exchangeTrx[_trxSeq].signers[_index]; } /** * @dev apply BDR exchange Abc * @param _value uint256 amount of BDR to exchange * @return uint256 the sequence of exchange request */ function applyExchangeToken(uint256 _value) public whenNotPaused returns (uint256) { uint256 trxSeq = applyCounts; require(exchangeTrx[trxSeq].from == address(0),"trxSeq already exist"); require(balances[msg.sender] >= _value); exchangeTrx[trxSeq].executed = false; exchangeTrx[trxSeq].from = msg.sender; exchangeTrx[trxSeq].value = _value; applyCounts = applyCounts.add(1); balances[address(this)] = balances[address(this)].add(_value); balances[exchangeTrx[trxSeq].from] = balances[exchangeTrx[trxSeq].from].sub(_value); exchangeLock[exchangeTrx[trxSeq].from] = exchangeLock[exchangeTrx[trxSeq].from].add(_value); emit ApplyExchangeToken(exchangeTrx[trxSeq].from,exchangeTrx[trxSeq].value,trxSeq); emit Transfer(msg.sender,address(this),_value); return trxSeq; } /** * @dev signer confirms one exchange request * @param _trxSeq uint256 the Sequence of exchange request */ function confirmExchangeTrx(uint256 _trxSeq) public onlySigner { require(exchangeTrx[_trxSeq].from != address(0),"_trxSeq not exist"); require(exchangeTrx[_trxSeq].signers.length < requestSigners,"trx already has enough signers"); require(exchangeTrx[_trxSeq].executed == false,"trx already executed"); require(isConfirmer(_trxSeq, msg.sender) == false,"signer already confirmed"); exchangeTrx[_trxSeq].signers.push(msg.sender); emit ConfirmTrx(msg.sender, _trxSeq); } /** * @dev signer cancel confirmed exchange request * @param _trxSeq uint256 the Sequence of exchange request */ function cancelConfirm(uint256 _trxSeq) public onlySigner { require(exchangeTrx[_trxSeq].from != address(0),"_trxSeq not exist"); require(isConfirmer(_trxSeq, msg.sender),"Signer didn't confirm"); require(exchangeTrx[_trxSeq].executed == false,"trx already executed"); uint256 len = exchangeTrx[_trxSeq].signers.length; for(uint256 i = 0;i < len;i++){ if(exchangeTrx[_trxSeq].signers[i] == msg.sender){ exchangeTrx[_trxSeq].signers[i] = exchangeTrx[_trxSeq].signers[len.sub(1)] ; exchangeTrx[_trxSeq].signers.length --; break; } } emit CancleConfirmTrx(msg.sender,_trxSeq); } /** * @dev signer cancel exchange request * @param _trxSeq uint256 the Sequence of exchange request */ function cancleExchangeRequest(uint256 _trxSeq) public { require(exchangeTrx[_trxSeq].from != address(0),"_trxSeq not exist"); require(exchangeTrx[_trxSeq].executed == false,"trx already executed"); require(isSigner[msg.sender] || exchangeTrx[_trxSeq].from == msg.sender); balances[address(this)] = balances[address(this)].sub(exchangeTrx[_trxSeq].value); balances[exchangeTrx[_trxSeq].from] = balances[exchangeTrx[_trxSeq].from].add(exchangeTrx[_trxSeq].value); exchangeLock[exchangeTrx[_trxSeq].from] = exchangeLock[exchangeTrx[_trxSeq].from].sub(exchangeTrx[_trxSeq].value); delete exchangeTrx[_trxSeq]; emit CancleExchangeRequest(msg.sender,_trxSeq); emit Transfer(address(this),exchangeTrx[_trxSeq].from,exchangeTrx[_trxSeq].value); } /** * @dev execute exchange request which confirmed by enough signers * @param _trxSeq uint256 the Sequence of exchange request */ function executeExchangeTrx(uint256 _trxSeq) public whenNotPaused{ address from = exchangeTrx[_trxSeq].from; uint256 value = exchangeTrx[_trxSeq].value; require(from != address(0),"trxSeq not exist"); require(exchangeTrx[_trxSeq].executed == false,"trxSeq has executed"); require(exchangeTrx[_trxSeq].signers.length >= requestSigners); require(from == msg.sender|| isSigner[msg.sender]); require(value <= balances[address(this)]); _burn(address(this), value); exchangeLock[from] = exchangeLock[from].sub(value); exchangeTrx[_trxSeq].executed = true; AbcInterface(AbcInstance).tokenFallback(from,value,bytes("")); emit TokenExchange(exchangeTrx[_trxSeq].from,exchangeTrx[_trxSeq].value,false); } /** * @dev exchange Abc token to BDR token,only AbcInstance can invoke this function */ function tokenFallback(address _from, uint _value, bytes memory) public { require(msg.sender == AbcInstance); require(_from != address(0)); require(_value > 0); uint256 exchangeAmount = _value.mul(10**uint256(decimals)).div(10**uint256(AbcInterface(AbcInstance).decimals())); _mint(_from, exchangeAmount); emit Transfer(address(0x00),_from,exchangeAmount); emit TokenExchange(_from,_value,true); } /** * @dev mint BDR token */ function _mint(address target, uint256 value ) internal { balances[target] = balances[target].add(value); totalSupply = totalSupply.add(value); emit Mint(target,value); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_signers","type":"address[]"},{"name":"_addSigner","type":"bool"}],"name":"setSigners","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"benefit","type":"address"}],"name":"release","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"lockDetail","outputs":[{"name":"amount","type":"uint256"},{"name":"releaseTime","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"applyCounts","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_abc","type":"address"}],"name":"setAbcInstance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"exchangeTrx","outputs":[{"name":"executed","type":"bool"},{"name":"from","type":"address"},{"name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"transferLocked","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_trxSeq","type":"uint256"},{"name":"_index","type":"uint256"}],"name":"getConfirmerOfTrx","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_requestSigners","type":"uint256"}],"name":"setrequestSigners","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"value","type":"uint256"}],"name":"burnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_trxSeq","type":"uint256"}],"name":"getConfirmersLengthOfTrx","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isSigner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_lockdays","type":"uint256"}],"name":"transferAndLock","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"applyExchangeToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"},{"name":"","type":"bytes"}],"name":"tokenFallback","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"benefit","type":"address"}],"name":"releasableTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"AbcInstance","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"requestSigners","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_trxSeq","type":"uint256"}],"name":"cancleExchangeRequest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_trxSeq","type":"uint256"},{"name":"_signer","type":"address"}],"name":"isConfirmer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_trxSeq","type":"uint256"}],"name":"executeExchangeTrx","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"exchangeLock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_trxSeq","type":"uint256"}],"name":"cancelConfirm","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_trxSeq","type":"uint256"}],"name":"confirmExchangeTrx","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint8"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"signer","type":"address"},{"indexed":false,"name":"isSigner","type":"bool"}],"name":"SetSigner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"trxSeq","type":"uint256"}],"name":"ApplyExchangeToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"signer","type":"address"},{"indexed":true,"name":"trxSeq","type":"uint256"}],"name":"ConfirmTrx","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"signer","type":"address"},{"indexed":true,"name":"trxSeq","type":"uint256"}],"name":"CancleConfirmTrx","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"signer","type":"address"},{"indexed":true,"name":"trxSeq","type":"uint256"}],"name":"CancleExchangeRequest","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"AbcExchangeBDR","type":"bool"}],"name":"TokenExchange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"target","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"benefit","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"releasetime","type":"uint256"}],"name":"LockToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"benefit","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"ReleaseToken","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]
Contract Creation Code
60806040526003805460a060020a60ff02191690556002600c556000600d553480156200002b57600080fd5b5060405162002ef838038062002ef8833981018060405260608110156200005157600080fd5b8101908080516401000000008111156200006a57600080fd5b820160208101848111156200007e57600080fd5b81516401000000008111828201871017156200009957600080fd5b50509291906020018051640100000000811115620000b657600080fd5b82016020810184811115620000ca57600080fd5b8151640100000000811182820187101715620000e557600080fd5b505060209182015160038054600160a060020a03191633179055855191945092508491849184916200011d9160069186019062000154565b5081516200013390600790602085019062000154565b506008805460ff191660ff9290921691909117905550620001f99350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200019757805160ff1916838001178555620001c7565b82800160010185558215620001c7579182015b82811115620001c7578251825591602001919060010190620001aa565b50620001d5929150620001d9565b5090565b620001f691905b80821115620001d55760008155600101620001e0565b90565b612cef80620002096000396000f3fe608060405234801561001057600080fd5b5060043610610270576000357c01000000000000000000000000000000000000000000000000000000009004806379e0ea5011610163578063cb0c515a116100e0578063dd62ed3e116100a4578063dd62ed3e1461088e578063dd781954146108bc578063de482239146108d9578063f0e97390146108ff578063f2fde38b1461091c578063f519a1441461094257610270565b8063cb0c515a14610809578063d05df8ae14610811578063d169dc6b14610819578063d4761b0b14610836578063d73dd6231461086257610270565b8063925834ef11610127578063925834ef146106d757806395d89b41146106f4578063a9059cbb146106fc578063c0ee0b8a14610728578063c4684e9d146107e357610270565b806379e0ea50146106525780637df73e271461066f5780638456cb591461069557806384d5d9441461069d5780638da5cb5b146106cf57610270565b80633f4ba83a116101f15780635c975abb116101b55780635c975abb146105af57806366188463146105b75780636b9e8026146105e357806370a082311461060057806379cc67901461062657610270565b80633f4ba83a146104e057806342966c68146104e857806344225d7f14610505578063462749501461054a57806350b01bda1461057057610270565b80631c490091116102385780631c4900911461041957806323b872dd1461045e57806324d7252c14610494578063295f54421461049c578063313ce567146104c257610270565b806306fdde0314610275578063095ea7b3146102f2578063135aa6fd1461033257806318160ddd146103d957806319165587146103f3575b600080fd5b61027d61095f565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102b757818101518382015260200161029f565b50505050905090810190601f1680156102e45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61031e6004803603604081101561030857600080fd5b50600160a060020a0381351690602001356109ed565b604080519115158252519081900360200190f35b6103d76004803603604081101561034857600080fd5b81019060208101813564010000000081111561036357600080fd5b82018360208201111561037557600080fd5b8035906020019184602083028401116401000000008311171561039757600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295505050503515159050610a1a565b005b6103e1610b1a565b60408051918252519081900360200190f35b6103d76004803603602081101561040957600080fd5b5035600160a060020a0316610b20565b6104456004803603604081101561042f57600080fd5b50600160a060020a038135169060200135610d34565b6040805192835260208301919091528051918290030190f35b61031e6004803603606081101561047457600080fd5b50600160a060020a03813581169160208101359091169060400135610d6f565b6103e1610dd5565b6103d7600480360360208110156104b257600080fd5b5035600160a060020a0316610ddb565b6104ca610e36565b6040805160ff9092168252519081900360200190f35b6103d7610e3f565b6103d7600480360360208110156104fe57600080fd5b5035610eb7565b6105226004803603602081101561051b57600080fd5b5035610ec1565b604080519315158452600160a060020a03909216602084015282820152519081900360600190f35b6103e16004803603602081101561056057600080fd5b5035600160a060020a0316610eee565b6105936004803603604081101561058657600080fd5b5080359060200135610f00565b60408051600160a060020a039092168252519081900360200190f35b61031e610f9a565b61031e600480360360408110156105cd57600080fd5b50600160a060020a038135169060200135610faa565b6103d7600480360360208110156105f957600080fd5b5035610fce565b6103e16004803603602081101561061657600080fd5b5035600160a060020a0316610ff6565b6103d76004803603604081101561063c57600080fd5b50600160a060020a038135169060200135611015565b6103e16004803603602081101561066857600080fd5b5035611023565b61031e6004803603602081101561068557600080fd5b5035600160a060020a0316611038565b6103d761104d565b61031e600480360360608110156106b357600080fd5b50600160a060020a0381351690602081013590604001356110ca565b610593611128565b6103e1600480360360208110156106ed57600080fd5b5035611137565b61027d611386565b61031e6004803603604081101561071257600080fd5b50600160a060020a0381351690602001356113e1565b6103d76004803603606081101561073e57600080fd5b600160a060020a038235169160208101359181019060608101604082013564010000000081111561076e57600080fd5b82018360208201111561078057600080fd5b803590602001918460018302840111640100000000831117156107a257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061143e945050505050565b6103e1600480360360208110156107f957600080fd5b5035600160a060020a03166115c5565b6105936116a0565b6103e16116af565b6103d76004803603602081101561082f57600080fd5b50356116b5565b61031e6004803603604081101561084c57600080fd5b5080359060200135600160a060020a0316611980565b61031e6004803603604081101561087857600080fd5b50600160a060020a038135169060200135611a6f565b6103e1600480360360408110156108a457600080fd5b50600160a060020a0381358116916020013516611a93565b6103d7600480360360208110156108d257600080fd5b5035611abe565b6103e1600480360360208110156108ef57600080fd5b5035600160a060020a0316611de4565b6103d76004803603602081101561091557600080fd5b5035611df6565b6103d76004803603602081101561093257600080fd5b5035600160a060020a03166120a1565b6103d76004803603602081101561095857600080fd5b50356120c1565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156109e55780601f106109ba576101008083540402835291602001916109e5565b820191906000526020600020905b8154815290600101906020018083116109c857829003601f168201915b505050505081565b60035460009060a060020a900460ff1615610a0757600080fd5b610a1183836122f1565b90505b92915050565b600354600160a060020a03163314610a3157600080fd5b60005b8251811015610b15578251600090849083908110610a4e57fe5b60209081029091010151600160a060020a03161415610a6c57600080fd5b81600960008584815181101515610a7f57fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff19169115159190911790558251839082908110610abf57fe5b90602001906020020151600160a060020a03167f5fcbb78b58c04f459e28fba113b7b7248255a48fc71eca69650310daea63045183604051808215151515815260200191505060405180910390a2600101610a34565b505050565b60025481565b60035460a060020a900460ff1615610b3757600080fd5b600160a060020a038116600090815260046020526040902054801515610b5d5750610d31565b6000805b82811015610c4257610b71612bbd565b600160a060020a0385166000908152600460205260409020805483908110610b9557fe5b6000918252602091829020604080518082019091526002909202018054825260010154918101829052915015801590610bd2575080602001514210155b15610c29578051610bea90849063ffffffff61235716565b600160a060020a038616600090815260046020526040902080549194509083908110610c1257fe5b600091825260208220600290910201818155600101555b50610c3b81600163ffffffff61235716565b9050610b61565b50801515610c51575050610d31565b600160a060020a038316600090815260208190526040902054610c7a908263ffffffff61235716565b600160a060020a03841660009081526020818152604080832093909355600590522054610cad908263ffffffff61237116565b600160a060020a03841660009081526005602052604090208190551515610cef57600160a060020a0383166000908152600460205260408120610cef91612bd4565b604080518281529051600160a060020a038516917fd777ee46b5c5e9bff9903e5b77152b900a28b55ea90ea99766fa3b5237f970f6919081900360200190a250505b50565b600460205281600052604060002081815481101515610d4f57fe5b600091825260209091206002909102018054600190910154909250905082565b600b54600090600160a060020a0384811691161415610dc25760405160e560020a62461bcd02815260040180806020018281038252602b815260200180612c99602b913960400191505060405180910390fd5b610dcd848484612386565b949350505050565b600d5481565b600354600160a060020a03163314610df257600080fd5b600160a060020a0381161515610e0757600080fd5b600b805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60085460ff1681565b600354600160a060020a03163314610e5657600080fd5b60035460a060020a900460ff161515610e6e57600080fd5b6003805474ff0000000000000000000000000000000000000000191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b610d31338261239c565b600a602052600090815260409020805460019091015460ff8216916101009004600160a060020a03169083565b60056020526000908152604090205481565b6000610f0b83611023565b8210610f61576040805160e560020a62461bcd02815260206004820152600c60248201527f6f7574206f662072616e67650000000000000000000000000000000000000000604482015290519081900360640190fd5b6000838152600a60205260409020600201805483908110610f7e57fe5b600091825260209091200154600160a060020a03169392505050565b60035460a060020a900460ff1681565b60035460009060a060020a900460ff1615610fc457600080fd5b610a118383612433565b600354600160a060020a03163314610fe557600080fd5b801515610ff157600080fd5b600c55565b600160a060020a0381166000908152602081905260409020545b919050565b61101f8282612522565b5050565b6000908152600a602052604090206002015490565b60096020526000908152604090205460ff1681565b600354600160a060020a0316331461106457600080fd5b60035460a060020a900460ff161561107b57600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600b54600090600160a060020a038581169116141561111d5760405160e560020a62461bcd02815260040180806020018281038252602b815260200180612c99602b913960400191505060405180910390fd5b610dcd848484612584565b600354600160a060020a031681565b60035460009060a060020a900460ff161561115157600080fd5b600d546000818152600a60205260409020546101009004600160a060020a0316156111c6576040805160e560020a62461bcd02815260206004820152601460248201527f74727853657120616c7265616479206578697374000000000000000000000000604482015290519081900360640190fd5b336000908152602081905260409020548311156111e257600080fd5b6000818152600a60205260409020805474ffffffffffffffffffffffffffffffffffffffffff191661010033021781556001908101849055600d5461122691612357565b600d5530600090815260208190526040902054611249908463ffffffff61235716565b3060009081526020818152604080832093909355838252600a8152828220546101009004600160a060020a03168252819052205461128d908463ffffffff61237116565b6000828152600a602090815260408083208054600160a060020a036101009182900481168652858552838620969096559054049093168252600e905220546112db908463ffffffff61235716565b6000828152600a602081815260408084208054600160a060020a036101009182900481168752600e8552838720979097559487905292825282546001909301548151908152918201869052805193909204909316927f0d6395d68f2be6d031c8d9fb4808936534aa889710bbe57ef570d9c1c8f656f9929081900390910190a260408051848152905130913391600080516020612c798339815191529181900360200190a392915050565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156109e55780601f106109ba576101008083540402835291602001916109e5565b600b54600090600160a060020a03848116911614156114345760405160e560020a62461bcd02815260040180806020018281038252602b815260200180612c99602b913960400191505060405180910390fd5b610a118383612728565b600b54600160a060020a0316331461145557600080fd5b600160a060020a038316151561146a57600080fd5b6000821161147757600080fd5b6000611541600b60009054906101000a9004600160a060020a0316600160a060020a031663313ce5676040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156114e657600080fd5b505afa1580156114fa573d6000803e3d6000fd5b505050506040513d602081101561151057600080fd5b505160085460ff918216600a90810a926115359288929116900a63ffffffff61273d16565b9063ffffffff61276d16565b905061154d848261278e565b604080518281529051600160a060020a03861691600091600080516020612c798339815191529181900360200190a360408051848152600160208201528151600160a060020a038716927f7d3799764c16f58d28ad04f3ef5f27c8010bbdc67768bfc7b3b6701ae0e53903928290030190a250505050565b600160a060020a0381166000908152600460205260408120548015156115ef576000915050611010565b6000805b8281101561169857611603612bbd565b600160a060020a038616600090815260046020526040902080548390811061162757fe5b6000918252602091829020604080518082019091526002909202018054825260010154918101829052915015801590611664575080602001514210155b1561167f57805161167c90849063ffffffff61235716565b92505b5061169181600163ffffffff61235716565b90506115f3565b509392505050565b600b54600160a060020a031681565b600c5481565b6000818152600a60205260409020546101009004600160a060020a03161515611728576040805160e560020a62461bcd02815260206004820152601160248201527f5f747278536571206e6f74206578697374000000000000000000000000000000604482015290519081900360640190fd5b6000818152600a602052604090205460ff161561178f576040805160e560020a62461bcd02815260206004820152601460248201527f74727820616c7265616479206578656375746564000000000000000000000000604482015290519081900360640190fd5b3360009081526009602052604090205460ff16806117c857506000818152600a60205260409020546101009004600160a060020a031633145b15156117d357600080fd5b6000818152600a602090815260408083206001015430845291839052909120546118029163ffffffff61237116565b3060009081526020818152604080832093909355838252600a8152828220600181015490546101009004600160a060020a03168352908290529190205461184e9163ffffffff61235716565b6000828152600a602090815260408083208054600160a060020a0361010091829004811686528585528386209690965560018201549154049094168352600e9091529020546118a29163ffffffff61237116565b6000828152600a6020818152604080842080546101009004600160a060020a03168552600e83529084209490945584835252815474ffffffffffffffffffffffffffffffffffffffffff19168255600182018190556119046002830182612bf5565b5050604051819033907f36dae67a6b2662fa6156a4fdb499b74c51e3ea6d9de9ccc86b23d2e2fe085b6c90600090a36000818152600a6020908152604091829020805460019091015483519081529251610100909104600160a060020a0316923092600080516020612c7983398151915292918290030190a350565b6000828152600a60205260408120546101009004600160a060020a031615156119f3576040805160e560020a62461bcd02815260206004820152601060248201527f747278536571206e6f7420657869737400000000000000000000000000000000604482015290519081900360640190fd5b60005b6000848152600a6020526040902060020154811015611a65576000848152600a602052604090206002018054600160a060020a038516919083908110611a3857fe5b600091825260209091200154600160a060020a03161415611a5d576001915050610a14565b6001016119f6565b5060009392505050565b60035460009060a060020a900460ff1615611a8957600080fd5b610a118383612829565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b60035460a060020a900460ff1615611ad557600080fd5b6000818152600a602052604090208054600190910154610100909104600160a060020a031690811515611b52576040805160e560020a62461bcd02815260206004820152601060248201527f747278536571206e6f7420657869737400000000000000000000000000000000604482015290519081900360640190fd5b6000838152600a602052604090205460ff1615611bb9576040805160e560020a62461bcd02815260206004820152601360248201527f7472785365712068617320657865637574656400000000000000000000000000604482015290519081900360640190fd5b600c546000848152600a60205260409020600201541015611bd957600080fd5b600160a060020a038216331480611bff57503360009081526009602052604090205460ff165b1515611c0a57600080fd5b30600090815260208190526040902054811115611c2657600080fd5b611c30308261239c565b600160a060020a0382166000908152600e6020526040902054611c59908263ffffffff61237116565b600160a060020a038084166000818152600e6020908152604080832095909555878252600a8152848220805460ff19166001179055600b54855191820180875283835295517fc0ee0b8a0000000000000000000000000000000000000000000000000000000081526004810194855260248101889052606060448201908152835160648301528351929096169663c0ee0b8a968a968a96909491936084019291908190849084905b83811015611d19578181015183820152602001611d01565b50505050905090810190601f168015611d465780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015611d6757600080fd5b505af1158015611d7b573d6000803e3d6000fd5b5050506000848152600a6020908152604080832080546001909101548251908152928301939093528051610100909304600160a060020a031693507f7d3799764c16f58d28ad04f3ef5f27c8010bbdc67768bfc7b3b6701ae0e5390392918290030190a2505050565b600e6020526000908152604090205481565b3360009081526009602052604090205460ff161515611e1457600080fd5b6000818152600a60205260409020546101009004600160a060020a03161515611e87576040805160e560020a62461bcd02815260206004820152601160248201527f5f747278536571206e6f74206578697374000000000000000000000000000000604482015290519081900360640190fd5b611e918133611980565b1515611ee7576040805160e560020a62461bcd02815260206004820152601560248201527f5369676e6572206469646e277420636f6e6669726d0000000000000000000000604482015290519081900360640190fd5b6000818152600a602052604090205460ff1615611f4e576040805160e560020a62461bcd02815260206004820152601460248201527f74727820616c7265616479206578656375746564000000000000000000000000604482015290519081900360640190fd5b6000818152600a6020526040812060020154905b8181101561206f576000838152600a60205260409020600201805433919083908110611f8a57fe5b600091825260209091200154600160a060020a03161415612067576000838152600a60205260409020600201611fc783600163ffffffff61237116565b81548110611fd157fe5b6000918252602080832090910154858352600a90915260409091206002018054600160a060020a03909216918390811061200757fe5b6000918252602080832091909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039490941693909317909255848152600a90915260409020600201805490612061906000198301612c13565b5061206f565b600101611f62565b50604051829033907fdc2bfd080c3790dca6b377550e4f31b952c6a0fb6153080dd81677e219ec99c890600090a35050565b600354600160a060020a031633146120b857600080fd5b610d31816128c2565b3360009081526009602052604090205460ff1615156120df57600080fd5b6000818152600a60205260409020546101009004600160a060020a03161515612152576040805160e560020a62461bcd02815260206004820152601160248201527f5f747278536571206e6f74206578697374000000000000000000000000000000604482015290519081900360640190fd5b600c546000828152600a6020526040902060020154106121bc576040805160e560020a62461bcd02815260206004820152601e60248201527f74727820616c72656164792068617320656e6f756768207369676e6572730000604482015290519081900360640190fd5b6000818152600a602052604090205460ff1615612223576040805160e560020a62461bcd02815260206004820152601460248201527f74727820616c7265616479206578656375746564000000000000000000000000604482015290519081900360640190fd5b61222d8133611980565b15612282576040805160e560020a62461bcd02815260206004820152601860248201527f7369676e657220616c726561647920636f6e6669726d65640000000000000000604482015290519081900360640190fd5b6000818152600a602090815260408083206002018054600181018255908452918320909101805473ffffffffffffffffffffffffffffffffffffffff191633908117909155905183927f8c6087d792119c81c59c5de009a30bb0f1e1feffd604ab5bb0975478e785e06e91a350565b336000818152600160209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60008183600019031015151561236c57600080fd5b500190565b60008282111561238057600080fd5b50900390565b600061239184610b20565b610dcd848484612940565b600160a060020a03821615156123b157600080fd5b6002546123c4908263ffffffff61237116565b600255600160a060020a0382166000908152602081905260409020546123f0908263ffffffff61237116565b600160a060020a03831660008181526020818152604080832094909455835185815293519193600080516020612c79833981519152929081900390910190a35050565b336000908152600160209081526040808320600160a060020a038616845290915281205480831061248757336000908152600160209081526040808320600160a060020a03881684529091528120556124bc565b612497818463ffffffff61237116565b336000908152600160209081526040808320600160a060020a03891684529091529020555b336000818152600160209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600160a060020a0382166000908152600160209081526040808320338452909152902054612556908263ffffffff61237116565b600160a060020a038316600090815260016020908152604080832033845290915290205561101f828261239c565b60035460009060a060020a900460ff161561259e57600080fd5b6125a733610b20565b600160a060020a038416158015906125be57508215155b80156125c957508115155b15156125d457600080fd5b60006125f96125ec846201518063ffffffff61273d16565b429063ffffffff61235716565b600160a060020a038616600090815260046020908152604080832081518083018352898152808401868152825460018181018555938752858720925160029091029092019182555191015533835290829052902054909150612661908563ffffffff61237116565b3360009081526020818152604080832093909355600160a060020a0388168252600590522054612697908563ffffffff61235716565b600160a060020a038616600081815260056020908152604091829020939093558051878152905191923392600080516020612c798339815191529281900390910190a360408051858152602081018390528151600160a060020a038816927f2d814308d70a2c356e04b9495a463b35b22563f541e00d2dad99471d28496612928290030190a2506001949350505050565b600061273333610b20565b610a118383612965565b600082151561274e57506000610a14565b818360001981151561275c57fe5b04101561276857600080fd5b500290565b600081151561277b57600080fd5b818381151561278657fe5b049392505050565b600160a060020a0382166000908152602081905260409020546127b7908263ffffffff61235716565b600160a060020a0383166000908152602081905260409020556002546127e3908263ffffffff61235716565b600255604080518281529051600160a060020a038416917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a25050565b336000908152600160209081526040808320600160a060020a038616845290915281205461285d908363ffffffff61235716565b336000818152600160209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03811615156128d757600080fd5b600354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035460009060a060020a900460ff161561295a57600080fd5b610dcd848484612989565b60035460009060a060020a900460ff161561297f57600080fd5b610a118383612aee565b6000600160a060020a03831615156129a057600080fd5b600160a060020a0384166000908152602081905260409020548211156129c557600080fd5b600160a060020a03841660009081526001602090815260408083203384529091529020548211156129f557600080fd5b600160a060020a038416600090815260208190526040902054612a1e908363ffffffff61237116565b600160a060020a038086166000908152602081905260408082209390935590851681522054612a53908363ffffffff61235716565b600160a060020a03808516600090815260208181526040808320949094559187168152600182528281203382529091522054612a95908363ffffffff61237116565b600160a060020a0380861660008181526001602090815260408083203384528252918290209490945580518681529051928716939192600080516020612c79833981519152929181900390910190a35060019392505050565b6000600160a060020a0383161515612b0557600080fd5b33600090815260208190526040902054821115612b2157600080fd5b33600090815260208190526040902054612b41908363ffffffff61237116565b3360009081526020819052604080822092909255600160a060020a03851681522054612b73908363ffffffff61235716565b600160a060020a03841660008181526020818152604091829020939093558051858152905191923392600080516020612c798339815191529281900390910190a350600192915050565b604080518082019091526000808252602082015290565b5080546000825560020290600052602060002090810190610d319190612c37565b5080546000825590600052602060002090810190610d319190612c5e565b815481835581811115610b1557600083815260209020610b15918101908301612c5e565b612c5b91905b80821115612c575760008082556001820155600201612c3d565b5090565b90565b612c5b91905b80821115612c575760008155600101612c6456feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef63616e2774207472616e7366657220746f20416263546f6b656e2061646472657373206469726563746c79a165627a7a72305820a347979b9596fcb674fad07dbf5f5654984113ed576302ef270b56e1fd34302a0029000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000014436572636c652053746f636b205365727669636500000000000000000000000000000000000000000000000000000000000000000000000000000000000000034353530000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b5060043610610270576000357c01000000000000000000000000000000000000000000000000000000009004806379e0ea5011610163578063cb0c515a116100e0578063dd62ed3e116100a4578063dd62ed3e1461088e578063dd781954146108bc578063de482239146108d9578063f0e97390146108ff578063f2fde38b1461091c578063f519a1441461094257610270565b8063cb0c515a14610809578063d05df8ae14610811578063d169dc6b14610819578063d4761b0b14610836578063d73dd6231461086257610270565b8063925834ef11610127578063925834ef146106d757806395d89b41146106f4578063a9059cbb146106fc578063c0ee0b8a14610728578063c4684e9d146107e357610270565b806379e0ea50146106525780637df73e271461066f5780638456cb591461069557806384d5d9441461069d5780638da5cb5b146106cf57610270565b80633f4ba83a116101f15780635c975abb116101b55780635c975abb146105af57806366188463146105b75780636b9e8026146105e357806370a082311461060057806379cc67901461062657610270565b80633f4ba83a146104e057806342966c68146104e857806344225d7f14610505578063462749501461054a57806350b01bda1461057057610270565b80631c490091116102385780631c4900911461041957806323b872dd1461045e57806324d7252c14610494578063295f54421461049c578063313ce567146104c257610270565b806306fdde0314610275578063095ea7b3146102f2578063135aa6fd1461033257806318160ddd146103d957806319165587146103f3575b600080fd5b61027d61095f565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102b757818101518382015260200161029f565b50505050905090810190601f1680156102e45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61031e6004803603604081101561030857600080fd5b50600160a060020a0381351690602001356109ed565b604080519115158252519081900360200190f35b6103d76004803603604081101561034857600080fd5b81019060208101813564010000000081111561036357600080fd5b82018360208201111561037557600080fd5b8035906020019184602083028401116401000000008311171561039757600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295505050503515159050610a1a565b005b6103e1610b1a565b60408051918252519081900360200190f35b6103d76004803603602081101561040957600080fd5b5035600160a060020a0316610b20565b6104456004803603604081101561042f57600080fd5b50600160a060020a038135169060200135610d34565b6040805192835260208301919091528051918290030190f35b61031e6004803603606081101561047457600080fd5b50600160a060020a03813581169160208101359091169060400135610d6f565b6103e1610dd5565b6103d7600480360360208110156104b257600080fd5b5035600160a060020a0316610ddb565b6104ca610e36565b6040805160ff9092168252519081900360200190f35b6103d7610e3f565b6103d7600480360360208110156104fe57600080fd5b5035610eb7565b6105226004803603602081101561051b57600080fd5b5035610ec1565b604080519315158452600160a060020a03909216602084015282820152519081900360600190f35b6103e16004803603602081101561056057600080fd5b5035600160a060020a0316610eee565b6105936004803603604081101561058657600080fd5b5080359060200135610f00565b60408051600160a060020a039092168252519081900360200190f35b61031e610f9a565b61031e600480360360408110156105cd57600080fd5b50600160a060020a038135169060200135610faa565b6103d7600480360360208110156105f957600080fd5b5035610fce565b6103e16004803603602081101561061657600080fd5b5035600160a060020a0316610ff6565b6103d76004803603604081101561063c57600080fd5b50600160a060020a038135169060200135611015565b6103e16004803603602081101561066857600080fd5b5035611023565b61031e6004803603602081101561068557600080fd5b5035600160a060020a0316611038565b6103d761104d565b61031e600480360360608110156106b357600080fd5b50600160a060020a0381351690602081013590604001356110ca565b610593611128565b6103e1600480360360208110156106ed57600080fd5b5035611137565b61027d611386565b61031e6004803603604081101561071257600080fd5b50600160a060020a0381351690602001356113e1565b6103d76004803603606081101561073e57600080fd5b600160a060020a038235169160208101359181019060608101604082013564010000000081111561076e57600080fd5b82018360208201111561078057600080fd5b803590602001918460018302840111640100000000831117156107a257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061143e945050505050565b6103e1600480360360208110156107f957600080fd5b5035600160a060020a03166115c5565b6105936116a0565b6103e16116af565b6103d76004803603602081101561082f57600080fd5b50356116b5565b61031e6004803603604081101561084c57600080fd5b5080359060200135600160a060020a0316611980565b61031e6004803603604081101561087857600080fd5b50600160a060020a038135169060200135611a6f565b6103e1600480360360408110156108a457600080fd5b50600160a060020a0381358116916020013516611a93565b6103d7600480360360208110156108d257600080fd5b5035611abe565b6103e1600480360360208110156108ef57600080fd5b5035600160a060020a0316611de4565b6103d76004803603602081101561091557600080fd5b5035611df6565b6103d76004803603602081101561093257600080fd5b5035600160a060020a03166120a1565b6103d76004803603602081101561095857600080fd5b50356120c1565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156109e55780601f106109ba576101008083540402835291602001916109e5565b820191906000526020600020905b8154815290600101906020018083116109c857829003601f168201915b505050505081565b60035460009060a060020a900460ff1615610a0757600080fd5b610a1183836122f1565b90505b92915050565b600354600160a060020a03163314610a3157600080fd5b60005b8251811015610b15578251600090849083908110610a4e57fe5b60209081029091010151600160a060020a03161415610a6c57600080fd5b81600960008584815181101515610a7f57fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff19169115159190911790558251839082908110610abf57fe5b90602001906020020151600160a060020a03167f5fcbb78b58c04f459e28fba113b7b7248255a48fc71eca69650310daea63045183604051808215151515815260200191505060405180910390a2600101610a34565b505050565b60025481565b60035460a060020a900460ff1615610b3757600080fd5b600160a060020a038116600090815260046020526040902054801515610b5d5750610d31565b6000805b82811015610c4257610b71612bbd565b600160a060020a0385166000908152600460205260409020805483908110610b9557fe5b6000918252602091829020604080518082019091526002909202018054825260010154918101829052915015801590610bd2575080602001514210155b15610c29578051610bea90849063ffffffff61235716565b600160a060020a038616600090815260046020526040902080549194509083908110610c1257fe5b600091825260208220600290910201818155600101555b50610c3b81600163ffffffff61235716565b9050610b61565b50801515610c51575050610d31565b600160a060020a038316600090815260208190526040902054610c7a908263ffffffff61235716565b600160a060020a03841660009081526020818152604080832093909355600590522054610cad908263ffffffff61237116565b600160a060020a03841660009081526005602052604090208190551515610cef57600160a060020a0383166000908152600460205260408120610cef91612bd4565b604080518281529051600160a060020a038516917fd777ee46b5c5e9bff9903e5b77152b900a28b55ea90ea99766fa3b5237f970f6919081900360200190a250505b50565b600460205281600052604060002081815481101515610d4f57fe5b600091825260209091206002909102018054600190910154909250905082565b600b54600090600160a060020a0384811691161415610dc25760405160e560020a62461bcd02815260040180806020018281038252602b815260200180612c99602b913960400191505060405180910390fd5b610dcd848484612386565b949350505050565b600d5481565b600354600160a060020a03163314610df257600080fd5b600160a060020a0381161515610e0757600080fd5b600b805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60085460ff1681565b600354600160a060020a03163314610e5657600080fd5b60035460a060020a900460ff161515610e6e57600080fd5b6003805474ff0000000000000000000000000000000000000000191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b610d31338261239c565b600a602052600090815260409020805460019091015460ff8216916101009004600160a060020a03169083565b60056020526000908152604090205481565b6000610f0b83611023565b8210610f61576040805160e560020a62461bcd02815260206004820152600c60248201527f6f7574206f662072616e67650000000000000000000000000000000000000000604482015290519081900360640190fd5b6000838152600a60205260409020600201805483908110610f7e57fe5b600091825260209091200154600160a060020a03169392505050565b60035460a060020a900460ff1681565b60035460009060a060020a900460ff1615610fc457600080fd5b610a118383612433565b600354600160a060020a03163314610fe557600080fd5b801515610ff157600080fd5b600c55565b600160a060020a0381166000908152602081905260409020545b919050565b61101f8282612522565b5050565b6000908152600a602052604090206002015490565b60096020526000908152604090205460ff1681565b600354600160a060020a0316331461106457600080fd5b60035460a060020a900460ff161561107b57600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600b54600090600160a060020a038581169116141561111d5760405160e560020a62461bcd02815260040180806020018281038252602b815260200180612c99602b913960400191505060405180910390fd5b610dcd848484612584565b600354600160a060020a031681565b60035460009060a060020a900460ff161561115157600080fd5b600d546000818152600a60205260409020546101009004600160a060020a0316156111c6576040805160e560020a62461bcd02815260206004820152601460248201527f74727853657120616c7265616479206578697374000000000000000000000000604482015290519081900360640190fd5b336000908152602081905260409020548311156111e257600080fd5b6000818152600a60205260409020805474ffffffffffffffffffffffffffffffffffffffffff191661010033021781556001908101849055600d5461122691612357565b600d5530600090815260208190526040902054611249908463ffffffff61235716565b3060009081526020818152604080832093909355838252600a8152828220546101009004600160a060020a03168252819052205461128d908463ffffffff61237116565b6000828152600a602090815260408083208054600160a060020a036101009182900481168652858552838620969096559054049093168252600e905220546112db908463ffffffff61235716565b6000828152600a602081815260408084208054600160a060020a036101009182900481168752600e8552838720979097559487905292825282546001909301548151908152918201869052805193909204909316927f0d6395d68f2be6d031c8d9fb4808936534aa889710bbe57ef570d9c1c8f656f9929081900390910190a260408051848152905130913391600080516020612c798339815191529181900360200190a392915050565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156109e55780601f106109ba576101008083540402835291602001916109e5565b600b54600090600160a060020a03848116911614156114345760405160e560020a62461bcd02815260040180806020018281038252602b815260200180612c99602b913960400191505060405180910390fd5b610a118383612728565b600b54600160a060020a0316331461145557600080fd5b600160a060020a038316151561146a57600080fd5b6000821161147757600080fd5b6000611541600b60009054906101000a9004600160a060020a0316600160a060020a031663313ce5676040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156114e657600080fd5b505afa1580156114fa573d6000803e3d6000fd5b505050506040513d602081101561151057600080fd5b505160085460ff918216600a90810a926115359288929116900a63ffffffff61273d16565b9063ffffffff61276d16565b905061154d848261278e565b604080518281529051600160a060020a03861691600091600080516020612c798339815191529181900360200190a360408051848152600160208201528151600160a060020a038716927f7d3799764c16f58d28ad04f3ef5f27c8010bbdc67768bfc7b3b6701ae0e53903928290030190a250505050565b600160a060020a0381166000908152600460205260408120548015156115ef576000915050611010565b6000805b8281101561169857611603612bbd565b600160a060020a038616600090815260046020526040902080548390811061162757fe5b6000918252602091829020604080518082019091526002909202018054825260010154918101829052915015801590611664575080602001514210155b1561167f57805161167c90849063ffffffff61235716565b92505b5061169181600163ffffffff61235716565b90506115f3565b509392505050565b600b54600160a060020a031681565b600c5481565b6000818152600a60205260409020546101009004600160a060020a03161515611728576040805160e560020a62461bcd02815260206004820152601160248201527f5f747278536571206e6f74206578697374000000000000000000000000000000604482015290519081900360640190fd5b6000818152600a602052604090205460ff161561178f576040805160e560020a62461bcd02815260206004820152601460248201527f74727820616c7265616479206578656375746564000000000000000000000000604482015290519081900360640190fd5b3360009081526009602052604090205460ff16806117c857506000818152600a60205260409020546101009004600160a060020a031633145b15156117d357600080fd5b6000818152600a602090815260408083206001015430845291839052909120546118029163ffffffff61237116565b3060009081526020818152604080832093909355838252600a8152828220600181015490546101009004600160a060020a03168352908290529190205461184e9163ffffffff61235716565b6000828152600a602090815260408083208054600160a060020a0361010091829004811686528585528386209690965560018201549154049094168352600e9091529020546118a29163ffffffff61237116565b6000828152600a6020818152604080842080546101009004600160a060020a03168552600e83529084209490945584835252815474ffffffffffffffffffffffffffffffffffffffffff19168255600182018190556119046002830182612bf5565b5050604051819033907f36dae67a6b2662fa6156a4fdb499b74c51e3ea6d9de9ccc86b23d2e2fe085b6c90600090a36000818152600a6020908152604091829020805460019091015483519081529251610100909104600160a060020a0316923092600080516020612c7983398151915292918290030190a350565b6000828152600a60205260408120546101009004600160a060020a031615156119f3576040805160e560020a62461bcd02815260206004820152601060248201527f747278536571206e6f7420657869737400000000000000000000000000000000604482015290519081900360640190fd5b60005b6000848152600a6020526040902060020154811015611a65576000848152600a602052604090206002018054600160a060020a038516919083908110611a3857fe5b600091825260209091200154600160a060020a03161415611a5d576001915050610a14565b6001016119f6565b5060009392505050565b60035460009060a060020a900460ff1615611a8957600080fd5b610a118383612829565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b60035460a060020a900460ff1615611ad557600080fd5b6000818152600a602052604090208054600190910154610100909104600160a060020a031690811515611b52576040805160e560020a62461bcd02815260206004820152601060248201527f747278536571206e6f7420657869737400000000000000000000000000000000604482015290519081900360640190fd5b6000838152600a602052604090205460ff1615611bb9576040805160e560020a62461bcd02815260206004820152601360248201527f7472785365712068617320657865637574656400000000000000000000000000604482015290519081900360640190fd5b600c546000848152600a60205260409020600201541015611bd957600080fd5b600160a060020a038216331480611bff57503360009081526009602052604090205460ff165b1515611c0a57600080fd5b30600090815260208190526040902054811115611c2657600080fd5b611c30308261239c565b600160a060020a0382166000908152600e6020526040902054611c59908263ffffffff61237116565b600160a060020a038084166000818152600e6020908152604080832095909555878252600a8152848220805460ff19166001179055600b54855191820180875283835295517fc0ee0b8a0000000000000000000000000000000000000000000000000000000081526004810194855260248101889052606060448201908152835160648301528351929096169663c0ee0b8a968a968a96909491936084019291908190849084905b83811015611d19578181015183820152602001611d01565b50505050905090810190601f168015611d465780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015611d6757600080fd5b505af1158015611d7b573d6000803e3d6000fd5b5050506000848152600a6020908152604080832080546001909101548251908152928301939093528051610100909304600160a060020a031693507f7d3799764c16f58d28ad04f3ef5f27c8010bbdc67768bfc7b3b6701ae0e5390392918290030190a2505050565b600e6020526000908152604090205481565b3360009081526009602052604090205460ff161515611e1457600080fd5b6000818152600a60205260409020546101009004600160a060020a03161515611e87576040805160e560020a62461bcd02815260206004820152601160248201527f5f747278536571206e6f74206578697374000000000000000000000000000000604482015290519081900360640190fd5b611e918133611980565b1515611ee7576040805160e560020a62461bcd02815260206004820152601560248201527f5369676e6572206469646e277420636f6e6669726d0000000000000000000000604482015290519081900360640190fd5b6000818152600a602052604090205460ff1615611f4e576040805160e560020a62461bcd02815260206004820152601460248201527f74727820616c7265616479206578656375746564000000000000000000000000604482015290519081900360640190fd5b6000818152600a6020526040812060020154905b8181101561206f576000838152600a60205260409020600201805433919083908110611f8a57fe5b600091825260209091200154600160a060020a03161415612067576000838152600a60205260409020600201611fc783600163ffffffff61237116565b81548110611fd157fe5b6000918252602080832090910154858352600a90915260409091206002018054600160a060020a03909216918390811061200757fe5b6000918252602080832091909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039490941693909317909255848152600a90915260409020600201805490612061906000198301612c13565b5061206f565b600101611f62565b50604051829033907fdc2bfd080c3790dca6b377550e4f31b952c6a0fb6153080dd81677e219ec99c890600090a35050565b600354600160a060020a031633146120b857600080fd5b610d31816128c2565b3360009081526009602052604090205460ff1615156120df57600080fd5b6000818152600a60205260409020546101009004600160a060020a03161515612152576040805160e560020a62461bcd02815260206004820152601160248201527f5f747278536571206e6f74206578697374000000000000000000000000000000604482015290519081900360640190fd5b600c546000828152600a6020526040902060020154106121bc576040805160e560020a62461bcd02815260206004820152601e60248201527f74727820616c72656164792068617320656e6f756768207369676e6572730000604482015290519081900360640190fd5b6000818152600a602052604090205460ff1615612223576040805160e560020a62461bcd02815260206004820152601460248201527f74727820616c7265616479206578656375746564000000000000000000000000604482015290519081900360640190fd5b61222d8133611980565b15612282576040805160e560020a62461bcd02815260206004820152601860248201527f7369676e657220616c726561647920636f6e6669726d65640000000000000000604482015290519081900360640190fd5b6000818152600a602090815260408083206002018054600181018255908452918320909101805473ffffffffffffffffffffffffffffffffffffffff191633908117909155905183927f8c6087d792119c81c59c5de009a30bb0f1e1feffd604ab5bb0975478e785e06e91a350565b336000818152600160209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60008183600019031015151561236c57600080fd5b500190565b60008282111561238057600080fd5b50900390565b600061239184610b20565b610dcd848484612940565b600160a060020a03821615156123b157600080fd5b6002546123c4908263ffffffff61237116565b600255600160a060020a0382166000908152602081905260409020546123f0908263ffffffff61237116565b600160a060020a03831660008181526020818152604080832094909455835185815293519193600080516020612c79833981519152929081900390910190a35050565b336000908152600160209081526040808320600160a060020a038616845290915281205480831061248757336000908152600160209081526040808320600160a060020a03881684529091528120556124bc565b612497818463ffffffff61237116565b336000908152600160209081526040808320600160a060020a03891684529091529020555b336000818152600160209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600160a060020a0382166000908152600160209081526040808320338452909152902054612556908263ffffffff61237116565b600160a060020a038316600090815260016020908152604080832033845290915290205561101f828261239c565b60035460009060a060020a900460ff161561259e57600080fd5b6125a733610b20565b600160a060020a038416158015906125be57508215155b80156125c957508115155b15156125d457600080fd5b60006125f96125ec846201518063ffffffff61273d16565b429063ffffffff61235716565b600160a060020a038616600090815260046020908152604080832081518083018352898152808401868152825460018181018555938752858720925160029091029092019182555191015533835290829052902054909150612661908563ffffffff61237116565b3360009081526020818152604080832093909355600160a060020a0388168252600590522054612697908563ffffffff61235716565b600160a060020a038616600081815260056020908152604091829020939093558051878152905191923392600080516020612c798339815191529281900390910190a360408051858152602081018390528151600160a060020a038816927f2d814308d70a2c356e04b9495a463b35b22563f541e00d2dad99471d28496612928290030190a2506001949350505050565b600061273333610b20565b610a118383612965565b600082151561274e57506000610a14565b818360001981151561275c57fe5b04101561276857600080fd5b500290565b600081151561277b57600080fd5b818381151561278657fe5b049392505050565b600160a060020a0382166000908152602081905260409020546127b7908263ffffffff61235716565b600160a060020a0383166000908152602081905260409020556002546127e3908263ffffffff61235716565b600255604080518281529051600160a060020a038416917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a25050565b336000908152600160209081526040808320600160a060020a038616845290915281205461285d908363ffffffff61235716565b336000818152600160209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03811615156128d757600080fd5b600354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035460009060a060020a900460ff161561295a57600080fd5b610dcd848484612989565b60035460009060a060020a900460ff161561297f57600080fd5b610a118383612aee565b6000600160a060020a03831615156129a057600080fd5b600160a060020a0384166000908152602081905260409020548211156129c557600080fd5b600160a060020a03841660009081526001602090815260408083203384529091529020548211156129f557600080fd5b600160a060020a038416600090815260208190526040902054612a1e908363ffffffff61237116565b600160a060020a038086166000908152602081905260408082209390935590851681522054612a53908363ffffffff61235716565b600160a060020a03808516600090815260208181526040808320949094559187168152600182528281203382529091522054612a95908363ffffffff61237116565b600160a060020a0380861660008181526001602090815260408083203384528252918290209490945580518681529051928716939192600080516020612c79833981519152929181900390910190a35060019392505050565b6000600160a060020a0383161515612b0557600080fd5b33600090815260208190526040902054821115612b2157600080fd5b33600090815260208190526040902054612b41908363ffffffff61237116565b3360009081526020819052604080822092909255600160a060020a03851681522054612b73908363ffffffff61235716565b600160a060020a03841660008181526020818152604091829020939093558051858152905191923392600080516020612c798339815191529281900390910190a350600192915050565b604080518082019091526000808252602082015290565b5080546000825560020290600052602060002090810190610d319190612c37565b5080546000825590600052602060002090810190610d319190612c5e565b815481835581811115610b1557600083815260209020610b15918101908301612c5e565b612c5b91905b80821115612c575760008082556001820155600201612c3d565b5090565b90565b612c5b91905b80821115612c575760008155600101612c6456feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef63616e2774207472616e7366657220746f20416263546f6b656e2061646472657373206469726563746c79a165627a7a72305820a347979b9596fcb674fad07dbf5f5654984113ed576302ef270b56e1fd34302a0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000014436572636c652053746f636b205365727669636500000000000000000000000000000000000000000000000000000000000000000000000000000000000000034353530000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _name (string): Cercle Stock Service
Arg [1] : _symbol (string): CSS
Arg [2] : _decimals (uint8): 8
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000014
Arg [4] : 436572636c652053746f636b2053657276696365000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [6] : 4353530000000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
14416:10323:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14416:10323:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14122:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;14122:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10662:140;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;10662:140:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;17609:302;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17609:302:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;17609:302:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;17609:302:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;17609:302:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;17609:302:0;;-1:-1:-1;;;;17609:302:0;;;;-1:-1:-1;17609:302:0;:::i;:::-;;3782:26;;;:::i;:::-;;;;;;;;;;;;;;;;12867:708;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12867:708:0;-1:-1:-1;;;;;12867:708:0;;:::i;11300:48::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;11300:48:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;16590:241;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;16590:241:0;;;;;;;;;;;;;;;;;:::i;14799:30::-;;;:::i;17283:130::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17283:130:0;-1:-1:-1;;;;;17283:130:0;;:::i;14210:21::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3476:105;;;:::i;9772:79::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9772:79:0;;:::i;14618:42::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14618:42:0;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;14618:42:0;;;;;;;;;;;;;;;;;;;;11352:49;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11352:49:0;-1:-1:-1;;;;;11352:49:0;;:::i;19154:228::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19154:228:0;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;19154:228:0;;;;;;;;;;;;;;2795:26;;;:::i;10994:186::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;10994:186:0;;;;;;;;:::i;18066:160::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18066:160:0;;:::i;4195:106::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4195:106:0;-1:-1:-1;;;;;4195:106:0;;:::i;10108:95::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;10108:95:0;;;;;;;;:::i;18799:142::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18799:142:0;;:::i;14571:40::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14571:40:0;-1:-1:-1;;;;;14571:40:0;;:::i;3278:103::-;;;:::i;16962:256::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;16962:256:0;;;;;;;;;;;;;:::i;1604:20::-;;;:::i;19557:886::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19557:886:0;;:::i;14164:20::-;;;:::i;16250:212::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;16250:212:0;;;;;;;;:::i;24015:465::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;24015:465:0;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;24015:465:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;24015:465:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;24015:465:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;24015:465:0;;-1:-1:-1;24015:465:0;;-1:-1:-1;;;;;24015:465:0:i;13652:409::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13652:409:0;-1:-1:-1;;;;;13652:409:0;;:::i;14667:26::-;;;:::i;14724:33::-;;;:::i;22108:825::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22108:825:0;;:::i;18322:380::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18322:380:0;;;;;;-1:-1:-1;;;;;18322:380:0;;:::i;10810:176::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;10810:176:0;;;;;;;;:::i;4640:133::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4640:133:0;;;;;;;;;;:::i;23095:807::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23095:807:0;;:::i;14869:47::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14869:47:0;-1:-1:-1;;;;;14869:47:0;;:::i;21254:720::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21254:720:0;;:::i;2262:109::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2262:109:0;-1:-1:-1;;;;;2262:109:0;;:::i;20583:527::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20583:527:0;;:::i;14122:18::-;;;;;;;;;;;;;;;-1:-1:-1;;14122:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10662:140::-;2981:6;;10741:4;;-1:-1:-1;;;2981:6:0;;;;2980:7;2972:16;;;;;;10765:29;10779:7;10788:5;10765:13;:29::i;:::-;10758:36;;2999:1;10662:140;;;;:::o;17609:302::-;2059:5;;-1:-1:-1;;;;;2059:5:0;2045:10;:19;2037:28;;;;;;17704:9;17700:204;17721:8;:15;17718:1;:18;17700:204;;;17764:11;;17787:1;;17764:8;;17773:1;;17764:11;;;;;;;;;;;;;;;-1:-1:-1;;;;;17764:25:0;;;17756:34;;;;;;17829:10;17805:8;:21;17814:8;17823:1;17814:11;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17805:21:0;;;;;;;;;;;-1:-1:-1;17805:21:0;:34;;-1:-1:-1;;17805:34:0;;;;;;;;;;17869:11;;;;17878:1;;17869:11;;;;;;;;;;;;;;-1:-1:-1;;;;;17859:33:0;;17881:10;17859:33;;;;;;;;;;;;;;;;;;;;;;17737:3;;17700:204;;;;17609:302;;:::o;3782:26::-;;;;:::o;12867:708::-;2981:6;;-1:-1:-1;;;2981:6:0;;;;2980:7;2972:16;;;;;;-1:-1:-1;;;;;12941:19:0;;12927:11;12941:19;;;:10;:19;;;;;:26;12976:8;;12972:21;;;12986:7;;;12972:21;12997:23;;13029:251;13052:3;13048:1;:7;13029:251;;;13076:19;;:::i;:::-;-1:-1:-1;;;;;13098:19:0;;;;;;:10;:19;;;;;:22;;13118:1;;13098:22;;;;;;;;;;;;;;;13076:44;;;;;;;;;13098:22;;;;;13076:44;;;;;;;;;;;;;;-1:-1:-1;13129:20:0;;;;:46;;;13160:3;:15;;;13153:3;:22;;13129:46;13126:149;;;13221:10;;13201:31;;:15;;:31;:19;:31;:::i;:::-;-1:-1:-1;;;;;13246:19:0;;;;;;:10;:19;;;;;:22;;13183:49;;-1:-1:-1;13246:19:0;13266:1;;13246:22;;;;;;;;;;;;;;;;;;13239:29;;;;;;13126:149;-1:-1:-1;13061:8:0;:1;13067;13061:8;:5;:8;:::i;:::-;13057:12;;13029:251;;;-1:-1:-1;13287:20:0;;13284:32;;;13309:7;;;;13284:32;-1:-1:-1;;;;;13340:17:0;;:8;:17;;;;;;;;;;;:38;;13362:15;13340:38;:21;:38;:::i;:::-;-1:-1:-1;;;;;13320:17:0;;:8;:17;;;;;;;;;;;:58;;;;13409:14;:23;;;;:44;;13437:15;13409:44;:27;:44;:::i;:::-;-1:-1:-1;;;;;13383:23:0;;;;;;:14;:23;;;;;:70;;;13461:28;13458:62;;;-1:-1:-1;;;;;13501:19:0;;;;;;:10;:19;;;;;13494:26;;;:::i;:::-;13530:38;;;;;;;;-1:-1:-1;;;;;13530:38:0;;;;;;;;;;;;;2999:1;;;12867:708;:::o;11300:48::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11300:48:0;-1:-1:-1;11300:48:0;:::o;16590:241::-;16711:11;;16671:12;;-1:-1:-1;;;;;16704:18:0;;;16711:11;;16704:18;;16696:73;;;;-1:-1:-1;;;;;16696:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16787:36;16806:5;16812:3;16816:6;16787:18;:36::i;:::-;16780:43;16590:241;-1:-1:-1;;;;16590:241:0:o;14799:30::-;;;;:::o;17283:130::-;2059:5;;-1:-1:-1;;;;;2059:5:0;2045:10;:19;2037:28;;;;;;-1:-1:-1;;;;;17357:18:0;;;;17349:27;;;;;;17387:11;:18;;-1:-1:-1;;17387:18:0;-1:-1:-1;;;;;17387:18:0;;;;;;;;;;17283:130::o;14210:21::-;;;;;;:::o;3476:105::-;2059:5;;-1:-1:-1;;;;;2059:5:0;2045:10;:19;2037:28;;;;;;3159:6;;-1:-1:-1;;;3159:6:0;;;;3151:15;;;;;;;;3534:6;:14;;-1:-1:-1;;3534:14:0;;;3564:9;;;;3543:5;;3564:9;3476:105::o;9772:79::-;9819:24;9825:10;9837:5;9819;:24::i;14618:42::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14618:42:0;;;:::o;11352:49::-;;;;;;;;;;;;;:::o;19154:228::-;19234:7;19271:33;19296:7;19271:24;:33::i;:::-;19262:42;;19254:66;;;;;-1:-1:-1;;;;;19254:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;19338:20;;;;:11;:20;;;;;:28;;:36;;19367:6;;19338:36;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19338:36:0;;19154:228;-1:-1:-1;;;19154:228:0:o;2795:26::-;;;-1:-1:-1;;;2795:26:0;;;;;:::o;10994:186::-;2981:6;;11092:12;;-1:-1:-1;;;2981:6:0;;;;2980:7;2972:16;;;;;;11124:48;11147:7;11156:15;11124:22;:48::i;18066:160::-;2059:5;;-1:-1:-1;;;;;2059:5:0;2045:10;:19;2037:28;;;;;;18154:20;;;18146:29;;;;;;18186:14;:32;18066:160::o;4195:106::-;-1:-1:-1;;;;;4277:16:0;;4250:7;4277:16;;;;;;;;;;;4195:106;;;;:::o;10108:95::-;10173:22;10183:4;10189:5;10173:9;:22::i;:::-;10108:95;;:::o;18799:142::-;18871:7;18898:20;;;:11;:20;;;;;:28;;:35;;18799:142::o;14571:40::-;;;;;;;;;;;;;;;:::o;3278:103::-;2059:5;;-1:-1:-1;;;;;2059:5:0;2045:10;:19;2037:28;;;;;;2981:6;;-1:-1:-1;;;2981:6:0;;;;2980:7;2972:16;;;;;;3337:6;:13;;-1:-1:-1;;3337:13:0;-1:-1:-1;;;3337:13:0;;;3366:7;;;;3337:13;;3366:7;3278:103::o;16962:256::-;17091:11;;17051:12;;-1:-1:-1;;;;;17084:18:0;;;17091:11;;17084:18;;17076:73;;;;-1:-1:-1;;;;;17076:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17167:43;17189:3;17193:6;17200:9;17167:21;:43::i;1604:20::-;;;-1:-1:-1;;;;;1604:20:0;;:::o;19557:886::-;2981:6;;19631:7;;-1:-1:-1;;;2981:6:0;;;;2980:7;2972:16;;;;;;19668:11;;19651:14;19698:19;;;:11;:19;;;;;:24;;;;-1:-1:-1;;;;;19698:24:0;:38;19690:70;;;;;-1:-1:-1;;;;;19690:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;19788:10;19779:8;:20;;;;;;;;;;;:30;-1:-1:-1;19779:30:0;19771:39;;;;;;19852:5;19821:19;;;:11;:19;;;;;:36;;-1:-1:-1;;19868:37:0;19821:36;19895:10;19868:37;;;;-1:-1:-1;19916:25:0;;;:34;;;19975:11;;:18;;:15;:18::i;:::-;19961:11;:32;20047:4;20030:8;:23;;;;;;;;;;;:35;;20058:6;20030:35;:27;:35;:::i;:::-;20021:4;20004:8;:23;;;;;;;;;;;:61;;;;20122:19;;;:11;:19;;;;;:24;;;;-1:-1:-1;;;;;20122:24:0;20113:34;;;;;;;:46;;20152:6;20113:46;:38;:46;:::i;:::-;20076:8;20085:19;;;:11;:19;;;;;;;;:24;;-1:-1:-1;;;;;20085:24:0;;;;;;;20076:34;;;;;;;;:83;;;;20224:24;;;;;;20211:38;;:12;:38;;;;:50;;20254:6;20211:50;:42;:50;:::i;:::-;20170:38;20183:19;;;:11;:19;;;;;;;;:24;;-1:-1:-1;;;;;20183:24:0;;;;;;;20170:38;;:12;:38;;;;;:91;;;;20296:19;;;;;;;:24;;20183;20321:25;;;;20277:77;;;;;;;;;;;;;20296:24;;;;;;;;20277:77;;;;;;;;;;;20370:41;;;;;;;;20398:4;;20379:10;;-1:-1:-1;;;;;;;;;;;20370:41:0;;;;;;;;20429:6;19557:886;-1:-1:-1;;19557:886:0:o;14164:20::-;;;;;;;;;;;;;;;-1:-1:-1;;14164:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16250:212;16352:11;;16312:12;;-1:-1:-1;;;;;16345:18:0;;;16352:11;;16345:18;;16337:73;;;;-1:-1:-1;;;;;16337:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16428:26;16443:3;16447:6;16428:14;:26::i;24015:465::-;24120:11;;-1:-1:-1;;;;;24120:11:0;24106:10;:25;24098:34;;;;;;-1:-1:-1;;;;;24151:19:0;;;;24143:28;;;;;;24199:1;24190:10;;24182:19;;;;;;24212:22;24237:88;24300:11;;;;;;;;;-1:-1:-1;;;;;24300:11:0;-1:-1:-1;;;;;24287:34:0;;:36;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24287:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;24287:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;24287:36:0;24260:8;;24279:45;;;;24275:2;:49;;;;24237:33;;:6;;24260:8;;24248:21;;24237:33;:10;:33;:::i;:::-;:37;:88;:37;:88;:::i;:::-;24212:113;;24336:28;24342:5;24349:14;24336:5;:28::i;:::-;24380:44;;;;;;;;-1:-1:-1;;;;;24380:44:0;;;24397:4;;-1:-1:-1;;;;;;;;;;;24380:44:0;;;;;;;;24440:32;;;;;;24467:4;24440:32;;;;;;-1:-1:-1;;;;;24440:32:0;;;;;;;;;;;24015:465;;;;:::o;13652:409::-;-1:-1:-1;;;;;13743:19:0;;13715:7;13743:19;;;:10;:19;;;;;:26;13778:8;;13774:22;;;13795:1;13788:8;;;;;13774:22;13801:18;;13828:205;13851:3;13847:1;:7;13828:205;;;13875:19;;:::i;:::-;-1:-1:-1;;;;;13897:19:0;;;;;;:10;:19;;;;;:22;;13917:1;;13897:22;;;;;;;;;;;;;;;13875:44;;;;;;;;;13897:22;;;;;13875:44;;;;;;;;;;;;;;-1:-1:-1;13928:20:0;;;;:46;;;13959:3;:15;;;13952:3;:22;;13928:46;13925:103;;;14010:10;;13995:26;;:10;;:26;:14;:26;:::i;:::-;13982:39;;13925:103;-1:-1:-1;13860:8:0;:1;13866;13860:8;:5;:8;:::i;:::-;13856:12;;13828:205;;;-1:-1:-1;14045:10:0;13652:409;-1:-1:-1;;;13652:409:0:o;14667:26::-;;;-1:-1:-1;;;;;14667:26:0;;:::o;14724:33::-;;;;:::o;22108:825::-;22219:1;22182:20;;;:11;:20;;;;;:25;;;;-1:-1:-1;;;;;22182:25:0;:39;;22174:68;;;;;-1:-1:-1;;;;;22174:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;22261:20;;;;:11;:20;;;;;:29;;;:38;22253:70;;;;;-1:-1:-1;;;;;22253:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;22351:10;22342:20;;;;:8;:20;;;;;;;;;:63;;-1:-1:-1;22366:20:0;;;;:11;:20;;;;;:25;;;;-1:-1:-1;;;;;22366:25:0;22395:10;22366:39;22342:63;22334:72;;;;;;;;22471:20;;;;:11;:20;;;;;;;;:26;;;22460:4;22443:23;;;;;;;;;;:55;;;:27;:55;:::i;:::-;22434:4;22417:8;:23;;;;;;;;;;;:81;;;;22587:20;;;:11;:20;;;;;:26;;;;22556:25;;;;;-1:-1:-1;;;;;22556:25:0;22547:35;;;;;;;;;;:67;;;:39;:67;:::i;:::-;22509:8;22518:20;;;:11;:20;;;;;;;;:25;;-1:-1:-1;;;;;22518:25:0;;;;;;;22509:35;;;;;;;;:105;;;;22518:25;22711:26;;;22680:25;;;;;;22667:39;;:12;:39;;;;;;:71;;;:43;:71;:::i;:::-;22625:39;22638:20;;;:11;:20;;;;;;;;:25;;;;;-1:-1:-1;;;;;22638:25:0;22625:39;;:12;:39;;;;;:113;;;;22756:20;;;;22749:27;;-1:-1:-1;;22749:27:0;;;-1:-1:-1;22749:27:0;;;;;;;;;22625:39;22749:27;:::i;:::-;-1:-1:-1;;22792:41:0;;22825:7;;22814:10;;22792:41;;;;;22872:20;;;;:11;:20;;;;;;;;;:25;;;22898:26;;;;22849:76;;;;;;;22872:25;;;;-1:-1:-1;;;;;22872:25:0;;22866:4;;-1:-1:-1;;;;;;;;;;;22849:76:0;;;;;;;;22108:825;:::o;18322:380::-;18397:4;18422:20;;;:11;:20;;;;;:25;;;;-1:-1:-1;;;;;18422:25:0;:39;;18414:67;;;;;-1:-1:-1;;;;;18414:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;18496:9;18492:180;18514:20;;;;:11;:20;;;;;:28;;:35;18510:39;;18492:180;;;18572:20;;;;:11;:20;;;;;:28;;:31;;-1:-1:-1;;;;;18572:42:0;;;:28;18601:1;;18572:31;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18572:31:0;:42;18569:92;;;18641:4;18634:11;;;;;18569:92;18550:3;;18492:180;;;-1:-1:-1;18689:5:0;;18322:380;-1:-1:-1;;;18322:380:0:o;10810:176::-;2981:6;;10903:12;;-1:-1:-1;;;2981:6:0;;;;2980:7;2972:16;;;;;;10935:43;10958:7;10967:10;10935:22;:43::i;4640:133::-;-1:-1:-1;;;;;4740:15:0;;;4713:7;4740:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;4640:133::o;23095:807::-;2981:6;;-1:-1:-1;;;2981:6:0;;;;2980:7;2972:16;;;;;;23171:12;23186:20;;;:11;:20;;;;;:25;;;23238:26;;;;23186:25;;;;-1:-1:-1;;;;;23186:25:0;;23283:18;;;23275:46;;;;;-1:-1:-1;;;;;23275:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;23340:20;;;;:11;:20;;;;;:29;;;:38;23332:69;;;;;-1:-1:-1;;;;;23332:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;23459:14;;23420:20;;;;:11;:20;;;;;:28;;:35;:53;;23412:62;;;;;;-1:-1:-1;;;;;23493:18:0;;23501:10;23493:18;;:41;;-1:-1:-1;23523:10:0;23514:20;;;;:8;:20;;;;;;;;23493:41;23485:50;;;;;;;;23580:4;23563:8;:23;;;;;;;;;;;23554:32;;;23546:41;;;;;;23598:27;23612:4;23619:5;23598;:27::i;:::-;-1:-1:-1;;;;;23657:18:0;;;;;;:12;:18;;;;;;:29;;23680:5;23657:29;:22;:29;:::i;:::-;-1:-1:-1;;;;;23636:18:0;;;;;;;:12;:18;;;;;;;;:50;;;;23697:20;;;:11;:20;;;;;:36;;-1:-1:-1;;23697:36:0;23729:4;23697:36;;;23757:11;;23795:9;;;;;;;;;;;23744:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23757:11;;;;;23744:39;;23649:4;;23789:5;;23744:61;;;;;;;23795:9;23744:61;;;;;23795:9;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;23744:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23744:61:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;23835:20:0;;;;:11;:20;;;;;;;;:25;;;23861:26;;;;23821:73;;;;;;;;;;;;;;23835:25;;;;-1:-1:-1;;;;;23835:25:0;;-1:-1:-1;23821:73:0;;;;;;;;;2999:1;;23095:807;:::o;14869:47::-;;;;;;;;;;;;;:::o;21254:720::-;15767:10;15758:20;;;;:8;:20;;;;;;;;15750:29;;;;;;;;21368:1;21331:20;;;:11;:20;;;;;:25;;;;-1:-1:-1;;;;;21331:25:0;:39;;21323:68;;;;;-1:-1:-1;;;;;21323:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;21410:32;21422:7;21431:10;21410:11;:32::i;:::-;21402:65;;;;;;;-1:-1:-1;;;;;21402:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;21486:20;;;;:11;:20;;;;;:29;;;:38;21478:70;;;;;-1:-1:-1;;;;;21478:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;21559:11;21573:20;;;:11;:20;;;;;:28;;:35;;21619:296;21641:3;21637:1;:7;21619:296;;;21667:20;;;;:11;:20;;;;;:28;;:31;;21702:10;;21667:28;21696:1;;21667:31;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21667:31:0;:45;21664:240;;;21766:20;;;;:11;:20;;;;;:28;;21795:10;:3;21803:1;21795:10;:7;:10;:::i;:::-;21766:40;;;;;;;;;;;;;;;;;;;;21732:20;;;:11;:20;;;;;;;:28;;:31;;-1:-1:-1;;;;;21766:40:0;;;;21761:1;;21732:31;;;;;;;;;;;;;;;;;;:74;;-1:-1:-1;;21732:74:0;-1:-1:-1;;;;;21732:74:0;;;;;;;;;;;21826:20;;;:11;:20;;;;;;:28;;:38;;;;;-1:-1:-1;;21826:38:0;;;:::i;:::-;;21883:5;;21664:240;21645:3;;21619:296;;;-1:-1:-1;21930:36:0;;21958:7;;21947:10;;21930:36;;;;;15790:1;21254:720;:::o;2262:109::-;2059:5;;-1:-1:-1;;;;;2059:5:0;2045:10;:19;2037:28;;;;;;2335;2354:8;2335:18;:28::i;20583:527::-;15767:10;15758:20;;;;:8;:20;;;;;;;;15750:29;;;;;;;;20702:1;20665:20;;;:11;:20;;;;;:25;;;;-1:-1:-1;;;;;20665:25:0;:39;;20657:68;;;;;-1:-1:-1;;;;;20657:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;20782:14;;20744:20;;;;:11;:20;;;;;:28;;:35;:52;20736:94;;;;;-1:-1:-1;;;;;20736:94:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;20849:20;;;;:11;:20;;;;;:29;;;:38;20841:70;;;;;-1:-1:-1;;;;;20841:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;20930:32;20942:7;20951:10;20930:11;:32::i;:::-;:41;20922:77;;;;;-1:-1:-1;;;;;20922:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;21010:20;;;;:11;:20;;;;;;;;:28;;27:10:-1;;39:1;23:18;;45:23;;21010:45:0;;;;;;;;;;;-1:-1:-1;;21010:45:0;21044:10;21010:45;;;;;;21071:31;;21022:7;;21071:31;;;20583:527;:::o;5950:205::-;6041:10;6016:4;6033:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;6033:29:0;;;;;;;;;;;:38;;;6087;;;;;;;6016:4;;6033:29;;6041:10;;6087:38;;;;;;;;-1:-1:-1;6143:4:0;5950:205;;;;:::o;989:140::-;1048:7;1093:2;1087;-1:-1:-1;;1076:13:0;:19;;1068:28;;;;;;;;-1:-1:-1;1114:7:0;;989:140::o;782:129::-;841:7;869:8;;;;861:17;;;;;;-1:-1:-1;896:7:0;;;782:129::o;12648:170::-;12727:4;12744:13;12752:4;12744:7;:13::i;:::-;12775:35;12794:4;12800:2;12804:5;12775:18;:35::i;8651:263::-;-1:-1:-1;;;;;8726:21:0;;;;8718:30;;;;;;8773:11;;:22;;8789:5;8773:22;:15;:22;:::i;:::-;8759:11;:36;-1:-1:-1;;;;;8826:17:0;;:8;:17;;;;;;;;;;;:28;;8848:5;8826:28;:21;:28;:::i;:::-;-1:-1:-1;;;;;8806:17:0;;:8;:17;;;;;;;;;;;:48;;;;8870:36;;;;;;;8806:8;;-1:-1:-1;;;;;;;;;;;8870:36:0;;;;;;;;;;8651:263;;:::o;8187:456::-;8316:10;8272:4;8308:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;8308:29:0;;;;;;;;;;8352:28;;;8348:189;;8405:10;8429:1;8397:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;8397:29:0;;;;;;;;;:33;8348:189;;;8495:30;:8;8508:16;8495:30;:12;:30;:::i;:::-;8471:10;8463:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;8463:29:0;;;;;;;;;:62;8348:189;8561:10;8583:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;8552:61:0;;8583:29;;;;;;;;;;;8552:61;;;;;;;;;8561:10;8552:61;;;;;;;;;;;-1:-1:-1;8631:4:0;;8187:456;-1:-1:-1;;;8187:456:0:o;9243:350::-;-1:-1:-1;;;;;9514:16:0;;;;;;:7;:16;;;;;;;;9531:10;9514:28;;;;;;;;:39;;9547:5;9514:39;:32;:39;:::i;:::-;-1:-1:-1;;;;;9483:16:0;;;;;;:7;:16;;;;;;;;9500:10;9483:28;;;;;;;:70;9564:21;9491:7;9579:5;9564;:21::i;11758:544::-;2981:6;;11858:4;;-1:-1:-1;;;2981:6:0;;;;2980:7;2972:16;;;;;;11869:19;11877:10;11869:7;:19::i;:::-;-1:-1:-1;;;;;11901:16:0;;;;;;:30;;-1:-1:-1;11921:10:0;;;11901:30;:47;;;;-1:-1:-1;11935:13:0;;;11901:47;11893:56;;;;;;;;11954:20;11977:29;11985:20;:8;11998:6;11985:20;:12;:20;:::i;:::-;11977:3;;:29;:7;:29;:::i;:::-;-1:-1:-1;;;;;12011:14:0;;;;;;:10;:14;;;;;;;;12031:50;;;;;;;;;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;12011:71:0;;;;;;;;;;;;;;;;;;;;;;12119:10;12110:20;;;;;;;;;11954:52;;-1:-1:-1;12110:31:0;;12048:5;12110:31;:24;:31;:::i;:::-;12096:10;12087:8;:20;;;;;;;;;;;:54;;;;-1:-1:-1;;;;;12167:18:0;;;;:14;:18;;;;:29;;12190:5;12167:29;:22;:29;:::i;:::-;-1:-1:-1;;;;;12146:18:0;;;;;;:14;:18;;;;;;;;;:50;;;;12206:31;;;;;;;12146:18;;12215:10;;-1:-1:-1;;;;;;;;;;;12206:31:0;;;;;;;;;12247:34;;;;;;;;;;;;;;-1:-1:-1;;;;;12247:34:0;;;;;;;;;;;-1:-1:-1;12293:4:0;;11758:544;-1:-1:-1;;;;11758:544:0:o;12402:142::-;12463:4;12474:19;12482:10;12474:7;:19::i;:::-;12511:25;12526:2;12530:5;12511:14;:25::i;203:198::-;262:7;286;;282:48;;;-1:-1:-1;317:1:0;310:8;;282:48;365:2;359;-1:-1:-1;;348:13:0;;;;;;;;:19;;340:28;;;;;;-1:-1:-1;386:7:0;;203:198::o;526:128::-;585:7;613;;;605:16;;;;;;644:2;639;:7;;;;;;;;;526:128;-1:-1:-1;;;526:128:0:o;24534:202::-;-1:-1:-1;;;;;24620:16:0;;:8;:16;;;;;;;;;;;:27;;24641:5;24620:27;:20;:27;:::i;:::-;-1:-1:-1;;;;;24601:16:0;;:8;:16;;;;;;;;;;:46;24672:11;;:22;;24688:5;24672:22;:15;:22;:::i;:::-;24658:11;:36;24710:18;;;;;;;;-1:-1:-1;;;;;24710:18:0;;;;;;;;;;;;;24534:202;;:::o;7419:282::-;7556:10;7499:4;7548:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;7548:29:0;;;;;;;;;;:46;;7582:11;7548:46;:33;:46;:::i;:::-;7524:10;7516:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;7516:29:0;;;;;;;;;;;;:78;;;7610:61;;;;;;7516:29;;7610:61;;;;;;;;;;;-1:-1:-1;7689:4:0;7419:282;;;;:::o;2521:185::-;-1:-1:-1;;;;;2595:22:0;;;;2587:31;;;;;;2655:5;;2634:37;;-1:-1:-1;;;;;2634:37:0;;;;2655:5;;2634:37;;2655:5;;2634:37;2682:5;:16;;-1:-1:-1;;2682:16:0;-1:-1:-1;;;;;2682:16:0;;;;;;;;;;2521:185::o;10494:160::-;2981:6;;10587:4;;-1:-1:-1;;;2981:6:0;;;;2980:7;2972:16;;;;;;10611:35;10630:4;10636:2;10640:5;10611:18;:35::i;10354:132::-;2981:6;;10429:4;;-1:-1:-1;;;2981:6:0;;;;2980:7;2972:16;;;;;;10453:25;10468:2;10472:5;10453:14;:25::i;6451:487::-;6532:4;-1:-1:-1;;;;;6557:17:0;;;;6549:26;;;;;;-1:-1:-1;;;;;6604:15:0;;:8;:15;;;;;;;;;;;6594:25;;;6586:34;;;;;;-1:-1:-1;;;;;6649:14:0;;;;;;:7;:14;;;;;;;;6664:10;6649:26;;;;;;;;6639:36;;;6631:45;;;;;;-1:-1:-1;;;;;6707:15:0;;:8;:15;;;;;;;;;;;:27;;6727:6;6707:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;6689:15:0;;;:8;:15;;;;;;;;;;;:45;;;;6761:13;;;;;;;:25;;6779:6;6761:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;6745:13:0;;;:8;:13;;;;;;;;;;;:41;;;;6826:14;;;;;:7;:14;;;;;6841:10;6826:26;;;;;;;:38;;6857:6;6826:38;:30;:38;:::i;:::-;-1:-1:-1;;;;;6797:14:0;;;;;;;:7;:14;;;;;;;;6812:10;6797:26;;;;;;;;:67;;;;6880:28;;;;;;;;;;;6797:14;;-1:-1:-1;;;;;;;;;;;6880:28:0;;;;;;;;;;-1:-1:-1;6926:4:0;6451:487;;;;;:::o;4949:354::-;5011:4;-1:-1:-1;;;;;5036:17:0;;;;5028:26;;;;;;5092:10;5083:8;:20;;;;;;;;;;;5073:30;;;5065:39;;;;;;5149:10;5140:8;:20;;;;;;;;;;;:32;;5165:6;5140:32;:24;:32;:::i;:::-;5126:10;5117:8;:20;;;;;;;;;;;:55;;;;-1:-1:-1;;;;;5199:13:0;;;;;;:25;;5217:6;5199:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;5183:13:0;;:8;:13;;;;;;;;;;;;:41;;;;5240:33;;;;;;;5183:13;;5249:10;;-1:-1:-1;;;;;;;;;;;5240:33:0;;;;;;;;;-1:-1:-1;5291:4:0;4949:354;;;;:::o;14416:10323::-;;;;;;;;;;-1:-1:-1;14416:10323:0;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;
Swarm Source
bzzr://a347979b9596fcb674fad07dbf5f5654984113ed576302ef270b56e1fd34302a
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.