Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0.655850666734778831 ETH
Eth Value
$2,133.46 (@ $3,252.97/ETH)Token Holdings
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 186 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Exit | 14538434 | 950 days ago | IN | 0 ETH | 0.00249998 | ||||
Withdraw | 14538431 | 950 days ago | IN | 0 ETH | 0.002036 | ||||
Exit | 11341339 | 1446 days ago | IN | 0 ETH | 0.00203266 | ||||
Withdraw | 11063541 | 1489 days ago | IN | 0 ETH | 0.00093441 | ||||
Exit | 10982882 | 1501 days ago | IN | 0 ETH | 0.00278764 | ||||
Exit | 10581928 | 1563 days ago | IN | 0 ETH | 0.00359874 | ||||
Exit | 10581910 | 1563 days ago | IN | 0 ETH | 0.00470531 | ||||
Withdraw | 10581512 | 1563 days ago | IN | 0 ETH | 0.00320371 | ||||
Withdraw | 10579905 | 1563 days ago | IN | 0 ETH | 0.00311472 | ||||
Withdraw | 10579889 | 1563 days ago | IN | 0 ETH | 0.00315921 | ||||
Withdraw | 10579854 | 1563 days ago | IN | 0 ETH | 0.00315921 | ||||
Withdraw | 10576097 | 1564 days ago | IN | 0 ETH | 0.00266976 | ||||
Sell | 10576094 | 1564 days ago | IN | 0 ETH | 0.0023037 | ||||
Sell | 10576090 | 1564 days ago | IN | 0 ETH | 0.00320903 | ||||
Withdraw | 10576072 | 1564 days ago | IN | 0 ETH | 0.00244728 | ||||
Exit | 10573104 | 1564 days ago | IN | 0 ETH | 0.00222197 | ||||
Exit | 10572862 | 1564 days ago | IN | 0 ETH | 0.00238111 | ||||
Withdraw | 10547094 | 1568 days ago | IN | 0 ETH | 0.00307022 | ||||
Sell | 10542397 | 1569 days ago | IN | 0 ETH | 0.00710313 | ||||
Withdraw | 10542370 | 1569 days ago | IN | 0 ETH | 0.00587347 | ||||
Withdraw | 10487248 | 1577 days ago | IN | 0 ETH | 0.00164635 | ||||
Sell | 10487241 | 1577 days ago | IN | 0 ETH | 0.00352327 | ||||
Withdraw | 10486287 | 1578 days ago | IN | 0 ETH | 0.00169084 | ||||
Withdraw | 10484336 | 1578 days ago | IN | 0 ETH | 0.00289224 | ||||
Sell | 10484328 | 1578 days ago | IN | 0 ETH | 0.00293672 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
14538434 | 950 days ago | 0.00018579 ETH | ||||
14538431 | 950 days ago | 0.00626439 ETH | ||||
11341339 | 1446 days ago | 0.13125086 ETH | ||||
11063541 | 1489 days ago | 0.00530602 ETH | ||||
10982882 | 1501 days ago | 0.00795312 ETH | ||||
10581928 | 1563 days ago | 0.27585009 ETH | ||||
10581910 | 1563 days ago | 1.64319951 ETH | ||||
10581512 | 1563 days ago | 0.06185042 ETH | ||||
10579905 | 1563 days ago | 0.05748602 ETH | ||||
10579889 | 1563 days ago | 0.05852738 ETH | ||||
10579854 | 1563 days ago | 0.15280468 ETH | ||||
10576097 | 1564 days ago | 10.86234339 ETH | ||||
10576072 | 1564 days ago | 11.16576967 ETH | ||||
10573104 | 1564 days ago | 0.00776572 ETH | ||||
10572862 | 1564 days ago | 0.10980239 ETH | ||||
10547094 | 1568 days ago | 0.9338051 ETH | ||||
10542370 | 1569 days ago | 0.25140654 ETH | ||||
10487248 | 1577 days ago | 1.8909079 ETH | ||||
10486287 | 1578 days ago | 0.03061306 ETH | ||||
10484336 | 1578 days ago | 9.37017268 ETH | ||||
10484325 | 1578 days ago | 3.58093048 ETH | ||||
10482956 | 1578 days ago | 0.27304502 ETH | ||||
10463507 | 1581 days ago | 0.38033548 ETH | ||||
10463458 | 1581 days ago | 0.08240822 ETH | ||||
10461686 | 1581 days ago | 3.86748451 ETH |
Loading...
Loading
Contract Name:
Buddhami
Compiler Version
v0.4.20+commit.3155dd80
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-07-02 */ pragma solidity ^0.4.20; /* * * Under blue sky, in bright sunlight, * One need not search around. * Asking what Buddha is * Is like hiding loot in one's pocket * and declaring oneself innocent. * * _ * _ooOoo_ * o8888888o * 88" . "88 * (| -_- |) * O\ = /O * ____/`---'\____ * .' \\| |// `. * / \\||| : |||// \ * / _||||| -:- |||||_ \ * | | \\\ - /'| | | * | \_| `\`---'// |_/ | * \ .-\__ `-. -'__/-. / * ___`. .' /--.--\ `. .'___ * ."" '< `.___\_<|>_/___.' _> \"". * | | : `- \`. ;`. _/; .'/ / .' ; | * \ \ `-. \_\_`. _.'_/_/ -' _.' / * ===========`-.`___`-.__\ \___ /__.-'_.'_.-'================ * `=--=-' * * Daibai asked Baso: `What is Buddha?' * Baso said: `This mind is Buddha.' * * If anyone wholly understands this, he is wearing Buddha's clothing, * he is eating Buddha's food, he is speaking Buddha's words, * he is behaving as Buddha, he is Buddha. * * This anecdote, however, has given many pupil the sickness of formality. * If one truly understands, he will wash out his mouth for three days after * saying the word Buddha, and he will close his ears and flee after hearing * `This mind is Buddha.' * * ============================================================== * * This contract is an improved version of Ghandiji/Ethereum Gold. It features * twice as much dividends (20%). This means that promoters earn more from sharing * referral links, and the rewards are greater when people are selling. Also, there * is no fee for simply transfering tokens, so you may freely send tokens to your * family, your friends, and those of importance in your life. * * Contract has been audited and confirmed to be secure. The developer premine * will be used to fund marketing and additional development. */ contract Buddhami { /*================================= = MODIFIERS = =================================*/ // only people with tokens modifier onlyEnlightened () { require(myTokens() > 0); _; } // only people with profits modifier onlyhodler() { require(myDividends(true) > 0); _; } // administrators can: // -> change the name of the contract // -> change the name of the token // -> change the PoS difficulty // they CANNOT: // -> take funds // -> disable withdrawals // -> kill the contract // -> change the price of tokens modifier onlyAdministrator(){ address _customerAddress = msg.sender; require(administrators[keccak256(_customerAddress)]); _; } modifier antiEarlyWhale(uint256 _amountOfEthereum){ address _customerAddress = msg.sender; if( onlyAmbassadors && ((totalEthereumBalance() - _amountOfEthereum) <= ambassadorQuota_ )){ require( // is the customer in the ambassador list? ambassadors_[_customerAddress] == true && // does the customer purchase exceed the max ambassador quota? (ambassadorAccumulatedQuota_[_customerAddress] + _amountOfEthereum) <= ambassadorMaxPurchase_ ); // updated the accumulated quota ambassadorAccumulatedQuota_[_customerAddress] = SafeMath.add(ambassadorAccumulatedQuota_[_customerAddress], _amountOfEthereum); // execute _; } else { // in case the ether count drops low, the ambassador phase won't reinitiate onlyAmbassadors = false; _; } } /*============================== = EVENTS = ==============================*/ event onTokenPurchase( address indexed customerAddress, uint256 incomingEthereum, uint256 tokensMinted, address indexed referredBy ); event onTokenSell( address indexed customerAddress, uint256 tokensBurned, uint256 ethereumEarned ); event onReinvestment( address indexed customerAddress, uint256 ethereumReinvested, uint256 tokensMinted ); event onWithdraw( address indexed customerAddress, uint256 ethereumWithdrawn ); // ERC20 event Transfer( address indexed from, address indexed to, uint256 tokens ); /*===================================== = CONFIGURABLES = =====================================*/ string public name = "Buddhami"; string public symbol = "BUD"; uint8 constant public decimals = 18; uint8 constant internal dividendFee_ = 5; uint256 constant internal tokenPriceInitial_ = 0.0000001 ether; uint256 constant internal tokenPriceIncremental_ = 0.00000001 ether; uint256 constant internal magnitude = 2**64; // proof of stake (defaults at 1 token) uint256 public stakingRequirement = 1e18; // ambassador program mapping(address => bool) internal ambassadors_; uint256 constant internal ambassadorMaxPurchase_ = 10 ether; uint256 constant internal ambassadorQuota_ = 10 ether; /*================================ = DATASETS = ================================*/ // amount of shares for each address (scaled number) mapping(address => uint256) internal tokenBalanceLedger_; mapping(address => uint256) internal referralBalance_; mapping(address => int256) internal payoutsTo_; mapping(address => uint256) internal ambassadorAccumulatedQuota_; uint256 internal tokenSupply_ = 0; uint256 internal profitPerShare_; // administrator list (see above on what they can do) mapping(bytes32 => bool) public administrators; bool public onlyAmbassadors = true; /*======================================= = PUBLIC FUNCTIONS = =======================================*/ /* * -- APPLICATION ENTRY POINTS -- */ function Buddhami() public { // add administrators here administrators[keccak256(0xc975863cBf022A71583d138a5F86585E764EE8e4)] = true; ambassadors_[0xc975863cBf022A71583d138a5F86585E764EE8e4] = true; } /** * Converts all incoming Ethereum to tokens for the caller, and passes down the referral address (if any) */ function buy(address _referredBy) public payable returns(uint256) { purchaseTokens(msg.value, _referredBy); } function() payable public { purchaseTokens(msg.value, 0x0); } /** * Converts all of caller's dividends to tokens. */ function reinvest() onlyhodler() public { // fetch dividends uint256 _dividends = myDividends(false); // retrieve ref. bonus later in the code // pay out the dividends virtually address _customerAddress = msg.sender; payoutsTo_[_customerAddress] += (int256) (_dividends * magnitude); // retrieve ref. bonus _dividends += referralBalance_[_customerAddress]; referralBalance_[_customerAddress] = 0; // dispatch a buy order with the virtualized "withdrawn dividends" uint256 _tokens = purchaseTokens(_dividends, 0x0); // fire event onReinvestment(_customerAddress, _dividends, _tokens); } /** * Alias of sell() and withdraw(). */ function exit() public { // get token count for caller & sell them all address _customerAddress = msg.sender; uint256 _tokens = tokenBalanceLedger_[_customerAddress]; if(_tokens > 0) sell(_tokens); withdraw(); } /** * Withdraws all of the callers earnings. */ function withdraw() onlyhodler() public { // setup data address _customerAddress = msg.sender; uint256 _dividends = myDividends(false); // get ref. bonus later in the code // update dividend tracker payoutsTo_[_customerAddress] += (int256) (_dividends * magnitude); // add ref. bonus _dividends += referralBalance_[_customerAddress]; referralBalance_[_customerAddress] = 0; // delivery service _customerAddress.transfer(_dividends); // fire event onWithdraw(_customerAddress, _dividends); } /** * Liquifies tokens to ethereum. */ function sell(uint256 _amountOfTokens) onlyEnlightened () public { address _customerAddress = msg.sender; require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]); uint256 _tokens = _amountOfTokens; uint256 _ethereum = tokensToEthereum_(_tokens); uint256 _dividends = SafeMath.div(_ethereum, dividendFee_); uint256 _taxedEthereum = SafeMath.sub(_ethereum, _dividends); // burn the sold tokens tokenSupply_ = SafeMath.sub(tokenSupply_, _tokens); tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _tokens); // update dividends tracker int256 _updatedPayouts = (int256) (profitPerShare_ * _tokens + (_taxedEthereum * magnitude)); payoutsTo_[_customerAddress] -= _updatedPayouts; // dividing by zero is a bad idea if (tokenSupply_ > 0) { // update the amount of dividends per token profitPerShare_ = SafeMath.add(profitPerShare_, (_dividends * magnitude) / tokenSupply_); } // fire event onTokenSell(_customerAddress, _tokens, _taxedEthereum); } /** * Transfer tokens from the caller to a new holder. * No fee for transfering tokens :) */ function transfer(address _toAddress, uint256 _amountOfTokens) onlyEnlightened () public returns(bool) { // setup address _customerAddress = msg.sender; // make sure we have the requested tokens require(!onlyAmbassadors && _amountOfTokens <= tokenBalanceLedger_[_customerAddress]); // withdraw all outstanding dividends first if(myDividends(true) > 0) withdraw(); // exchange tokens tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _amountOfTokens); tokenBalanceLedger_[_toAddress] = SafeMath.add(tokenBalanceLedger_[_toAddress], _amountOfTokens); // update dividend trackers payoutsTo_[_customerAddress] -= (int256) (profitPerShare_ * _amountOfTokens); payoutsTo_[_toAddress] += (int256) (profitPerShare_ * _amountOfTokens); // fire event Transfer(_customerAddress, _toAddress, _amountOfTokens); // ERC20 return true; } /*---------- ADMINISTRATOR ONLY FUNCTIONS ----------*/ /** * administrator can manually disable the ambassador phase. */ function disableInitialStage() onlyAdministrator() public { onlyAmbassadors = false; } function setAdministrator(bytes32 _identifier, bool _status) onlyAdministrator() public { administrators[_identifier] = _status; } function setStakingRequirement(uint256 _amountOfTokens) onlyAdministrator() public { stakingRequirement = _amountOfTokens; } function setName(string _name) onlyAdministrator() public { name = _name; } function setSymbol(string _symbol) onlyAdministrator() public { symbol = _symbol; } /*---------- HELPERS AND CALCULATORS ----------*/ /** * Method to view the current Ethereum stored in the contract * Example: totalEthereumBalance() */ function totalEthereumBalance() public view returns(uint) { return this.balance; } /** * Retrieve the total token supply. */ function totalSupply() public view returns(uint256) { return tokenSupply_; } /** * Retrieve the tokens owned by the caller. */ function myTokens() public view returns(uint256) { address _customerAddress = msg.sender; return balanceOf(_customerAddress); } /** * Retrieve the dividends owned by the caller. */ function myDividends(bool _includeReferralBonus) public view returns(uint256) { address _customerAddress = msg.sender; return _includeReferralBonus ? dividendsOf(_customerAddress) + referralBalance_[_customerAddress] : dividendsOf(_customerAddress) ; } /** * Retrieve the token balance of any single address. */ function balanceOf(address _customerAddress) view public returns(uint256) { return tokenBalanceLedger_[_customerAddress]; } /** * Retrieve the dividend balance of any single address. */ function dividendsOf(address _customerAddress) view public returns(uint256) { return (uint256) ((int256)(profitPerShare_ * tokenBalanceLedger_[_customerAddress]) - payoutsTo_[_customerAddress]) / magnitude; } /** * Return the buy price of 1 individual token. */ function sellPrice() public view returns(uint256) { if(tokenSupply_ == 0){ return tokenPriceInitial_ - tokenPriceIncremental_; } else { uint256 _ethereum = tokensToEthereum_(1e18); uint256 _dividends = SafeMath.div(_ethereum, dividendFee_ ); uint256 _taxedEthereum = SafeMath.sub(_ethereum, _dividends); return _taxedEthereum; } } /** * Return the sell price of 1 individual token. */ function buyPrice() public view returns(uint256) { if(tokenSupply_ == 0){ return tokenPriceInitial_ + tokenPriceIncremental_; } else { uint256 _ethereum = tokensToEthereum_(1e18); uint256 _dividends = SafeMath.div(_ethereum, dividendFee_ ); uint256 _taxedEthereum = SafeMath.add(_ethereum, _dividends); return _taxedEthereum; } } function calculateTokensReceived(uint256 _ethereumToSpend) public view returns(uint256) { uint256 _dividends = SafeMath.div(_ethereumToSpend, dividendFee_); uint256 _taxedEthereum = SafeMath.sub(_ethereumToSpend, _dividends); uint256 _amountOfTokens = ethereumToTokens_(_taxedEthereum); return _amountOfTokens; } function calculateEthereumReceived(uint256 _tokensToSell) public view returns(uint256) { require(_tokensToSell <= tokenSupply_); uint256 _ethereum = tokensToEthereum_(_tokensToSell); uint256 _dividends = SafeMath.div(_ethereum, dividendFee_); uint256 _taxedEthereum = SafeMath.sub(_ethereum, _dividends); return _taxedEthereum; } /*========================================== = INTERNAL FUNCTIONS = ==========================================*/ function purchaseTokens(uint256 _incomingEthereum, address _referredBy) antiEarlyWhale(_incomingEthereum) internal returns(uint256) { // data setup address _customerAddress = msg.sender; uint256 _undividedDividends = SafeMath.div(_incomingEthereum, dividendFee_); uint256 _referralBonus = SafeMath.div(_undividedDividends, 3); uint256 _dividends = SafeMath.sub(_undividedDividends, _referralBonus); uint256 _taxedEthereum = SafeMath.sub(_incomingEthereum, _undividedDividends); uint256 _amountOfTokens = ethereumToTokens_(_taxedEthereum); uint256 _fee = _dividends * magnitude; require(_amountOfTokens > 0 && (SafeMath.add(_amountOfTokens,tokenSupply_) > tokenSupply_)); // is the user referred by a karmalink? if( // is this a referred purchase? _referredBy != 0x0000000000000000000000000000000000000000 && // no cheating! _referredBy != _customerAddress && tokenBalanceLedger_[_referredBy] >= stakingRequirement ){ // wealth redistribution referralBalance_[_referredBy] = SafeMath.add(referralBalance_[_referredBy], _referralBonus); } else { // no ref purchase // add the referral bonus back to the global dividends cake _dividends = SafeMath.add(_dividends, _referralBonus); _fee = _dividends * magnitude; } // we can't give people infinite ethereum if(tokenSupply_ > 0){ // add tokens to the pool tokenSupply_ = SafeMath.add(tokenSupply_, _amountOfTokens); // take the amount of dividends gained through this transaction, and allocates them evenly to each shareholder profitPerShare_ += (_dividends * magnitude / (tokenSupply_)); // calculate the amount of tokens the customer receives over his purchase _fee = _fee - (_fee-(_amountOfTokens * (_dividends * magnitude / (tokenSupply_)))); } else { // add tokens to the pool tokenSupply_ = _amountOfTokens; } // update circulating supply & the ledger address for the customer tokenBalanceLedger_[_customerAddress] = SafeMath.add(tokenBalanceLedger_[_customerAddress], _amountOfTokens); int256 _updatedPayouts = (int256) ((profitPerShare_ * _amountOfTokens) - _fee); payoutsTo_[_customerAddress] += _updatedPayouts; // fire event onTokenPurchase(_customerAddress, _incomingEthereum, _amountOfTokens, _referredBy); return _amountOfTokens; } /** * Calculate Token price based on an amount of incoming ethereum * It's an algorithm, hopefully we gave you the whitepaper with it in scientific notation; * Some conversions occurred to prevent decimal errors or underflows / overflows in solidity code. */ function ethereumToTokens_(uint256 _ethereum) internal view returns(uint256) { uint256 _tokenPriceInitial = tokenPriceInitial_ * 1e18; uint256 _tokensReceived = ( ( // underflow attempts BTFO SafeMath.sub( (sqrt ( (_tokenPriceInitial**2) + (2*(tokenPriceIncremental_ * 1e18)*(_ethereum * 1e18)) + (((tokenPriceIncremental_)**2)*(tokenSupply_**2)) + (2*(tokenPriceIncremental_)*_tokenPriceInitial*tokenSupply_) ) ), _tokenPriceInitial ) )/(tokenPriceIncremental_) )-(tokenSupply_) ; return _tokensReceived; } /** * Calculate token sell value. */ function tokensToEthereum_(uint256 _tokens) internal view returns(uint256) { uint256 tokens_ = (_tokens + 1e18); uint256 _tokenSupply = (tokenSupply_ + 1e18); uint256 _etherReceived = ( // underflow attempts BTFO SafeMath.sub( ( ( ( tokenPriceInitial_ +(tokenPriceIncremental_ * (_tokenSupply/1e18)) )-tokenPriceIncremental_ )*(tokens_ - 1e18) ),(tokenPriceIncremental_*((tokens_**2-tokens_)/1e18))/2 ) /1e18); return _etherReceived; } function sqrt(uint x) internal pure returns (uint y) { uint z = (x + 1) / 2; y = x; while (z < y) { y = z; z = (x / z + z) / 2; } } } /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"dividendsOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_ethereumToSpend","type":"uint256"}],"name":"calculateTokensReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokensToSell","type":"uint256"}],"name":"calculateEthereumReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"onlyAmbassadors","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"administrators","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sellPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stakingRequirement","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_includeReferralBonus","type":"bool"}],"name":"myDividends","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalEthereumBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amountOfTokens","type":"uint256"}],"name":"setStakingRequirement","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_identifier","type":"bytes32"},{"name":"_status","type":"bool"}],"name":"setAdministrator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"myTokens","outputs":[{"name":"","type":"uint256"}],"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":"disableInitialStage","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_toAddress","type":"address"},{"name":"_amountOfTokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_symbol","type":"string"}],"name":"setSymbol","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"setName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amountOfTokens","type":"uint256"}],"name":"sell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_referredBy","type":"address"}],"name":"buy","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"reinvest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"incomingEthereum","type":"uint256"},{"indexed":false,"name":"tokensMinted","type":"uint256"},{"indexed":true,"name":"referredBy","type":"address"}],"name":"onTokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"tokensBurned","type":"uint256"},{"indexed":false,"name":"ethereumEarned","type":"uint256"}],"name":"onTokenSell","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"ethereumReinvested","type":"uint256"},{"indexed":false,"name":"tokensMinted","type":"uint256"}],"name":"onReinvestment","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"ethereumWithdrawn","type":"uint256"}],"name":"onWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"}]
Contract Creation Code
60606040526040805190810160405280600881526020017f4275646468616d690000000000000000000000000000000000000000000000008152506000908051906020019062000051929190620001e2565b506040805190810160405280600381526020017f4255440000000000000000000000000000000000000000000000000000000000815250600190805190602001906200009f929190620001e2565b50670de0b6b3a764000060025560006008556001600b60006101000a81548160ff0219169083151502179055503415620000d857600080fd5b6001600a600073c975863cbf022a71583d138a5f86585e764ee8e4604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600073c975863cbf022a71583d138a5f86585e764ee8e473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000291565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200022557805160ff191683800117855562000256565b8280016001018555821562000256579182015b828111156200025557825182559160200191906001019062000238565b5b50905062000265919062000269565b5090565b6200028e91905b808211156200028a57600081600090555060010162000270565b5090565b90565b61233180620002a16000396000f30060606040526004361061015e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806265318b1461016c57806306fdde03146101b957806310d0ffdd1461024757806318160ddd1461027e57806322609373146102a757806327defa1f146102de578063313ce5671461030b578063392efb521461033a5780633ccfd60b146103795780634b7503341461038e57806356d399e8146103b7578063688abbf7146103e05780636b2f46321461041957806370a08231146104425780638328b6101461048f5780638620410b146104b257806389135ae9146104db578063949e8acd1461050d57806395d89b4114610536578063a8e04f34146105c4578063a9059cbb146105d9578063b84c824614610633578063c47f002714610690578063e4849b32146106ed578063e9fad8ee14610710578063f088d54714610725578063fdb5a03e14610767575b61016934600061077c565b50005b341561017757600080fd5b6101a3600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061107b565b6040518082815260200191505060405180910390f35b34156101c457600080fd5b6101cc61111d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561020c5780820151818401526020810190506101f1565b50505050905090810190601f1680156102395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561025257600080fd5b61026860048080359060200190919050506111bb565b6040518082815260200191505060405180910390f35b341561028957600080fd5b6102916111f3565b6040518082815260200191505060405180910390f35b34156102b257600080fd5b6102c860048080359060200190919050506111fd565b6040518082815260200191505060405180910390f35b34156102e957600080fd5b6102f1611246565b604051808215151515815260200191505060405180910390f35b341561031657600080fd5b61031e611259565b604051808260ff1660ff16815260200191505060405180910390f35b341561034557600080fd5b61035f60048080356000191690602001909190505061125e565b604051808215151515815260200191505060405180910390f35b341561038457600080fd5b61038c61127e565b005b341561039957600080fd5b6103a161141b565b6040518082815260200191505060405180910390f35b34156103c257600080fd5b6103ca611479565b6040518082815260200191505060405180910390f35b34156103eb57600080fd5b6104036004808035151590602001909190505061147f565b6040518082815260200191505060405180910390f35b341561042457600080fd5b61042c6114eb565b6040518082815260200191505060405180910390f35b341561044d57600080fd5b610479600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061150a565b6040518082815260200191505060405180910390f35b341561049a57600080fd5b6104b06004808035906020019091905050611553565b005b34156104bd57600080fd5b6104c56115e7565b6040518082815260200191505060405180910390f35b34156104e657600080fd5b61050b6004808035600019169060200190919080351515906020019091905050611645565b005b341561051857600080fd5b610520611706565b6040518082815260200191505060405180910390f35b341561054157600080fd5b61054961171b565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561058957808201518184015260208101905061056e565b50505050905090810190601f1680156105b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156105cf57600080fd5b6105d76117b9565b005b34156105e457600080fd5b610619600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611860565b604051808215151515815260200191505060405180910390f35b341561063e57600080fd5b61068e600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611b28565b005b341561069b57600080fd5b6106eb600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611bcc565b005b34156106f857600080fd5b61070e6004808035906020019091905050611c70565b005b341561071b57600080fd5b610723611e9e565b005b610751600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611f05565b6040518082815260200191505060405180910390f35b341561077257600080fd5b61077a611f17565b005b60008060008060008060008060008a6000339050600b60009054906101000a900460ff1680156107bd5750678ac7230489e80000826107b96114eb565b0311155b15610cab5760011515600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514801561086b5750678ac7230489e8000082600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540111155b151561087657600080fd5b6108bf600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361208b565b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503399506109138d600560ff166120a9565b98506109208960036120a9565b975061092c89896120c4565b96506109388d8a6120c4565b9550610943866120dd565b9450680100000000000000008702935060008511801561096f575060085461096d8660085461208b565b115b151561097a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff16141580156109e357508973ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614155b8015610a305750600254600460008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15610ac657610a7e600560008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548961208b565b600560008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ae1565b610ad0878961208b565b965068010000000000000000870293505b60006008541115610b4c57610af86008548661208b565b600881905550600854680100000000000000008802811515610b1657fe5b04600960008282540192505081905550600854680100000000000000008802811515610b3e57fe5b048502840384039350610b54565b846008819055505b610b9d600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548661208b565b600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083856009540203925082600660008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508b73ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167f022c0d992e4d873a3748436d960d5140c1f9721cf73f7ca5ec679d3d9f4fe2d58f88604051808381526020018281526020019250505060405180910390a3849a5061106b565b6000600b60006101000a81548160ff021916908315150217905550339950610cd78d600560ff166120a9565b9850610ce48960036120a9565b9750610cf089896120c4565b9650610cfc8d8a6120c4565b9550610d07866120dd565b94506801000000000000000087029350600085118015610d335750600854610d318660085461208b565b115b1515610d3e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614158015610da757508973ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614155b8015610df45750600254600460008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15610e8a57610e42600560008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548961208b565b600560008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ea5565b610e94878961208b565b965068010000000000000000870293505b60006008541115610f1057610ebc6008548661208b565b600881905550600854680100000000000000008802811515610eda57fe5b04600960008282540192505081905550600854680100000000000000008802811515610f0257fe5b048502840384039350610f18565b846008819055505b610f61600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548661208b565b600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083856009540203925082600660008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508b73ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167f022c0d992e4d873a3748436d960d5140c1f9721cf73f7ca5ec679d3d9f4fe2d58f88604051808381526020018281526020019250505060405180910390a3849a505b5050505050505050505092915050565b600068010000000000000000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600954020381151561111557fe5b049050919050565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111b35780601f10611188576101008083540402835291602001916111b3565b820191906000526020600020905b81548152906001019060200180831161119657829003601f168201915b505050505081565b6000806000806111cf85600560ff166120a9565b92506111db85846120c4565b91506111e6826120dd565b9050809350505050919050565b6000600854905090565b600080600080600854851115151561121457600080fd5b61121d8561216a565b925061122d83600560ff166120a9565b915061123983836120c4565b9050809350505050919050565b600b60009054906101000a900460ff1681565b601281565b600a6020528060005260406000206000915054906101000a900460ff1681565b600080600061128d600161147f565b11151561129957600080fd5b3391506112a6600061147f565b9050680100000000000000008102600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054810190506000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156113c957600080fd5b8173ffffffffffffffffffffffffffffffffffffffff167fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc826040518082815260200191505060405180910390a25050565b60008060008060006008541415611440576402540be40064174876e800039350611473565b611451670de0b6b3a764000061216a565b925061146183600560ff166120a9565b915061146d83836120c4565b90508093505b50505090565b60025481565b60008033905082611498576114938161107b565b6114e3565b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114e18261107b565b015b915050919050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000339050600a600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff1615156115dc57600080fd5b816002819055505050565b6000806000806000600854141561160c576402540be40064174876e80001935061163f565b61161d670de0b6b3a764000061216a565b925061162d83600560ff166120a9565b9150611639838361208b565b90508093505b50505090565b6000339050600a600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff1615156116ce57600080fd5b81600a6000856000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b6000803390506117158161150a565b91505090565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117b15780601f10611786576101008083540402835291602001916117b1565b820191906000526020600020905b81548152906001019060200180831161179457829003601f168201915b505050505081565b6000339050600a600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561184257600080fd5b6000600b60006101000a81548160ff02191690831515021790555050565b600080600061186d611706565b11151561187957600080fd5b339050600b60009054906101000a900460ff161580156118d85750600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311155b15156118e357600080fd5b60006118ef600161147f565b11156118fe576118fd61127e565b5b611947600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846120c4565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119d3600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461208b565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508260095402600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508260095402600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b6000339050600a600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff161515611bb157600080fd5b8160019080519060200190611bc7929190612260565b505050565b6000339050600a600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff161515611c5557600080fd5b8160009080519060200190611c6b929190612260565b505050565b6000806000806000806000611c83611706565b111515611c8f57600080fd5b339550600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548711151515611ce057600080fd5b869450611cec8561216a565b9350611cfc84600560ff166120a9565b9250611d0884846120c4565b9150611d16600854866120c4565b600881905550611d65600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054866120c4565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550680100000000000000008202856009540201905080600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555060006008541115611e3f57611e38600954600854680100000000000000008602811515611e3257fe5b0461208b565b6009819055505b8573ffffffffffffffffffffffffffffffffffffffff167fc4823739c5787d2ca17e404aa47d5569ae71dfb49cbf21b3f6152ed238a311398684604051808381526020018281526020019250505060405180910390a250505050505050565b600080339150600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811115611ef957611ef881611c70565b5b611f0161127e565b5050565b6000611f11348361077c565b50919050565b600080600080611f27600161147f565b111515611f3357600080fd5b611f3d600061147f565b9250339150680100000000000000008302600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054830192506000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061202e83600061077c565b90508173ffffffffffffffffffffffffffffffffffffffff167fbe339fc14b041c2b0e0f3dd2cd325d0c3668b78378001e53160eab36153264588483604051808381526020018281526020019250505060405180910390a2505050565b600080828401905083811015151561209f57fe5b8091505092915050565b60008082848115156120b757fe5b0490508091505092915050565b60008282111515156120d257fe5b818303905092915050565b6000806000670de0b6b3a764000064174876e8000291506008546402540be40061215361214d600854866402540be400600202020260026008540a60026402540be4000a02670de0b6b3a76400008a02670de0b6b3a76400006402540be40002600202026002890a010101612215565b856120c4565b81151561215c57fe5b040390508092505050919050565b600080600080670de0b6b3a764000085019250670de0b6b3a7640000600854019150670de0b6b3a76400006121fe670de0b6b3a764000085036402540be400670de0b6b3a7640000868115156121bc57fe5b046402540be4000264174876e8000103026002670de0b6b3a7640000876002890a038115156121e757fe5b046402540be400028115156121f857fe5b046120c4565b81151561220757fe5b049050809350505050919050565b60008060026001840181151561222757fe5b0490508291505b8181101561225a57809150600281828581151561224757fe5b040181151561225257fe5b04905061222e565b50919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106122a157805160ff19168380011785556122cf565b828001600101855582156122cf579182015b828111156122ce5782518255916020019190600101906122b3565b5b5090506122dc91906122e0565b5090565b61230291905b808211156122fe5760008160009055506001016122e6565b5090565b905600a165627a7a72305820c5de1081456cb77940365adf77efe2f85a098303f1150d79598a86e3abe0469d0029
Deployed Bytecode
0x60606040526004361061015e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806265318b1461016c57806306fdde03146101b957806310d0ffdd1461024757806318160ddd1461027e57806322609373146102a757806327defa1f146102de578063313ce5671461030b578063392efb521461033a5780633ccfd60b146103795780634b7503341461038e57806356d399e8146103b7578063688abbf7146103e05780636b2f46321461041957806370a08231146104425780638328b6101461048f5780638620410b146104b257806389135ae9146104db578063949e8acd1461050d57806395d89b4114610536578063a8e04f34146105c4578063a9059cbb146105d9578063b84c824614610633578063c47f002714610690578063e4849b32146106ed578063e9fad8ee14610710578063f088d54714610725578063fdb5a03e14610767575b61016934600061077c565b50005b341561017757600080fd5b6101a3600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061107b565b6040518082815260200191505060405180910390f35b34156101c457600080fd5b6101cc61111d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561020c5780820151818401526020810190506101f1565b50505050905090810190601f1680156102395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561025257600080fd5b61026860048080359060200190919050506111bb565b6040518082815260200191505060405180910390f35b341561028957600080fd5b6102916111f3565b6040518082815260200191505060405180910390f35b34156102b257600080fd5b6102c860048080359060200190919050506111fd565b6040518082815260200191505060405180910390f35b34156102e957600080fd5b6102f1611246565b604051808215151515815260200191505060405180910390f35b341561031657600080fd5b61031e611259565b604051808260ff1660ff16815260200191505060405180910390f35b341561034557600080fd5b61035f60048080356000191690602001909190505061125e565b604051808215151515815260200191505060405180910390f35b341561038457600080fd5b61038c61127e565b005b341561039957600080fd5b6103a161141b565b6040518082815260200191505060405180910390f35b34156103c257600080fd5b6103ca611479565b6040518082815260200191505060405180910390f35b34156103eb57600080fd5b6104036004808035151590602001909190505061147f565b6040518082815260200191505060405180910390f35b341561042457600080fd5b61042c6114eb565b6040518082815260200191505060405180910390f35b341561044d57600080fd5b610479600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061150a565b6040518082815260200191505060405180910390f35b341561049a57600080fd5b6104b06004808035906020019091905050611553565b005b34156104bd57600080fd5b6104c56115e7565b6040518082815260200191505060405180910390f35b34156104e657600080fd5b61050b6004808035600019169060200190919080351515906020019091905050611645565b005b341561051857600080fd5b610520611706565b6040518082815260200191505060405180910390f35b341561054157600080fd5b61054961171b565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561058957808201518184015260208101905061056e565b50505050905090810190601f1680156105b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156105cf57600080fd5b6105d76117b9565b005b34156105e457600080fd5b610619600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611860565b604051808215151515815260200191505060405180910390f35b341561063e57600080fd5b61068e600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611b28565b005b341561069b57600080fd5b6106eb600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611bcc565b005b34156106f857600080fd5b61070e6004808035906020019091905050611c70565b005b341561071b57600080fd5b610723611e9e565b005b610751600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611f05565b6040518082815260200191505060405180910390f35b341561077257600080fd5b61077a611f17565b005b60008060008060008060008060008a6000339050600b60009054906101000a900460ff1680156107bd5750678ac7230489e80000826107b96114eb565b0311155b15610cab5760011515600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514801561086b5750678ac7230489e8000082600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540111155b151561087657600080fd5b6108bf600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361208b565b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503399506109138d600560ff166120a9565b98506109208960036120a9565b975061092c89896120c4565b96506109388d8a6120c4565b9550610943866120dd565b9450680100000000000000008702935060008511801561096f575060085461096d8660085461208b565b115b151561097a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff16141580156109e357508973ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614155b8015610a305750600254600460008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15610ac657610a7e600560008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548961208b565b600560008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ae1565b610ad0878961208b565b965068010000000000000000870293505b60006008541115610b4c57610af86008548661208b565b600881905550600854680100000000000000008802811515610b1657fe5b04600960008282540192505081905550600854680100000000000000008802811515610b3e57fe5b048502840384039350610b54565b846008819055505b610b9d600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548661208b565b600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083856009540203925082600660008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508b73ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167f022c0d992e4d873a3748436d960d5140c1f9721cf73f7ca5ec679d3d9f4fe2d58f88604051808381526020018281526020019250505060405180910390a3849a5061106b565b6000600b60006101000a81548160ff021916908315150217905550339950610cd78d600560ff166120a9565b9850610ce48960036120a9565b9750610cf089896120c4565b9650610cfc8d8a6120c4565b9550610d07866120dd565b94506801000000000000000087029350600085118015610d335750600854610d318660085461208b565b115b1515610d3e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614158015610da757508973ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614155b8015610df45750600254600460008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15610e8a57610e42600560008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548961208b565b600560008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ea5565b610e94878961208b565b965068010000000000000000870293505b60006008541115610f1057610ebc6008548661208b565b600881905550600854680100000000000000008802811515610eda57fe5b04600960008282540192505081905550600854680100000000000000008802811515610f0257fe5b048502840384039350610f18565b846008819055505b610f61600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548661208b565b600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083856009540203925082600660008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508b73ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167f022c0d992e4d873a3748436d960d5140c1f9721cf73f7ca5ec679d3d9f4fe2d58f88604051808381526020018281526020019250505060405180910390a3849a505b5050505050505050505092915050565b600068010000000000000000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600954020381151561111557fe5b049050919050565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111b35780601f10611188576101008083540402835291602001916111b3565b820191906000526020600020905b81548152906001019060200180831161119657829003601f168201915b505050505081565b6000806000806111cf85600560ff166120a9565b92506111db85846120c4565b91506111e6826120dd565b9050809350505050919050565b6000600854905090565b600080600080600854851115151561121457600080fd5b61121d8561216a565b925061122d83600560ff166120a9565b915061123983836120c4565b9050809350505050919050565b600b60009054906101000a900460ff1681565b601281565b600a6020528060005260406000206000915054906101000a900460ff1681565b600080600061128d600161147f565b11151561129957600080fd5b3391506112a6600061147f565b9050680100000000000000008102600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054810190506000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156113c957600080fd5b8173ffffffffffffffffffffffffffffffffffffffff167fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc826040518082815260200191505060405180910390a25050565b60008060008060006008541415611440576402540be40064174876e800039350611473565b611451670de0b6b3a764000061216a565b925061146183600560ff166120a9565b915061146d83836120c4565b90508093505b50505090565b60025481565b60008033905082611498576114938161107b565b6114e3565b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114e18261107b565b015b915050919050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000339050600a600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff1615156115dc57600080fd5b816002819055505050565b6000806000806000600854141561160c576402540be40064174876e80001935061163f565b61161d670de0b6b3a764000061216a565b925061162d83600560ff166120a9565b9150611639838361208b565b90508093505b50505090565b6000339050600a600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff1615156116ce57600080fd5b81600a6000856000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b6000803390506117158161150a565b91505090565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117b15780601f10611786576101008083540402835291602001916117b1565b820191906000526020600020905b81548152906001019060200180831161179457829003601f168201915b505050505081565b6000339050600a600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561184257600080fd5b6000600b60006101000a81548160ff02191690831515021790555050565b600080600061186d611706565b11151561187957600080fd5b339050600b60009054906101000a900460ff161580156118d85750600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311155b15156118e357600080fd5b60006118ef600161147f565b11156118fe576118fd61127e565b5b611947600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846120c4565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119d3600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461208b565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508260095402600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508260095402600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b6000339050600a600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff161515611bb157600080fd5b8160019080519060200190611bc7929190612260565b505050565b6000339050600a600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff161515611c5557600080fd5b8160009080519060200190611c6b929190612260565b505050565b6000806000806000806000611c83611706565b111515611c8f57600080fd5b339550600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548711151515611ce057600080fd5b869450611cec8561216a565b9350611cfc84600560ff166120a9565b9250611d0884846120c4565b9150611d16600854866120c4565b600881905550611d65600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054866120c4565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550680100000000000000008202856009540201905080600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555060006008541115611e3f57611e38600954600854680100000000000000008602811515611e3257fe5b0461208b565b6009819055505b8573ffffffffffffffffffffffffffffffffffffffff167fc4823739c5787d2ca17e404aa47d5569ae71dfb49cbf21b3f6152ed238a311398684604051808381526020018281526020019250505060405180910390a250505050505050565b600080339150600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811115611ef957611ef881611c70565b5b611f0161127e565b5050565b6000611f11348361077c565b50919050565b600080600080611f27600161147f565b111515611f3357600080fd5b611f3d600061147f565b9250339150680100000000000000008302600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054830192506000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061202e83600061077c565b90508173ffffffffffffffffffffffffffffffffffffffff167fbe339fc14b041c2b0e0f3dd2cd325d0c3668b78378001e53160eab36153264588483604051808381526020018281526020019250505060405180910390a2505050565b600080828401905083811015151561209f57fe5b8091505092915050565b60008082848115156120b757fe5b0490508091505092915050565b60008282111515156120d257fe5b818303905092915050565b6000806000670de0b6b3a764000064174876e8000291506008546402540be40061215361214d600854866402540be400600202020260026008540a60026402540be4000a02670de0b6b3a76400008a02670de0b6b3a76400006402540be40002600202026002890a010101612215565b856120c4565b81151561215c57fe5b040390508092505050919050565b600080600080670de0b6b3a764000085019250670de0b6b3a7640000600854019150670de0b6b3a76400006121fe670de0b6b3a764000085036402540be400670de0b6b3a7640000868115156121bc57fe5b046402540be4000264174876e8000103026002670de0b6b3a7640000876002890a038115156121e757fe5b046402540be400028115156121f857fe5b046120c4565b81151561220757fe5b049050809350505050919050565b60008060026001840181151561222757fe5b0490508291505b8181101561225a57809150600281828581151561224757fe5b040181151561225257fe5b04905061222e565b50919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106122a157805160ff19168380011785556122cf565b828001600101855582156122cf579182015b828111156122ce5782518255916020019190600101906122b3565b5b5090506122dc91906122e0565b5090565b61230291905b808211156122fe5760008160009055506001016122e6565b5090565b905600a165627a7a72305820c5de1081456cb77940365adf77efe2f85a098303f1150d79598a86e3abe0469d0029
Deployed Bytecode Sourcemap
2276:19672:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7426:30;7441:9;7452:3;7426:14;:30::i;:::-;;2276:19672;14432:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5195:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;5195:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15812:398;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13306:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16227:414;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6511:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5268:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6446:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8748:667;;;;;;;;;;;;;;14768:472;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5601:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13774:310;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13107:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14172:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12483:161;;;;;;;;;;;;;;;;;;;;;;;;;;15323:472;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12299:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13507:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5233:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5233:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12159:123;;;;;;;;;;;;;;10880:1122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12791:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12662:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9483:1263;;;;;;;;;;;;;;;;;;;;;;;;;;8380:295;;;;;;;;;;;;;;7193:155;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7548:762;;;;;;;;;;;;;;16809:2848;16959:7;17007:24;17055:27;17141:22;17213:18;17294:22;17382:23;17452:12;19344:22;16905:17;3206:24;3233:10;3206:37;;3276:15;;;;;;;;;;;:86;;;;;5845:8;3322:17;3297:22;:20;:22::i;:::-;:42;3296:64;;3276:86;3272:907;;;3498:4;3464:38;;:12;:30;3477:16;3464:30;;;;;;;;;;;;;;;;;;;;;;;;;:38;;;:250;;;;;5785:8;3670:17;3622:27;:45;3650:16;3622:45;;;;;;;;;;;;;;;;:65;3621:93;;3464:250;3378:369;;;;;;;;3874:78;3887:27;:45;3915:16;3887:45;;;;;;;;;;;;;;;;3934:17;3874:12;:78::i;:::-;3826:27;:45;3854:16;3826:45;;;;;;;;;;;;;;;:126;;;;17034:10;17007:37;;17085:45;17098:17;5349:1;17085:45;;:12;:45::i;:::-;17055:75;;17166:36;17179:19;17200:1;17166:12;:36::i;:::-;17141:61;;17234:49;17247:19;17268:14;17234:12;:49::i;:::-;17213:70;;17319:52;17332:17;17351:19;17319:12;:52::i;:::-;17294:77;;17408:33;17426:14;17408:17;:33::i;:::-;17382:59;;5538:5;17467:10;:22;17452:37;;17537:1;17519:15;:19;:82;;;;;17588:12;;17543:42;17556:15;17572:12;;17543;:42::i;:::-;:57;17519:82;17511:91;;;;;;;;17749:42;17734:57;;:11;:57;;;;:136;;;;;17854:16;17839:31;;:11;:31;;;;17734:136;:231;;;;;17947:18;;17911:19;:32;17931:11;17911:32;;;;;;;;;;;;;;;;:54;;17734:231;17672:695;;;18061:59;18074:16;:29;18091:11;18074:29;;;;;;;;;;;;;;;;18105:14;18061:12;:59::i;:::-;18029:16;:29;18046:11;18029:29;;;;;;;;;;;;;;;:91;;;;17672:695;;;18271:40;18284:10;18296:14;18271:12;:40::i;:::-;18258:53;;5538:5;18333:10;:22;18326:29;;17672:695;18456:1;18441:12;;:16;18438:671;;;18541:43;18554:12;;18568:15;18541:12;:43::i;:::-;18526:12;:58;;;;18772:12;;5538:5;18746:10;:22;:39;;;;;;;;18726:15;;:60;;;;;;;;;;;18969:12;;5538:5;18943:10;:22;:39;;;;;;;;18924:15;:59;18918:4;:66;18910:4;:75;18903:82;;18438:671;;;19082:15;19067:12;:30;;;;18438:671;19245:68;19258:19;:37;19278:16;19258:37;;;;;;;;;;;;;;;;19297:15;19245:12;:68::i;:::-;19205:19;:37;19225:16;19205:37;;;;;;;;;;;;;;;:108;;;;19417:4;19398:15;19380;;:33;19379:42;19344:78;;19465:15;19433:10;:28;19444:16;19433:28;;;;;;;;;;;;;;;;:47;;;;;;;;;;;19594:11;19524:82;;19540:16;19524:82;;;19558:17;19577:15;19524:82;;;;;;;;;;;;;;;;;;;;;;;;19634:15;19627:22;;3272:907;;;4142:5;4124:15;;:23;;;;;;;;;;;;;;;;;;17034:10;17007:37;;17085:45;17098:17;5349:1;17085:45;;:12;:45::i;:::-;17055:75;;17166:36;17179:19;17200:1;17166:12;:36::i;:::-;17141:61;;17234:49;17247:19;17268:14;17234:12;:49::i;:::-;17213:70;;17319:52;17332:17;17351:19;17319:12;:52::i;:::-;17294:77;;17408:33;17426:14;17408:17;:33::i;:::-;17382:59;;5538:5;17467:10;:22;17452:37;;17537:1;17519:15;:19;:82;;;;;17588:12;;17543:42;17556:15;17572:12;;17543;:42::i;:::-;:57;17519:82;17511:91;;;;;;;;17749:42;17734:57;;:11;:57;;;;:136;;;;;17854:16;17839:31;;:11;:31;;;;17734:136;:231;;;;;17947:18;;17911:19;:32;17931:11;17911:32;;;;;;;;;;;;;;;;:54;;17734:231;17672:695;;;18061:59;18074:16;:29;18091:11;18074:29;;;;;;;;;;;;;;;;18105:14;18061:12;:59::i;:::-;18029:16;:29;18046:11;18029:29;;;;;;;;;;;;;;;:91;;;;17672:695;;;18271:40;18284:10;18296:14;18271:12;:40::i;:::-;18258:53;;5538:5;18333:10;:22;18326:29;;17672:695;18456:1;18441:12;;:16;18438:671;;;18541:43;18554:12;;18568:15;18541:12;:43::i;:::-;18526:12;:58;;;;18772:12;;5538:5;18746:10;:22;:39;;;;;;;;18726:15;;:60;;;;;;;;;;;18969:12;;5538:5;18943:10;:22;:39;;;;;;;;18924:15;:59;18918:4;:66;18910:4;:75;18903:82;;18438:671;;;19082:15;19067:12;:30;;;;18438:671;19245:68;19258:19;:37;19278:16;19258:37;;;;;;;;;;;;;;;;19297:15;19245:12;:68::i;:::-;19205:19;:37;19225:16;19205:37;;;;;;;;;;;;;;;:108;;;;19417:4;19398:15;19380;;:33;19379:42;19344:78;;19465:15;19433:10;:28;19444:16;19433:28;;;;;;;;;;;;;;;;:47;;;;;;;;;;;19594:11;19524:82;;19540:16;19524:82;;;19558:17;19577:15;19524:82;;;;;;;;;;;;;;;;;;;;;;;;19634:15;19627:22;;3272:907;16809:2848;;;;;;;;;;;;;;:::o;14432:254::-;14526:7;5538:5;14637:10;:28;14648:16;14637:28;;;;;;;;;;;;;;;;14596:19;:37;14616:16;14596:37;;;;;;;;;;;;;;;;14578:15;;:55;14569:96;14558:120;;;;;;;;14551:127;;14432:254;;;:::o;5195:31::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;15812:398::-;15921:7;15946:18;16022:22;16100:23;15967:44;15980:16;5349:1;15967:44;;:12;:44::i;:::-;15946:65;;16047:42;16060:16;16078:10;16047:12;:42::i;:::-;16022:67;;16126:33;16144:14;16126:17;:33::i;:::-;16100:59;;16187:15;16180:22;;15812:398;;;;;;:::o;13306:122::-;13376:7;13408:12;;13401:19;;13306:122;:::o;16227:414::-;16335:7;16409:17;16472:18;16541:22;16385:12;;16368:13;:29;;16360:38;;;;;;;;16429:32;16447:13;16429:17;:32::i;:::-;16409:52;;16493:37;16506:9;5349:1;16493:37;;:12;:37::i;:::-;16472:58;;16566:35;16579:9;16590:10;16566:12;:35::i;:::-;16541:60;;16619:14;16612:21;;16227:414;;;;;;:::o;6511:34::-;;;;;;;;;;;;;:::o;5268:35::-;5301:2;5268:35;:::o;6446:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;8748:667::-;8845:24;8893:18;2644:1;2624:17;2636:4;2624:11;:17::i;:::-;:21;2616:30;;;;;;;;8872:10;8845:37;;8914:18;8926:5;8914:11;:18::i;:::-;8893:39;;5538:5;9068:10;:22;9025:10;:28;9036:16;9025:28;;;;;;;;;;;;;;;;:66;;;;;;;;;;;9153:16;:34;9170:16;9153:34;;;;;;;;;;;;;;;;9139:48;;;;9235:1;9198:16;:34;9215:16;9198:34;;;;;;;;;;;;;;;:38;;;;9286:16;:25;;:37;9312:10;9286:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9378:16;9367:40;;;9396:10;9367:40;;;;;;;;;;;;;;;;;;8748:667;;:::o;14768:472::-;14839:7;14992:17;15050:18;15125:22;14892:1;14876:12;;:17;14873:360;;;5477:16;5404:15;14916:43;14909:50;;;;14873:360;15012:23;15030:4;15012:17;:23::i;:::-;14992:43;;15071:39;15084:9;5349:1;15071:39;;:12;:39::i;:::-;15050:60;;15150:35;15163:9;15174:10;15150:12;:35::i;:::-;15125:60;;15207:14;15200:21;;14768:472;;;;;:::o;5601:40::-;;;;:::o;13774:310::-;13873:7;13898:24;13925:10;13898:37;;13953:21;:122;;14046:29;14058:16;14046:11;:29::i;:::-;13953:122;;;14009:16;:34;14026:16;14009:34;;;;;;;;;;;;;;;;13977:29;13989:16;13977:11;:29::i;:::-;:66;13953:122;13946:129;;13774:310;;;;:::o;13107:128::-;13186:4;13215;:12;;;13208:19;;13107:128;:::o;14172:169::-;14264:7;14296:19;:37;14316:16;14296:37;;;;;;;;;;;;;;;;14289:44;;14172:169;;;:::o;12483:161::-;3007:24;3034:10;3007:37;;3063:14;:43;3088:16;3078:27;;;;;;;;;;;;;;;;;;;;;;;;3063:43;;;;;;;;;;;;;;;;;;;;;;;;;;;3055:52;;;;;;;;12621:15;12600:18;:36;;;;12483:161;;:::o;15323:472::-;15393:7;15547:17;15605:18;15680:22;15447:1;15431:12;;:17;15428:360;;;5477:16;5404:15;15471:43;15464:50;;;;15428:360;15567:23;15585:4;15567:17;:23::i;:::-;15547:43;;15626:39;15639:9;5349:1;15626:39;;:12;:39::i;:::-;15605:60;;15705:35;15718:9;15729:10;15705:12;:35::i;:::-;15680:60;;15762:14;15755:21;;15323:472;;;;;:::o;12299:167::-;3007:24;3034:10;3007:37;;3063:14;:43;3088:16;3078:27;;;;;;;;;;;;;;;;;;;;;;;;3063:43;;;;;;;;;;;;;;;;;;;;;;;;;;;3055:52;;;;;;;;12451:7;12421:14;:27;12436:11;12421:27;;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;12299:167;;;:::o;13507:182::-;13574:7;13599:24;13626:10;13599:37;;13654:27;13664:16;13654:9;:27::i;:::-;13647:34;;13507:182;;:::o;5233:28::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12159:123::-;3007:24;3034:10;3007:37;;3063:14;:43;3088:16;3078:27;;;;;;;;;;;;;;;;;;;;;;;;3063:43;;;;;;;;;;;;;;;;;;;;;;;;;;;3055:52;;;;;;;;12269:5;12251:15;;:23;;;;;;;;;;;;;;;;;;12159:123;:::o;10880:1122::-;11004:4;11044:24;2516:1;2503:10;:8;:10::i;:::-;:14;2495:23;;;;;;;;11071:10;11044:37;;11169:15;;;;;;;;;;;11168:16;:76;;;;;11207:19;:37;11227:16;11207:37;;;;;;;;;;;;;;;;11188:15;:56;;11168:76;11160:85;;;;;;;;11342:1;11322:17;11334:4;11322:11;:17::i;:::-;:21;11319:36;;;11345:10;:8;:10::i;:::-;11319:36;11436:68;11449:19;:37;11469:16;11449:37;;;;;;;;;;;;;;;;11488:15;11436:12;:68::i;:::-;11396:19;:37;11416:16;11396:37;;;;;;;;;;;;;;;:108;;;;11549:62;11562:19;:31;11582:10;11562:31;;;;;;;;;;;;;;;;11595:15;11549:12;:62::i;:::-;11515:19;:31;11535:10;11515:31;;;;;;;;;;;;;;;:96;;;;11729:15;11711;;:33;11669:10;:28;11680:16;11669:28;;;;;;;;;;;;;;;;:76;;;;;;;;;;;11810:15;11792;;:33;11756:10;:22;11767:10;11756:22;;;;;;;;;;;;;;;;:70;;;;;;;;;;;11907:10;11880:55;;11889:16;11880:55;;;11919:15;11880:55;;;;;;;;;;;;;;;;;;11981:4;11974:11;;10880:1122;;;;;:::o;12791:120::-;3007:24;3034:10;3007:37;;3063:14;:43;3088:16;3078:27;;;;;;;;;;;;;;;;;;;;;;;;3063:43;;;;;;;;;;;;;;;;;;;;;;;;;;;3055:52;;;;;;;;12896:7;12887:6;:16;;;;;;;;;;;;:::i;:::-;;12791:120;;:::o;12662:112::-;3007:24;3034:10;3007:37;;3063:14;:43;3088:16;3078:27;;;;;;;;;;;;;;;;;;;;;;;;3063:43;;;;;;;;;;;;;;;;;;;;;;;;;;;3055:52;;;;;;;;12761:5;12754:4;:12;;;;;;;;;;;;:::i;:::-;;12662:112;;:::o;9483:1263::-;9590:24;9723:15;9767:17;9824:18;9893:22;10226;2516:1;2503:10;:8;:10::i;:::-;:14;2495:23;;;;;;;;9617:10;9590:37;;9674:19;:37;9694:16;9674:37;;;;;;;;;;;;;;;;9655:15;:56;;9647:65;;;;;;;;9741:15;9723:33;;9787:26;9805:7;9787:17;:26::i;:::-;9767:46;;9845:37;9858:9;5349:1;9845:37;;:12;:37::i;:::-;9824:58;;9918:35;9931:9;9942:10;9918:12;:35::i;:::-;9893:60;;10022:35;10035:12;;10049:7;10022:12;:35::i;:::-;10007:12;:50;;;;10108:60;10121:19;:37;10141:16;10121:37;;;;;;;;;;;;;;;;10160:7;10108:12;:60::i;:::-;10068:19;:37;10088:16;10068:37;;;;;;;;;;;;;;;:100;;;;5538:5;10290:14;:26;10279:7;10261:15;;:25;:56;10226:92;;10361:15;10329:10;:28;10340:16;10329:28;;;;;;;;;;;;;;;;:47;;;;;;;;;;;10466:1;10451:12;;:16;10447:194;;;10559:70;10572:15;;10616:12;;5538:5;10590:10;:22;10589:39;;;;;;;;10559:12;:70::i;:::-;10541:15;:88;;;;10447:194;10696:16;10684:54;;;10714:7;10723:14;10684:54;;;;;;;;;;;;;;;;;;;;;;;;9483:1263;;;;;;;:::o;8380:295::-;8483:24;8531:15;8510:10;8483:37;;8549:19;:37;8569:16;8549:37;;;;;;;;;;;;;;;;8531:55;;8610:1;8600:7;:11;8597:29;;;8613:13;8618:7;8613:4;:13::i;:::-;8597:29;8657:10;:8;:10::i;:::-;8380:295;;:::o;7193:155::-;7277:7;7302:38;7317:9;7328:11;7302:14;:38::i;:::-;;7193:155;;;:::o;7548:762::-;7650:18;7795:24;8156:15;2644:1;2624:17;2636:4;2624:11;:17::i;:::-;:21;2616:30;;;;;;;;7671:18;7683:5;7671:11;:18::i;:::-;7650:39;;7822:10;7795:37;;5538:5;7886:10;:22;7843:10;:28;7854:16;7843:28;;;;;;;;;;;;;;;;:66;;;;;;;;;;;7976:16;:34;7993:16;7976:34;;;;;;;;;;;;;;;;7962:48;;;;8058:1;8021:16;:34;8038:16;8021:34;;;;;;;;;;;;;;;:38;;;;8174:31;8189:10;8201:3;8174:14;:31::i;:::-;8156:49;;8264:16;8249:53;;;8282:10;8294:7;8249:53;;;;;;;;;;;;;;;;;;;;;;;;7548:762;;;:::o;22736:147::-;22794:7;22814:9;22830:1;22826;:5;22814:17;;22854:1;22849;:6;;22842:14;;;;;;22874:1;22867:8;;22736:147;;;;;:::o;22298:288::-;22356:7;22455:9;22471:1;22467;:5;;;;;;;;22455:17;;22577:1;22570:8;;22298:288;;;;;:::o;22600:123::-;22658:7;22690:1;22685;:6;;22678:14;;;;;;22714:1;22710;:5;22703:12;;22600:123;;;;:::o;19953:976::-;20048:7;20073:26;20138:23;20123:4;5404:15;20102:25;20073:54;;20861:12;;5477:16;20253:555;20289:457;20706:12;;20687:18;5477:16;20660:1;:26;:45;:58;20595:1;20581:12;;:15;20577:1;5477:16;20551:27;20550:47;20482:4;20470:9;:16;20463:4;5477:16;20438:29;20435:1;:33;:52;20371:1;20351:18;:21;20350:138;:248;:369;20289:4;:457::i;:::-;20771:18;20253:12;:555::i;:::-;20190:658;;;;;;;;20175:699;20138:736;;20906:15;20899:22;;19953:976;;;;;:::o;21001:722::-;21094:7;21121:15;21166:20;21221:22;21150:4;21140:7;:14;21121:34;;21205:4;21190:12;;:19;21166:44;;21678:4;21310:357;21573:4;21563:7;:14;5477:16;21482:4;21469:12;:17;;;;;;;;5477:16;21443:44;5404:15;21422:66;21391:147;21364:214;21651:1;21644:4;21635:7;21633:1;21624:7;:10;:18;21623:25;;;;;;;;5477:16;21599:50;21598:54;;;;;;;;21310:12;:357::i;:::-;:372;;;;;;;;21221:462;;21701:14;21694:21;;21001:722;;;;;;:::o;21747:198::-;21792:6;21811;21830:1;21825;21821;:5;21820:11;;;;;;;;21811:20;;21846:1;21842:5;;21858:80;21869:1;21865;:5;21858:80;;;21891:1;21887:5;;21925:1;21920;21916;21912;:5;;;;;;;;:9;21911:15;;;;;;;;21907:19;;21858:80;;;21747:198;;;;:::o;2276:19672::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
bzzr://c5de1081456cb77940365adf77efe2f85a098303f1150d79598a86e3abe0469d
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ 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.