Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
0x60806040 | 9129757 | 1613 days ago | IN | Create: ZipmexTokenV1 | 0 ETH | 0.0148525 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
ZipmexTokenV1
Compiler Version
v0.4.26+commit.4563c3fc
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-12-19 */ pragma solidity ^0.4.26; // --------------------------------------------------------------------- // Zipmex ERC20 Token - https://zipmex.com // // Symbol : ZMT // Name : Zipmex Token // Decimals : 18 // Total supply : 200,000,000 // Version : 1 // // Notes : This token is upgradable using CALLDELEGATE pattern (courtesy of https://openzeppelin.org/). // It should NOT be accessed directly but through the proxy contract address using this contract's ABI. // Initially only addresses with transferGrant can transfer the tokens. // Once transferable flag is turned on, everyone can transfer freely. // // Author: Radek Ostrowski - [email protected] // --------------------------------------------------------------------- /** * @title ApproveAndCall * @dev Interface function called from `approveAndCall` notifying that the approval happened */ contract ApproveAndCall { function receiveApproval(address _from, uint256 _amount, address _tokenContract, bytes _data) public returns (bool); } /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 { function transfer(address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); function transferFrom(address from, address to, uint256 value) public returns (bool); function balanceOf(address _who) public view returns (uint256); function allowance(address _owner, address _spender) public view returns (uint256); } /** * @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 OwnershipRenounced(address indexed previousOwner); 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 relinquish control of the contract. */ function renounceOwnership() public onlyOwner { emit OwnershipRenounced(owner); owner = address(0); } /** * @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; } } /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0); uint256 c = a / b; return c; } /** * @dev Substracts two numbers, throws 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, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a); return c; } } contract ZipmexTokenV1 is Ownable, ERC20 { using SafeMath for uint256; event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); event TransfersEnabled(); event TransferRightGiven(address indexed _to); event TransferRightCancelled(address indexed _from); string internal name_; string internal symbol_; uint8 internal decimals_; uint256 internal totalSupply_; mapping(address => uint256) internal balances; mapping(address => mapping(address => uint256)) internal allowed; uint256 internal version_; mapping(uint256 => bool) internal initialized; //This mapping is used for the token owner(s) to //transfer tokens before they are transferable by the public mapping(address => bool) public transferGrants; //This flag controls the global token transfer bool public transferable; /** * @dev Modifier to check if tokens can be transferred. */ modifier canTransfer() { require(transferable || transferGrants[msg.sender]); _; } /** * @dev Initialisation method representing a constructor in the DELEGATECALL proxy pattern, callable only once. * @param tokenOwner The address of the token owner, also holding initially minted tokens * * Parameter tokenOwner should be different then the proxy admin, otherwise the calls will not be delegated. */ function initialize(address tokenOwner) public { version_ = 1; require(!initialized[version_]); name_ = "Zipmex Token"; symbol_ = "ZMT"; decimals_ = 18; //200 million totalSupply_ = 200000000 * (10 ** uint256(decimals_)); balances[tokenOwner] = totalSupply_; emit Transfer(address(0), tokenOwner, totalSupply_); transferGrants[tokenOwner] = true; owner = tokenOwner; initialized[version_] = true; } /** * @dev Transfer token for a specified address * @param _to The address to transfer to. * @param _value The amount to be transferred. */ function transfer(address _to, uint256 _value) public canTransfer returns (bool) { require(_to != address(0)); require(_value <= balances[msg.sender]); // SafeMath.sub will throw if there is not enough balance. balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); emit Transfer(msg.sender, _to, _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 amount of tokens to be transferred */ function transferFrom(address _from, address _to, uint256 _value) public canTransfer 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 Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * * Beware that changing an allowance with this method brings the risk that someone may use both the old * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * @param _spender The address which will spend the funds. * @param _value The amount of tokens to be spent. */ function approve(address _spender, uint256 _value) public canTransfer returns (bool) { allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } /** * @dev Function to check the amount of tokens that an owner allowed to a spender. * @param _owner address The address which owns the funds. * @param _spender address The address which will spend the funds. * @return A uint256 specifying the amount of tokens still available for the spender. */ function allowance(address _owner, address _spender) public view returns (uint256) { return allowed[_owner][_spender]; } /** * @dev Increase the amount of tokens that an owner allowed to a spender. * * approve should be called when allowed[_spender] == 0. To increment * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * @param _spender The address which will spend the funds. * @param _addedValue The amount of tokens to increase the allowance by. */ function increaseApproval(address _spender, uint _addedValue) public canTransfer returns (bool) { allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue); emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } /** * @dev Decrease the amount of tokens that an owner allowed to a spender. * * approve should be called when allowed[_spender] == 0. To decrement * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * @param _spender The address which will spend the funds. * @param _subtractedValue The amount of tokens to decrease the allowance by. */ function decreaseApproval(address _spender, uint _subtractedValue) public canTransfer returns (bool) { uint 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; } /** * @dev Function to approve the transfer of the tokens and to call another contract in one step * @param _recipient The target contract for tokens and function call * @param _value The amount of tokens to send * @param _data Extra data to be sent to the recipient contract function */ function approveAndCall(address _recipient, uint _value, bytes _data) public canTransfer returns (bool) { allowed[msg.sender][_recipient] = _value; ApproveAndCall(_recipient).receiveApproval(msg.sender, _value, address(this), _data); emit Approval(msg.sender, _recipient, allowed[msg.sender][_recipient]); return true; } /** * @dev Burns a specific amount of tokens. * @param _value The amount of token to be burned. */ function burn(uint256 _value) public canTransfer returns (bool) { require(_value <= balances[msg.sender]); address burner = msg.sender; balances[burner] = balances[burner].sub(_value); totalSupply_ = totalSupply_.sub(_value); emit Transfer(burner, address(0), _value); return true; } /** * @dev Enables the transfer of tokens for everyone. */ function enableTransfers() onlyOwner public { require(!transferable); transferable = true; emit TransfersEnabled(); } /** * @dev Assigns the special transfer right, before transfers are enabled. * @param _to The address receiving the transfer grant. */ function grantTransferRight(address _to) onlyOwner public { require(!transferable); require(!transferGrants[_to]); require(_to != address(0)); transferGrants[_to] = true; emit TransferRightGiven(_to); } /** * @dev Removes the special transfer right, before transfers are enabled. * @param _from The address that the transfer grant is removed from. */ function cancelTransferRight(address _from) onlyOwner public { require(!transferable); require(transferGrants[_from]); transferGrants[_from] = false; emit TransferRightCancelled(_from); } /** * @dev Gets the balance of the specified address. * @param _owner The address to query the the balance of. * @return An uint256 representing the amount owned by the passed address. */ function balanceOf(address _owner) public view returns (uint256) { return balances[_owner]; } /** * @dev Gets the total supply of the token. * @return An uint256 representing the total supply of the token. */ function totalSupply() public view returns (uint256) { return totalSupply_; } /** * @dev Gets the name of the token. * @return A string representing the name of the token. */ function name() public view returns (string) { return name_; } /** * @dev Gets the symbol of the token. * @return A string representing the symbol of the token. */ function symbol() public view returns (string) { return symbol_; } /** * @dev Gets the decimals of the token. * @return An uint8 representing the decimals of the token. */ function decimals() public view returns (uint8) { return decimals_; } /** * @dev Gets the version of the token contract. * @return An uint256 representing the version of the token contract. */ function version() public view returns (uint256) { return version_; } }
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":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"transferGrants","outputs":[{"name":"","type":"bool"}],"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":"","type":"bool"}],"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":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"}],"name":"cancelTransferRight","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"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":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"}],"name":"grantTransferRight","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"transferable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","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":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"enableTransfers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tokenOwner","type":"address"}],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_recipient","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","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":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"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"},{"anonymous":false,"inputs":[],"name":"TransfersEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"}],"name":"TransferRightGiven","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"}],"name":"TransferRightCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
6080604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612804806100536000396000f300608060405260043610610133576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610138578063095ea7b3146101c857806318160ddd1461022d57806322cd8e9b1461025857806323b872dd146102b3578063313ce5671461033857806342966c681461036957806354fd4d50146103ae578063566038fb146103d9578063661884631461041c57806370a0823114610481578063715018a6146104d85780637627c9ad146104ef5780638da5cb5b1461053257806392ff0d311461058957806395d89b41146105b8578063a9059cbb14610648578063af35c6c7146106ad578063c4d66de8146106c4578063cae9ca5114610707578063d73dd623146107b2578063dd62ed3e14610817578063f2fde38b1461088e575b600080fd5b34801561014457600080fd5b5061014d6108d1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018d578082015181840152602081019050610172565b50505050905090810190601f1680156101ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d457600080fd5b50610213600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610973565b604051808215151515815260200191505060405180910390f35b34801561023957600080fd5b50610242610ad4565b6040518082815260200191505060405180910390f35b34801561026457600080fd5b50610299600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ade565b604051808215151515815260200191505060405180910390f35b3480156102bf57600080fd5b5061031e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610afe565b604051808215151515815260200191505060405180910390f35b34801561034457600080fd5b5061034d610f2d565b604051808260ff1660ff16815260200191505060405180910390f35b34801561037557600080fd5b5061039460048036038101908080359060200190929190505050610f44565b604051808215151515815260200191505060405180910390f35b3480156103ba57600080fd5b506103c3611127565b6040518082815260200191505060405180910390f35b3480156103e557600080fd5b5061041a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611131565b005b34801561042857600080fd5b50610467600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061129e565b604051808215151515815260200191505060405180910390f35b34801561048d57600080fd5b506104c2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061159e565b6040518082815260200191505060405180910390f35b3480156104e457600080fd5b506104ed6115e7565b005b3480156104fb57600080fd5b50610530600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116e9565b005b34801561053e57600080fd5b50610547611893565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561059557600080fd5b5061059e6118b8565b604051808215151515815260200191505060405180910390f35b3480156105c457600080fd5b506105cd6118cb565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561060d5780820151818401526020810190506105f2565b50505050905090810190601f16801561063a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561065457600080fd5b50610693600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061196d565b604051808215151515815260200191505060405180910390f35b3480156106b957600080fd5b506106c2611c01565b005b3480156106d057600080fd5b50610705600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cc1565b005b34801561071357600080fd5b50610798600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611f45565b604051808215151515815260200191505060405180910390f35b3480156107be57600080fd5b506107fd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506122a3565b604051808215151515815260200191505060405180910390f35b34801561082357600080fd5b50610878600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061250e565b6040518082815260200191505060405180910390f35b34801561089a57600080fd5b506108cf600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612595565b005b606060018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109695780601f1061093e57610100808354040283529160200191610969565b820191906000526020600020905b81548152906001019060200180831161094c57829003601f168201915b5050505050905090565b6000600a60009054906101000a900460ff16806109d95750600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156109e457600080fd5b81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600454905090565b60096020528060005260406000206000915054906101000a900460ff1681565b6000600a60009054906101000a900460ff1680610b645750600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515610b6f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610bab57600080fd5b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610bf957600080fd5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610c8457600080fd5b610cd682600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125fc90919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d6b82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461261890919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e3d82600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125fc90919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000600360009054906101000a900460ff16905090565b600080600a60009054906101000a900460ff1680610fab5750600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515610fb657600080fd5b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054831115151561100457600080fd5b33905061105983600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125fc90919063ffffffff16565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110b1836004546125fc90919063ffffffff16565b600481905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a36001915050919050565b6000600754905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561118c57600080fd5b600a60009054906101000a900460ff161515156111a857600080fd5b600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561120057600080fd5b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f865f9a3e5acb369194fb814788e7cdd5ad14d8def9907065e4fbb5fcf2d4900760405160405180910390a250565b600080600a60009054906101000a900460ff16806113055750600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561131057600080fd5b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561141e576000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114b2565b61143183826125fc90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561164257600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561174457600080fd5b600a60009054906101000a900460ff1615151561176057600080fd5b600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156117b957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156117f557600080fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f50af31608823996ca2e3de4556476c372e2e6a6bdcc15d9f5c62ffcb412befdd60405160405180910390a250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60009054906101000a900460ff1681565b606060028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119635780601f1061193857610100808354040283529160200191611963565b820191906000526020600020905b81548152906001019060200180831161194657829003601f168201915b5050505050905090565b6000600a60009054906101000a900460ff16806119d35750600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156119de57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611a1a57600080fd5b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611a6857600080fd5b611aba82600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125fc90919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b4f82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461261890919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5c57600080fd5b600a60009054906101000a900460ff16151515611c7857600080fd5b6001600a60006101000a81548160ff0219169083151502179055507feadb24812ab3c9a55c774958184293ebdb6c7f6a2dbab11f397d80c86feb65d360405160405180910390a1565b600160078190555060086000600754815260200190815260200160002060009054906101000a900460ff16151515611cf857600080fd5b6040805190810160405280600c81526020017f5a69706d657820546f6b656e000000000000000000000000000000000000000081525060019080519060200190611d43929190612733565b506040805190810160405280600381526020017f5a4d54000000000000000000000000000000000000000000000000000000000081525060029080519060200190611d8f929190612733565b506012600360006101000a81548160ff021916908360ff160217905550600360009054906101000a900460ff1660ff16600a0a630bebc20002600481905550600454600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040518082815260200191505060405180910390a36001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160086000600754815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600a60009054906101000a900460ff1680611fab5750600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515611fb657600080fd5b82600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561212c578082015181840152602081019050612111565b50505050905090810190601f1680156121595780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561217b57600080fd5b505af115801561218f573d6000803e3d6000fd5b505050506040513d60208110156121a557600080fd5b8101908080519060200190929190505050508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600190509392505050565b6000600a60009054906101000a900460ff16806123095750600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561231457600080fd5b6123a382600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461261890919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156125f057600080fd5b6125f981612639565b50565b600082821115151561260d57600080fd5b818303905092915050565b600080828401905083811015151561262f57600080fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561267557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061277457805160ff19168380011785556127a2565b828001600101855582156127a2579182015b828111156127a1578251825591602001919060010190612786565b5b5090506127af91906127b3565b5090565b6127d591905b808211156127d15760008160009055506001016127b9565b5090565b905600a165627a7a7230582007889c43751412a05de6a10f23ead454060e4a39b71c0f3542fcd45edfa3d21d0029
Deployed Bytecode
0x608060405260043610610133576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610138578063095ea7b3146101c857806318160ddd1461022d57806322cd8e9b1461025857806323b872dd146102b3578063313ce5671461033857806342966c681461036957806354fd4d50146103ae578063566038fb146103d9578063661884631461041c57806370a0823114610481578063715018a6146104d85780637627c9ad146104ef5780638da5cb5b1461053257806392ff0d311461058957806395d89b41146105b8578063a9059cbb14610648578063af35c6c7146106ad578063c4d66de8146106c4578063cae9ca5114610707578063d73dd623146107b2578063dd62ed3e14610817578063f2fde38b1461088e575b600080fd5b34801561014457600080fd5b5061014d6108d1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018d578082015181840152602081019050610172565b50505050905090810190601f1680156101ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d457600080fd5b50610213600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610973565b604051808215151515815260200191505060405180910390f35b34801561023957600080fd5b50610242610ad4565b6040518082815260200191505060405180910390f35b34801561026457600080fd5b50610299600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ade565b604051808215151515815260200191505060405180910390f35b3480156102bf57600080fd5b5061031e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610afe565b604051808215151515815260200191505060405180910390f35b34801561034457600080fd5b5061034d610f2d565b604051808260ff1660ff16815260200191505060405180910390f35b34801561037557600080fd5b5061039460048036038101908080359060200190929190505050610f44565b604051808215151515815260200191505060405180910390f35b3480156103ba57600080fd5b506103c3611127565b6040518082815260200191505060405180910390f35b3480156103e557600080fd5b5061041a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611131565b005b34801561042857600080fd5b50610467600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061129e565b604051808215151515815260200191505060405180910390f35b34801561048d57600080fd5b506104c2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061159e565b6040518082815260200191505060405180910390f35b3480156104e457600080fd5b506104ed6115e7565b005b3480156104fb57600080fd5b50610530600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116e9565b005b34801561053e57600080fd5b50610547611893565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561059557600080fd5b5061059e6118b8565b604051808215151515815260200191505060405180910390f35b3480156105c457600080fd5b506105cd6118cb565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561060d5780820151818401526020810190506105f2565b50505050905090810190601f16801561063a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561065457600080fd5b50610693600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061196d565b604051808215151515815260200191505060405180910390f35b3480156106b957600080fd5b506106c2611c01565b005b3480156106d057600080fd5b50610705600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cc1565b005b34801561071357600080fd5b50610798600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611f45565b604051808215151515815260200191505060405180910390f35b3480156107be57600080fd5b506107fd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506122a3565b604051808215151515815260200191505060405180910390f35b34801561082357600080fd5b50610878600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061250e565b6040518082815260200191505060405180910390f35b34801561089a57600080fd5b506108cf600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612595565b005b606060018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109695780601f1061093e57610100808354040283529160200191610969565b820191906000526020600020905b81548152906001019060200180831161094c57829003601f168201915b5050505050905090565b6000600a60009054906101000a900460ff16806109d95750600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156109e457600080fd5b81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600454905090565b60096020528060005260406000206000915054906101000a900460ff1681565b6000600a60009054906101000a900460ff1680610b645750600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515610b6f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610bab57600080fd5b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610bf957600080fd5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610c8457600080fd5b610cd682600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125fc90919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d6b82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461261890919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e3d82600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125fc90919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000600360009054906101000a900460ff16905090565b600080600a60009054906101000a900460ff1680610fab5750600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515610fb657600080fd5b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054831115151561100457600080fd5b33905061105983600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125fc90919063ffffffff16565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110b1836004546125fc90919063ffffffff16565b600481905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a36001915050919050565b6000600754905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561118c57600080fd5b600a60009054906101000a900460ff161515156111a857600080fd5b600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561120057600080fd5b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f865f9a3e5acb369194fb814788e7cdd5ad14d8def9907065e4fbb5fcf2d4900760405160405180910390a250565b600080600a60009054906101000a900460ff16806113055750600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561131057600080fd5b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561141e576000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114b2565b61143183826125fc90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561164257600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561174457600080fd5b600a60009054906101000a900460ff1615151561176057600080fd5b600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156117b957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156117f557600080fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f50af31608823996ca2e3de4556476c372e2e6a6bdcc15d9f5c62ffcb412befdd60405160405180910390a250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60009054906101000a900460ff1681565b606060028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119635780601f1061193857610100808354040283529160200191611963565b820191906000526020600020905b81548152906001019060200180831161194657829003601f168201915b5050505050905090565b6000600a60009054906101000a900460ff16806119d35750600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156119de57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611a1a57600080fd5b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611a6857600080fd5b611aba82600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125fc90919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b4f82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461261890919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5c57600080fd5b600a60009054906101000a900460ff16151515611c7857600080fd5b6001600a60006101000a81548160ff0219169083151502179055507feadb24812ab3c9a55c774958184293ebdb6c7f6a2dbab11f397d80c86feb65d360405160405180910390a1565b600160078190555060086000600754815260200190815260200160002060009054906101000a900460ff16151515611cf857600080fd5b6040805190810160405280600c81526020017f5a69706d657820546f6b656e000000000000000000000000000000000000000081525060019080519060200190611d43929190612733565b506040805190810160405280600381526020017f5a4d54000000000000000000000000000000000000000000000000000000000081525060029080519060200190611d8f929190612733565b506012600360006101000a81548160ff021916908360ff160217905550600360009054906101000a900460ff1660ff16600a0a630bebc20002600481905550600454600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040518082815260200191505060405180910390a36001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160086000600754815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600a60009054906101000a900460ff1680611fab5750600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515611fb657600080fd5b82600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561212c578082015181840152602081019050612111565b50505050905090810190601f1680156121595780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561217b57600080fd5b505af115801561218f573d6000803e3d6000fd5b505050506040513d60208110156121a557600080fd5b8101908080519060200190929190505050508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600190509392505050565b6000600a60009054906101000a900460ff16806123095750600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561231457600080fd5b6123a382600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461261890919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156125f057600080fd5b6125f981612639565b50565b600082821115151561260d57600080fd5b818303905092915050565b600080828401905083811015151561262f57600080fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561267557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061277457805160ff19168380011785556127a2565b828001600101855582156127a2579182015b828111156127a1578251825591602001919060010190612786565b5b5090506127af91906127b3565b5090565b6127d591905b808211156127d15760008160009055506001016127b9565b5090565b905600a165627a7a7230582007889c43751412a05de6a10f23ead454060e4a39b71c0f3542fcd45edfa3d21d0029
Deployed Bytecode Sourcemap
4418:10209:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13880:76;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13880:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;13880:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8527:218;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8527:218:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13661:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13661:91:0;;;;;;;;;;;;;;;;;;;;;;;5270:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5270:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7372:498;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7372:498:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14304:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14304:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;11783:342;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11783:342:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14541:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14541:83:0;;;;;;;;;;;;;;;;;;;;;;;12955:228;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12955:228:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10499:462;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10499:462:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13408:107;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13408:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2532:124;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2532:124:0;;;;;;12524:252;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12524:252:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1858:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1858:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5375:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5375:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;14088:80;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14088:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;14088:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6642:433;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6642:433:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12209:149;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12209:149:0;;;;;;5952:513;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5952:513:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;11292:361;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11292:361:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9711:292;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9711:292:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9086:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9086:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2834:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2834:111:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13880:76;13917:6;13943:5;13936:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13880:76;:::o;8527:218::-;8606:4;5529:12;;;;;;;;;;;:42;;;;5545:14;:26;5560:10;5545:26;;;;;;;;;;;;;;;;;;;;;;;;;5529:42;5521:51;;;;;;;;8655:6;8623:7;:19;8631:10;8623:19;;;;;;;;;;;;;;;:29;8643:8;8623:29;;;;;;;;;;;;;;;:38;;;;8698:8;8677:38;;8686:10;8677:38;;;8708:6;8677:38;;;;;;;;;;;;;;;;;;8733:4;8726:11;;8527:218;;;;:::o;13661:91::-;13705:7;13732:12;;13725:19;;13661:91;:::o;5270:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;7372:498::-;7466:4;5529:12;;;;;;;;;;;:42;;;;5545:14;:26;5560:10;5545:26;;;;;;;;;;;;;;;;;;;;;;;;;5529:42;5521:51;;;;;;;;7506:1;7491:17;;:3;:17;;;;7483:26;;;;;;;;7538:8;:15;7547:5;7538:15;;;;;;;;;;;;;;;;7528:6;:25;;7520:34;;;;;;;;7583:7;:14;7591:5;7583:14;;;;;;;;;;;;;;;:26;7598:10;7583:26;;;;;;;;;;;;;;;;7573:6;:36;;7565:45;;;;;;;;7639:27;7659:6;7639:8;:15;7648:5;7639:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;7621:8;:15;7630:5;7621:15;;;;;;;;;;;;;;;:45;;;;7693:25;7711:6;7693:8;:13;7702:3;7693:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;7677:8;:13;7686:3;7677:13;;;;;;;;;;;;;;;:41;;;;7758:38;7789:6;7758:7;:14;7766:5;7758:14;;;;;;;;;;;;;;;:26;7773:10;7758:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;7729:7;:14;7737:5;7729:14;;;;;;;;;;;;;;;:26;7744:10;7729:26;;;;;;;;;;;;;;;:67;;;;7828:3;7812:28;;7821:5;7812:28;;;7833:6;7812:28;;;;;;;;;;;;;;;;;;7858:4;7851:11;;7372:498;;;;;:::o;14304:83::-;14345:5;14370:9;;;;;;;;;;;14363:16;;14304:83;:::o;11783:342::-;11841:4;11908:14;5529:12;;;;;;;;;;;:42;;;;5545:14;:26;5560:10;5545:26;;;;;;;;;;;;;;;;;;;;;;;;;5529:42;5521:51;;;;;;;;11876:8;:20;11885:10;11876:20;;;;;;;;;;;;;;;;11866:6;:30;;11858:39;;;;;;;;11925:10;11908:27;;11965:28;11986:6;11965:8;:16;11974:6;11965:16;;;;;;;;;;;;;;;;:20;;:28;;;;:::i;:::-;11946:8;:16;11955:6;11946:16;;;;;;;;;;;;;;;:47;;;;12019:24;12036:6;12019:12;;:16;;:24;;;;:::i;:::-;12004:12;:39;;;;12084:1;12059:36;;12068:6;12059:36;;;12088:6;12059:36;;;;;;;;;;;;;;;;;;12113:4;12106:11;;11783:342;;;;:::o;14541:83::-;14581:7;14608:8;;14601:15;;14541:83;:::o;12955:228::-;2403:5;;;;;;;;;;;2389:19;;:10;:19;;;2381:28;;;;;;;;13036:12;;;;;;;;;;;13035:13;13027:22;;;;;;;;13068:14;:21;13083:5;13068:21;;;;;;;;;;;;;;;;;;;;;;;;;13060:30;;;;;;;;13125:5;13101:14;:21;13116:5;13101:21;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;13169:5;13146:29;;;;;;;;;;;;12955:228;:::o;10499:462::-;10594:4;10611:13;5529:12;;;;;;;;;;;:42;;;;5545:14;:26;5560:10;5545:26;;;;;;;;;;;;;;;;;;;;;;;;;5529:42;5521:51;;;;;;;;10627:7;:19;10635:10;10627:19;;;;;;;;;;;;;;;:29;10647:8;10627:29;;;;;;;;;;;;;;;;10611:45;;10690:8;10671:16;:27;10667:188;;;10747:1;10715:7;:19;10723:10;10715:19;;;;;;;;;;;;;;;:29;10735:8;10715:29;;;;;;;;;;;;;;;:33;;;;10667:188;;;10813:30;10826:16;10813:8;:12;;:30;;;;:::i;:::-;10781:7;:19;10789:10;10781:19;;;;;;;;;;;;;;;:29;10801:8;10781:29;;;;;;;;;;;;;;;:62;;;;10667:188;10891:8;10870:61;;10879:10;10870:61;;;10901:7;:19;10909:10;10901:19;;;;;;;;;;;;;;;:29;10921:8;10901:29;;;;;;;;;;;;;;;;10870:61;;;;;;;;;;;;;;;;;;10949:4;10942:11;;10499:462;;;;;:::o;13408:107::-;13464:7;13491:8;:16;13500:6;13491:16;;;;;;;;;;;;;;;;13484:23;;13408:107;;;:::o;2532:124::-;2403:5;;;;;;;;;;;2389:19;;:10;:19;;;2381:28;;;;;;;;2613:5;;;;;;;;;;;2594:25;;;;;;;;;;;;2646:1;2630:5;;:18;;;;;;;;;;;;;;;;;;2532:124::o;12524:252::-;2403:5;;;;;;;;;;;2389:19;;:10;:19;;;2381:28;;;;;;;;12602:12;;;;;;;;;;;12601:13;12593:22;;;;;;;;12635:14;:19;12650:3;12635:19;;;;;;;;;;;;;;;;;;;;;;;;;12634:20;12626:29;;;;;;;;12689:1;12674:17;;:3;:17;;;;12666:26;;;;;;;;12725:4;12703:14;:19;12718:3;12703:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;12764:3;12745:23;;;;;;;;;;;;12524:252;:::o;1858:20::-;;;;;;;;;;;;;:::o;5375:24::-;;;;;;;;;;;;;:::o;14088:80::-;14127:6;14153:7;14146:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14088:80;:::o;6642:433::-;6717:4;5529:12;;;;;;;;;;;:42;;;;5545:14;:26;5560:10;5545:26;;;;;;;;;;;;;;;;;;;;;;;;;5529:42;5521:51;;;;;;;;6757:1;6742:17;;:3;:17;;;;6734:26;;;;;;;;6789:8;:20;6798:10;6789:20;;;;;;;;;;;;;;;;6779:6;:30;;6771:39;;;;;;;;6912:32;6937:6;6912:8;:20;6921:10;6912:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;6889:8;:20;6898:10;6889:20;;;;;;;;;;;;;;;:55;;;;6971:25;6989:6;6971:8;:13;6980:3;6971:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;6955:8;:13;6964:3;6955:13;;;;;;;;;;;;;;;:41;;;;7033:3;7012:33;;7021:10;7012:33;;;7038:6;7012:33;;;;;;;;;;;;;;;;;;7063:4;7056:11;;6642:433;;;;:::o;12209:149::-;2403:5;;;;;;;;;;;2389:19;;:10;:19;;;2381:28;;;;;;;;12273:12;;;;;;;;;;;12272:13;12264:22;;;;;;;;12312:4;12297:12;;:19;;;;;;;;;;;;;;;;;;12332:18;;;;;;;;;;12209:149::o;5952:513::-;6021:1;6010:8;:12;;;;6042:11;:21;6054:8;;6042:21;;;;;;;;;;;;;;;;;;;;;6041:22;6033:31;;;;;;;;6075:22;;;;;;;;;;;;;;;;;;:5;:22;;;;;;;;;;;;:::i;:::-;;6108:15;;;;;;;;;;;;;;;;;;:7;:15;;;;;;;;;;;;:::i;:::-;;6146:2;6134:9;;:14;;;;;;;;;;;;;;;;;;6224:9;;;;;;;;;;;6216:18;;6210:2;:24;6197:9;:38;6182:12;:53;;;;6269:12;;6246:8;:20;6255:10;6246:20;;;;;;;;;;;;;;;:35;;;;6318:10;6297:46;;6314:1;6297:46;;;6330:12;;6297:46;;;;;;;;;;;;;;;;;;6383:4;6354:14;:26;6369:10;6354:26;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;6406:10;6398:5;;:18;;;;;;;;;;;;;;;;;;6453:4;6429:11;:21;6441:8;;6429:21;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;5952:513;:::o;11292:361::-;11390:4;5529:12;;;;;;;;;;;:42;;;;5545:14;:26;5560:10;5545:26;;;;;;;;;;;;;;;;;;;;;;;;;5529:42;5521:51;;;;;;;;11441:6;11407:7;:19;11415:10;11407:19;;;;;;;;;;;;;;;:31;11427:10;11407:31;;;;;;;;;;;;;;;:40;;;;11473:10;11458:42;;;11501:10;11513:6;11529:4;11536:5;11458:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;11458:84:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11458:84:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11458:84:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11458:84:0;;;;;;;;;;;;;;;;;11579:10;11558:65;;11567:10;11558:65;;;11591:7;:19;11599:10;11591:19;;;;;;;;;;;;;;;:31;11611:10;11591:31;;;;;;;;;;;;;;;;11558:65;;;;;;;;;;;;;;;;;;11641:4;11634:11;;11292:361;;;;;:::o;9711:292::-;9801:4;5529:12;;;;;;;;;;;:42;;;;5545:14;:26;5560:10;5545:26;;;;;;;;;;;;;;;;;;;;;;;;;5529:42;5521:51;;;;;;;;9850:46;9884:11;9850:7;:19;9858:10;9850:19;;;;;;;;;;;;;;;:29;9870:8;9850:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;9818:7;:19;9826:10;9818:19;;;;;;;;;;;;;;;:29;9838:8;9818:29;;;;;;;;;;;;;;;:78;;;;9933:8;9912:61;;9921:10;9912:61;;;9943:7;:19;9951:10;9943:19;;;;;;;;;;;;;;;:29;9963:8;9943:29;;;;;;;;;;;;;;;;9912:61;;;;;;;;;;;;;;;;;;9991:4;9984:11;;9711:292;;;;:::o;9086:134::-;9160:7;9187;:15;9195:6;9187:15;;;;;;;;;;;;;;;:25;9203:8;9187:25;;;;;;;;;;;;;;;;9180:32;;9086:134;;;;:::o;2834:111::-;2403:5;;;;;;;;;;;2389:19;;:10;:19;;;2381:28;;;;;;;;2908:29;2927:9;2908:18;:29::i;:::-;2834:111;:::o;4062:124::-;4120:7;4153:1;4148;:6;;4140:15;;;;;;;;4177:1;4173;:5;4166:12;;4062:124;;;;:::o;4261:148::-;4319:7;4339:9;4355:1;4351;:5;4339:17;;4380:1;4375;:6;;4367:15;;;;;;;;4400:1;4393:8;;4261:148;;;;;:::o;3096:189::-;3192:1;3171:23;;:9;:23;;;;3163:32;;;;;;;;3239:9;3211:38;;3232:5;;;;;;;;;;;3211:38;;;;;;;;;;;;3268:9;3260:5;;:17;;;;;;;;;;;;;;;;;;3096:189;:::o;4418:10209::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
bzzr://07889c43751412a05de6a10f23ead454060e4a39b71c0f3542fcd45edfa3d21d
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 25 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.