Contract Overview
Balance:
0 MATIC
MATIC Value:
$0.00
My Name Tag:
Not Available, login to update
Txn Hash |
Method
|
Block
|
From
|
To
|
Value | [Txn Fee] | |||
---|---|---|---|---|---|---|---|---|---|
0xdbf0cae8ad216e30fa042d8ca193cf69d692eedcc3872c95892c69e322baa3b0 | Initialize | 30469861 | 263 days 3 hrs ago | XSGD: Deployer | IN | 0x9f0e790d7faf72dad5c55f5b9982274340799483 | 0 MATIC | 0.00354942 | |
0xdf85a066ae81b5cbf55620afaf658b86d59e6789a6ccab2c1ef0f5177374328d | 0x60806040 | 30469822 | 263 days 3 hrs ago | XSGD: Deployer | IN | Contract Creation | 0 MATIC | 0.09627646 |
[ Download CSV Export ]
Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x735e27546C7d2fE3c097F880E258C96eA66597b7
Contract Name:
FiatTokenV1
Compiler Version
v0.4.24+commit.e67f0147
Contract Source Code (Solidity)
/** *Submitted for verification at polygonscan.com on 2022-03-31 */ // File: openzeppelin-solidity/contracts/math/SafeMath.sol pragma solidity ^0.4.24; /** * @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 c) { // Gas optimization: this is cheaper than asserting 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (a == 0) { return 0; } c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ 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 a / b; } /** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256 c) { c = a + b; assert(c >= a); return c; } } // File: contracts/Ownable.sol /** * Copyright CENTRE SECZ 2018 * Copyright (c) 2020 Xfers Pte. Ltd. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is furnished to * do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ pragma solidity ^0.4.24; contract Ownable { address private _owner; /** * @dev Event to show ownership has been transferred * @param previousOwner representing the address of the previous owner * @param newOwner representing the address of the new owner */ event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The constructor sets the original owner of the contract to the sender account. */ constructor() internal { setOwner(msg.sender); emit OwnershipTransferred(address(0), _owner); } /** * @dev Sets a new owner address */ function setOwner(address newOwner) internal { _owner = newOwner; } /** * @dev Tells the address of the owner * @return the address of the owner */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner(), "onlyOwner: not owner"); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0), "transferOwnership: 0x0 invalid"); require(newOwner != owner(), "transferOwnership: same address"); emit OwnershipTransferred(owner(), newOwner); setOwner(newOwner); } } // File: contracts/Blacklistable.sol /** * Copyright CENTRE SECZ 2018 * Copyright (c) 2020 Xfers Pte. Ltd. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is furnished to * do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ pragma solidity ^0.4.24; /** * @title Blacklistable Token * @dev Allows accounts to be blacklisted by a "blacklister" role */ contract Blacklistable is Ownable { address public blacklister; mapping(address => bool) internal blacklisted; event Blacklisted(address indexed _account); event UnBlacklisted(address indexed _account); event BlacklisterChanged(address indexed newBlacklister); /** * @dev Throws if called by any account other than the blacklister */ modifier onlyBlacklister() { require(msg.sender == blacklister, "not blacklister"); _; } /** * @dev Throws if argument account is blacklisted * @param _account The address to check */ modifier notBlacklisted(address _account) { require(blacklisted[_account] == false, "notBlacklisted: is blacklisted"); _; } /** * @dev Checks if account is blacklisted * @param _account The address to check */ function isBlacklisted(address _account) public view returns (bool) { return blacklisted[_account]; } /** * @dev Adds account to blacklist * @param _account The address to blacklist */ function blacklist(address _account) public onlyBlacklister { require(_account != address(0), "blacklist: 0x0 invalid"); require(!isBlacklisted(_account), "blacklist: already blacklisted"); blacklisted[_account] = true; emit Blacklisted(_account); } /** * @dev Removes account from blacklist * @param _account The address to remove from the blacklist */ function unBlacklist(address _account) public onlyBlacklister { require(_account != address(0), "unBlacklist: 0x0 invalid"); require(isBlacklisted(_account), "unBlacklist: not blacklisted"); blacklisted[_account] = false; emit UnBlacklisted(_account); } function updateBlacklister(address _newBlacklister) public onlyOwner { require(_newBlacklister != address(0), "updateBlacklister: 0x0 invalid"); require(_newBlacklister != blacklister, "updateBlacklister: same address"); blacklister = _newBlacklister; emit BlacklisterChanged(blacklister); } } // File: contracts/Pausable.sol /** * Copyright CENTRE SECZ 2018 * Copyright (c) 2020 Xfers Pte. Ltd. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is furnished to * do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ pragma solidity ^0.4.24; /** * @title Pausable * @dev Base contract which allows children to implement an emergency stop mechanism. * Based on openzeppelin tag v1.10.0 commit: feb665136c0dae9912e08397c1a21c4af3651ef3 * Modifications: * 1) Added pauser role, switched pause/unpause to be onlyPauser (6/14/2018) * 2) Removed whenNotPause/whenPaused from pause/unpause (6/14/2018) * 3) Removed whenPaused (6/14/2018) * 4) Switches ownable library to use zeppelinos (7/12/18) * 5) Remove constructor (7/13/18) */ contract Pausable is Ownable { event Pause(); event Unpause(); event PauserChanged(address indexed newAddress); address public pauser; bool public paused = false; /** * @dev Modifier to make a function callable only when the contract is not paused. */ modifier whenNotPaused() { require(!paused, "whenNotPaused: contract paused"); _; } /** * @dev throws if called by any account other than the pauser */ modifier onlyPauser() { require(msg.sender == pauser, "pauser only"); _; } /** * @dev called by the owner to pause, triggers stopped state */ function pause() public onlyPauser { paused = true; emit Pause(); } /** * @dev called by the owner to unpause, returns to normal state */ function unpause() public onlyPauser { paused = false; emit Unpause(); } /** * @dev update the pauser role */ function updatePauser(address _newPauser) public onlyOwner { require(_newPauser != address(0), "updatePauser: 0x0 invalid"); require(_newPauser != pauser, "updatePauser: same address"); pauser = _newPauser; emit PauserChanged(pauser); } } // File: contracts/ERC20Recovery.sol /** * Copyright (c) 2020 Xfers Pte. Ltd. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is furnished to * do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ pragma solidity ^0.4.24; /** * @title ERC20Recovery * @dev Minimal version of ERC20 interface required to allow ERC20 locked tokens recovery */ contract ERC20Recovery { function balanceOf(address account) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); } // File: contracts/FiatTokenV1.sol /** * Copyright CENTRE SECZ 2018 * Copyright (c) 2020 Xfers Pte. Ltd. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is furnished to * do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ pragma solidity ^0.4.24; /** * @title FiatToken * @dev Token backed by fiat reserves */ contract FiatTokenV1 is Ownable, Pausable, Blacklistable { using SafeMath for uint256; string public name; string public symbol; uint8 public decimals; address public masterMinter; bool internal initialized; mapping(address => uint256) internal balances; mapping(address => mapping(address => uint256)) internal allowed; uint256 internal totalSupply_ = 0; mapping(address => bool) internal minters; mapping(address => uint256) internal minterAllowed; event Mint(address indexed minter, address indexed to, uint256 amount); event Transfer(address indexed from, address indexed to, uint256 amount); event Burn(address indexed burner, uint256 amount); event Approval( address indexed owner, address indexed spender, uint256 amount ); event MinterConfigured(address indexed minter, uint256 minterAllowedAmount); event MinterRemoved(address indexed oldMinter); event MasterMinterChanged(address indexed newMasterMinter); /** * @dev Throws if called by any account other than a minter */ modifier onlyMinters() { require(minters[msg.sender] == true, "minters only"); _; } /** * @dev Throws if called by any account other than the masterMinter */ modifier onlyMasterMinter() { require(msg.sender == masterMinter, "master minter only"); _; } /** * @dev Function to initialise contract * @param _name string Token name * @param _symbol string Token symbol * @param _decimals uint8 Token decimals * @param _masterMinter address Address of the master minter * @param _pauser address Address of the pauser * @param _blacklister address Address of the blacklister * @param _owner address Address of the owner */ function initialize( string _name, string _symbol, uint8 _decimals, address _masterMinter, address _pauser, address _blacklister, address _owner ) public { require(!initialized, "already initialized!"); require(_masterMinter != address(0), "master minter can't be 0x0"); require(_pauser != address(0), "pauser can't be 0x0"); require(_blacklister != address(0), "blacklister can't be 0x0"); require(_owner != address(0), "owner can't be 0x0"); name = _name; symbol = _symbol; decimals = _decimals; masterMinter = _masterMinter; pauser = _pauser; blacklister = _blacklister; setOwner(_owner); initialized = true; } /** * @dev Function to mint tokens * Validates that the contract is not paused * only minters can call this function * minter and the address that will received the minted tokens are not blacklisted * @param _to address The address that will receive the minted tokens. * @param _amount uint256 The amount of tokens to mint. Must be less than or equal to the minterAllowance of the caller. * @return True if the operation was successful. */ function mint(address _to, uint256 _amount) public whenNotPaused onlyMinters notBlacklisted(msg.sender) notBlacklisted(_to) returns (bool) { require(_to != address(0), "can't mint to 0x0"); require(_amount > 0, "amount to mint has to be > 0"); uint256 mintingAllowedAmount = minterAllowance(msg.sender); require(_amount <= mintingAllowedAmount, "minter allowance too low"); totalSupply_ = totalSupply_.add(_amount); balances[_to] = balances[_to].add(_amount); minterAllowed[msg.sender] = mintingAllowedAmount.sub(_amount); if (minterAllowance(msg.sender) == 0) { minters[msg.sender] = false; emit MinterRemoved(msg.sender); } emit Mint(msg.sender, _to, _amount); emit Transfer(0x0, _to, _amount); return true; } /** * @dev Function to get minter allowance of an address * @param _minter address The address of check minter allowance of * @return The minter allowance of the address */ function minterAllowance(address _minter) public view returns (uint256) { return minterAllowed[_minter]; } /** * @dev Function to check if an address is a minter * @param _address The address to check * @return A boolean value to indicates if an address is a minter */ function isMinter(address _address) public view returns (bool) { return minters[_address]; } /** * @dev Function to get total supply of token * @return The total supply of the token */ function totalSupply() public view returns (uint256) { return totalSupply_; } /** * @dev Function to get token balance of an address * @param _address address The account * @return The token balance of an address */ function balanceOf(address _address) public view returns (uint256) { return balances[_address]; } /** * @dev Function to approves a spender to spend up to a certain amount of tokens * Validates that the contract is not paused * the owner and spender are not blacklisted * Avoid calling this function if possible (https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729) * @param _spender address The Address of the spender * @param _amount uint256 The amount of tokens that the spender is approved to spend * @return True if the operation was successful. */ function approve(address _spender, uint256 _amount) public whenNotPaused notBlacklisted(msg.sender) notBlacklisted(_spender) returns (bool) { return _approve(_spender, _amount); } /** * @dev Alternative function to the approve function * Increases the allowance of the spender * Validates that the contract is not paused * the owner and spender are not blacklisted * @param _spender address The Address of the spender * @param _addedValue uint256 The amount of tokens to be added to a spender's allowance * @return True if the operation was successful. */ function increaseAllowance(address _spender, uint256 _addedValue) public whenNotPaused notBlacklisted(msg.sender) notBlacklisted(_spender) returns (bool) { uint256 updatedAllowance = allowed[msg.sender][_spender].add( _addedValue ); return _approve(_spender, updatedAllowance); } /** * @dev Alternative function to the approve function * Decreases the allowance of the spender * Validates that the contract is not paused * the owner and spender are not blacklisted * @param _spender address The Address of the spender * @param _subtractedValue uint256 The amount of tokens to be subtracted from a spender's allowance * @return True if the operation was successful. */ function decreaseAllowance(address _spender, uint256 _subtractedValue) public whenNotPaused notBlacklisted(msg.sender) notBlacklisted(_spender) returns (bool) { uint256 updatedAllowance = allowed[msg.sender][_spender].sub( _subtractedValue ); return _approve(_spender, updatedAllowance); } /** * @dev Function to approves a spender to spend up to a certain amount of tokens * @param _spender address The Address of the spender * @param _amount uint256 The amount of tokens that the spender is approved to spend */ function _approve(address _spender, uint256 _amount) internal returns (bool) { allowed[msg.sender][_spender] = _amount; emit Approval(msg.sender, _spender, _amount); return true; } /** * @dev Function to get token allowance given to a spender by the owner * @param _owner address The address of the owner * @param _spender address The address of the spender * @return The number of tokens that a spender can spend on behalf of the owner */ function allowance(address _owner, address _spender) public view returns (uint256) { return allowed[_owner][_spender]; } /** * @dev Function to transfer tokens from one address to another. * Validates that the contract is not paused * the caller, sender and receiver of the tokens are not blacklisted * @param _from address The address which you want to send tokens from * @param _to address The address which you want to transfer to * @param _amount uint256 the amount of tokens to be transferred * @return True if the operation was successful. */ function transferFrom(address _from, address _to, uint256 _amount) public whenNotPaused notBlacklisted(_to) notBlacklisted(msg.sender) notBlacklisted(_from) returns (bool) { require(_to != address(0), "can't transfer to 0x0"); require(_amount <= balances[_from], "insufficient balance"); require( _amount <= allowed[_from][msg.sender], "token allowance is too low" ); balances[_from] = balances[_from].sub(_amount); balances[_to] = balances[_to].add(_amount); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_amount); emit Transfer(_from, _to, _amount); return true; } /** * @dev Function to transfer token to a specified address * Validates that the contract is not paused * The sender and receiver are not blacklisted * @param _to The address to transfer to. * @param _amount The amount of tokens to be transferred. * @return True if the operation is successful */ function transfer(address _to, uint256 _amount) public whenNotPaused notBlacklisted(msg.sender) notBlacklisted(_to) returns (bool) { require(_to != address(0), "can't transfer to 0x0"); require(_amount <= balances[msg.sender], "insufficient balance"); balances[msg.sender] = balances[msg.sender].sub(_amount); balances[_to] = balances[_to].add(_amount); emit Transfer(msg.sender, _to, _amount); return true; } /** * @dev Function to increase minter allowance of a minter * Validates that only the master minter can call this function * @param _minter address The address of the minter * @param _increasedAmount uint256 The amount of to be added to a minter's allowance */ function increaseMinterAllowance(address _minter, uint256 _increasedAmount) public onlyMasterMinter { require(_minter != address(0), "minter can't be 0x0"); uint256 updatedAllowance = minterAllowance(_minter).add( _increasedAmount ); minterAllowed[_minter] = updatedAllowance; minters[_minter] = true; emit MinterConfigured(_minter, updatedAllowance); } /** * @dev Function to decrease minter allowance of a minter * Validates that only the master minter can call this function * @param _minter address The address of the minter * @param _decreasedAmount uint256 The amount of allowance to be subtracted from a minter's allowance */ function decreaseMinterAllowance(address _minter, uint256 _decreasedAmount) public onlyMasterMinter { require(_minter != address(0), "minter can't be 0x0"); require(minters[_minter], "not a minter"); uint256 updatedAllowance = minterAllowance(_minter).sub( _decreasedAmount ); minterAllowed[_minter] = updatedAllowance; if (minterAllowance(_minter) > 0) { emit MinterConfigured(_minter, updatedAllowance); } else { minters[_minter] = false; emit MinterRemoved(_minter); } } /** * @dev Function to allow a minter to burn some of its own tokens * Validates that the contract is not paused * caller is a minter and is not blacklisted * amount is less than or equal to the minter's mint allowance balance * @param _amount uint256 the amount of tokens to be burned */ function burn(uint256 _amount) public whenNotPaused onlyMinters notBlacklisted(msg.sender) { uint256 balance = balances[msg.sender]; require(_amount > 0, "burn amount has to be > 0"); require(balance >= _amount, "balance in minter is < amount to burn"); totalSupply_ = totalSupply_.sub(_amount); balances[msg.sender] = balance.sub(_amount); emit Burn(msg.sender, _amount); emit Transfer(msg.sender, address(0), _amount); } /** * @dev Function to allow the blacklister to burn entire balance of tokens from a blacklisted address * Validates that contract is not paused * caller is the blacklister * address to burn tokens from is a blacklisted address * @param _from address the address to burn tokens from */ function lawEnforcementWipingBurn(address _from) public whenNotPaused onlyBlacklister { require( isBlacklisted(_from), "Can't wipe balances of a non blacklisted address" ); uint256 balance = balances[_from]; totalSupply_ = totalSupply_.sub(balance); balances[_from] = 0; emit Burn(_from, balance); emit Transfer(_from, address(0), balance); } /** * @dev Function to update the masterMinter role * Validates that the caller is the owner */ function updateMasterMinter(address _newMasterMinter) public onlyOwner { require(_newMasterMinter != address(0), "master minter can't be 0x0"); require(_newMasterMinter != masterMinter, "master minter is the same"); masterMinter = _newMasterMinter; emit MasterMinterChanged(masterMinter); } /** * @dev Function to reject all EIP223 compatible tokens * @param _from address The address that is transferring the tokens * @param _value uint256 the amount of the specified token * @param _data bytes The data passed from the caller */ function tokenFallback(address _from, uint256 _value, bytes _data) external pure { revert("reject EIP223 token transfers"); } /** * @dev Function to reclaim all ERC20Recovery compatible tokens * Validates that the caller is the owner * @param _tokenAddress address The address of the token contract */ function reclaimToken(address _tokenAddress) external onlyOwner { require(_tokenAddress != address(0), "token can't be 0x0"); ERC20Recovery token = ERC20Recovery(_tokenAddress); uint256 balance = token.balanceOf(this); require(token.transfer(owner(), balance), "reclaim token failed"); } }
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":"_amount","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint8"},{"name":"_masterMinter","type":"address"},{"name":"_pauser","type":"address"},{"name":"_blacklister","type":"address"},{"name":"_owner","type":"address"}],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenAddress","type":"address"}],"name":"reclaimToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_account","type":"address"}],"name":"unBlacklist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","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":true,"inputs":[],"name":"masterMinter","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newPauser","type":"address"}],"name":"updatePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"}],"name":"lawEnforcementWipingBurn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_minter","type":"address"}],"name":"minterAllowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pauser","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_minter","type":"address"},{"name":"_decreasedAmount","type":"uint256"}],"name":"decreaseMinterAllowance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newMasterMinter","type":"address"}],"name":"updateMasterMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"isMinter","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newBlacklister","type":"address"}],"name":"updateBlacklister","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"blacklister","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_minter","type":"address"},{"name":"_increasedAmount","type":"uint256"}],"name":"increaseMinterAllowance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"tokenFallback","outputs":[],"payable":false,"stateMutability":"pure","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"},{"constant":false,"inputs":[{"name":"_account","type":"address"}],"name":"blacklist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_account","type":"address"}],"name":"isBlacklisted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"minter","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"minter","type":"address"},{"indexed":false,"name":"minterAllowedAmount","type":"uint256"}],"name":"MinterConfigured","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"oldMinter","type":"address"}],"name":"MinterRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"newMasterMinter","type":"address"}],"name":"MasterMinterChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_account","type":"address"}],"name":"Blacklisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_account","type":"address"}],"name":"UnBlacklisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"newBlacklister","type":"address"}],"name":"BlacklisterChanged","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"newAddress","type":"address"}],"name":"PauserChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
60806040526001805460a060020a60ff0219169055600060095561002b33640100000000610069810204565b60008054604051600160a060020a0390911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a361008b565b60008054600160a060020a031916600160a060020a0392909216919091179055565b61305e8061009a6000396000f3006080604052600436106101b65763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101bb578063095ea7b314610245578063147936ba1461027d57806317ffc3201461034057806318160ddd146103615780631a8952661461038857806323b872dd146103a9578063313ce567146103d357806335d99f35146103fe578063395093511461042f5780633f4ba83a1461045357806340c10f191461046857806342966c681461048c578063554bab3c146104a45780635c975abb146104c557806370a08231146104da57806380e56f42146104fb5780638456cb591461051c5780638a6db9c3146105315780638da5cb5b1461055257806395d89b41146105675780639fd0506d1461057c578063a2ded11514610591578063a457c2d7146105b5578063a9059cbb146105d9578063aa20e1e4146105fd578063aa271e1a1461061e578063ad38bf221461063f578063bd10243014610660578063be76ebe514610675578063c0ee0b8a14610699578063dd62ed3e146106ca578063f2fde38b146106f1578063f9f92be414610712578063fe575a8714610733575b600080fd5b3480156101c757600080fd5b506101d0610754565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561020a5781810151838201526020016101f2565b50505050905090810190601f1680156102375780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561025157600080fd5b50610269600160a060020a03600435166024356107e2565b604080519115158252519081900360200190f35b34801561028957600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261033e94369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497505060ff853516955050600160a060020a036020850135811694604081013582169450606081013582169350608001351690506108ff565b005b34801561034c57600080fd5b5061033e600160a060020a0360043516610bd6565b34801561036d57600080fd5b50610376610e2a565b60408051918252519081900360200190f35b34801561039457600080fd5b5061033e600160a060020a0360043516610e31565b3480156103b557600080fd5b50610269600160a060020a0360043581169060243516604435610f9b565b3480156103df57600080fd5b506103e861134f565b6040805160ff9092168252519081900360200190f35b34801561040a57600080fd5b50610413611358565b60408051600160a060020a039092168252519081900360200190f35b34801561043b57600080fd5b50610269600160a060020a036004351660243561136c565b34801561045f57600080fd5b5061033e6114c2565b34801561047457600080fd5b50610269600160a060020a036004351660243561156d565b34801561049857600080fd5b5061033e600435611943565b3480156104b057600080fd5b5061033e600160a060020a0360043516611bd8565b3480156104d157600080fd5b50610269611d50565b3480156104e657600080fd5b50610376600160a060020a0360043516611d60565b34801561050757600080fd5b5061033e600160a060020a0360043516611d7b565b34801561052857600080fd5b5061033e611f68565b34801561053d57600080fd5b50610376600160a060020a0360043516612019565b34801561055e57600080fd5b50610413612034565b34801561057357600080fd5b506101d0612043565b34801561058857600080fd5b5061041361209e565b34801561059d57600080fd5b5061033e600160a060020a03600435166024356120ad565b3480156105c157600080fd5b50610269600160a060020a03600435166024356122be565b3480156105e557600080fd5b50610269600160a060020a03600435166024356123fe565b34801561060957600080fd5b5061033e600160a060020a036004351661266f565b34801561062a57600080fd5b50610269600160a060020a03600435166127f3565b34801561064b57600080fd5b5061033e600160a060020a0360043516612811565b34801561066c57600080fd5b50610413612989565b34801561068157600080fd5b5061033e600160a060020a0360043516602435612998565b3480156106a557600080fd5b5061033e60048035600160a060020a0316906024803591604435918201910135612ae8565b3480156106d657600080fd5b50610376600160a060020a0360043581169060243516612b38565b3480156106fd57600080fd5b5061033e600160a060020a0360043516612b63565b34801561071e57600080fd5b5061033e600160a060020a0360043516612cd6565b34801561073f57600080fd5b50610269600160a060020a0360043516612e42565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107da5780601f106107af576101008083540402835291602001916107da565b820191906000526020600020905b8154815290600101906020018083116107bd57829003601f168201915b505050505081565b60015460009060a060020a900460ff1615610835576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020612fb3833981519152604482015290519081900360640190fd5b3360008181526003602052604090205460ff161561088b576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613013833981519152604482015290519081900360640190fd5b600160a060020a038416600090815260036020526040902054849060ff16156108ec576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613013833981519152604482015290519081900360640190fd5b6108f68585612e60565b95945050505050565b6006547501000000000000000000000000000000000000000000900460ff1615610973576040805160e560020a62461bcd02815260206004820152601460248201527f616c726561647920696e697469616c697a656421000000000000000000000000604482015290519081900360640190fd5b600160a060020a03841615156109d3576040805160e560020a62461bcd02815260206004820152601a60248201527f6d6173746572206d696e7465722063616e277420626520307830000000000000604482015290519081900360640190fd5b600160a060020a0383161515610a33576040805160e560020a62461bcd02815260206004820152601360248201527f7061757365722063616e27742062652030783000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0382161515610a93576040805160e560020a62461bcd02815260206004820152601860248201527f626c61636b6c69737465722063616e2774206265203078300000000000000000604482015290519081900360640190fd5b600160a060020a0381161515610af3576040805160e560020a62461bcd02815260206004820152601260248201527f6f776e65722063616e2774206265203078300000000000000000000000000000604482015290519081900360640190fd5b8651610b069060049060208a0190612f1a565b508551610b1a906005906020890190612f1a565b506006805460ff191660ff87161774ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a0387811691909102919091179091556001805473ffffffffffffffffffffffffffffffffffffffff199081168684161790915560028054909116918416919091179055610b9681612ec6565b50506006805475ff000000000000000000000000000000000000000000191675010000000000000000000000000000000000000000001790555050505050565b600080610be1612034565b600160a060020a03163314610c2e576040805160e560020a62461bcd0281526020600482015260146024820152600080516020612fd3833981519152604482015290519081900360640190fd5b600160a060020a0383161515610c8e576040805160e560020a62461bcd02815260206004820152601260248201527f746f6b656e2063616e2774206265203078300000000000000000000000000000604482015290519081900360640190fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051849350600160a060020a038416916370a082319160248083019260209291908290030181600087803b158015610cf257600080fd5b505af1158015610d06573d6000803e3d6000fd5b505050506040513d6020811015610d1c57600080fd5b50519050600160a060020a03821663a9059cbb610d37612034565b836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610da357600080fd5b505af1158015610db7573d6000803e3d6000fd5b505050506040513d6020811015610dcd57600080fd5b50511515610e25576040805160e560020a62461bcd02815260206004820152601460248201527f7265636c61696d20746f6b656e206661696c6564000000000000000000000000604482015290519081900360640190fd5b505050565b6009545b90565b600254600160a060020a03163314610e93576040805160e560020a62461bcd02815260206004820152600f60248201527f6e6f7420626c61636b6c69737465720000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0381161515610ef3576040805160e560020a62461bcd02815260206004820152601860248201527f756e426c61636b6c6973743a2030783020696e76616c69640000000000000000604482015290519081900360640190fd5b610efc81612e42565b1515610f52576040805160e560020a62461bcd02815260206004820152601c60248201527f756e426c61636b6c6973743a206e6f7420626c61636b6c697374656400000000604482015290519081900360640190fd5b600160a060020a038116600081815260036020526040808220805460ff19169055517f117e3210bb9aa7d9baff172026820255c6f6c30ba8999d1c2fd88e2848137c4e9190a250565b60015460009060a060020a900460ff1615610fee576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020612fb3833981519152604482015290519081900360640190fd5b600160a060020a038316600090815260036020526040902054839060ff161561104f576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613013833981519152604482015290519081900360640190fd5b3360008181526003602052604090205460ff16156110a5576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613013833981519152604482015290519081900360640190fd5b600160a060020a038616600090815260036020526040902054869060ff1615611106576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613013833981519152604482015290519081900360640190fd5b600160a060020a0386161515611166576040805160e560020a62461bcd02815260206004820152601560248201527f63616e2774207472616e7366657220746f203078300000000000000000000000604482015290519081900360640190fd5b600160a060020a0387166000908152600760205260409020548511156111d6576040805160e560020a62461bcd02815260206004820152601460248201527f696e73756666696369656e742062616c616e6365000000000000000000000000604482015290519081900360640190fd5b600160a060020a0387166000908152600860209081526040808320338452909152902054851115611251576040805160e560020a62461bcd02815260206004820152601a60248201527f746f6b656e20616c6c6f77616e636520697320746f6f206c6f77000000000000604482015290519081900360640190fd5b600160a060020a03871660009081526007602052604090205461127a908663ffffffff612ef516565b600160a060020a0380891660009081526007602052604080822093909355908816815220546112af908663ffffffff612f0716565b600160a060020a03808816600090815260076020908152604080832094909455918a1681526008825282812033825290915220546112f3908663ffffffff612ef516565b600160a060020a0380891660008181526008602090815260408083203384528252918290209490945580518981529051928a16939192600080516020612ff3833981519152929181900390910190a35060019695505050505050565b60065460ff1681565b6006546101009004600160a060020a031681565b600154600090819060a060020a900460ff16156113c1576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020612fb3833981519152604482015290519081900360640190fd5b3360008181526003602052604090205460ff1615611417576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613013833981519152604482015290519081900360640190fd5b600160a060020a038516600090815260036020526040902054859060ff1615611478576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613013833981519152604482015290519081900360640190fd5b336000908152600860209081526040808320600160a060020a038a1684529091529020546114ac908663ffffffff612f0716565b92506114b88684612e60565b9695505050505050565b600154600160a060020a03163314611524576040805160e560020a62461bcd02815260206004820152600b60248201527f706175736572206f6e6c79000000000000000000000000000000000000000000604482015290519081900360640190fd5b6001805474ff0000000000000000000000000000000000000000191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b600154600090819060a060020a900460ff16156115c2576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020612fb3833981519152604482015290519081900360640190fd5b336000908152600a602052604090205460ff16151560011461162e576040805160e560020a62461bcd02815260206004820152600c60248201527f6d696e74657273206f6e6c790000000000000000000000000000000000000000604482015290519081900360640190fd5b3360008181526003602052604090205460ff1615611684576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613013833981519152604482015290519081900360640190fd5b600160a060020a038516600090815260036020526040902054859060ff16156116e5576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613013833981519152604482015290519081900360640190fd5b600160a060020a0386161515611745576040805160e560020a62461bcd02815260206004820152601160248201527f63616e2774206d696e7420746f20307830000000000000000000000000000000604482015290519081900360640190fd5b6000851161179d576040805160e560020a62461bcd02815260206004820152601c60248201527f616d6f756e7420746f206d696e742068617320746f206265203e203000000000604482015290519081900360640190fd5b6117a633612019565b925082851115611800576040805160e560020a62461bcd02815260206004820152601860248201527f6d696e74657220616c6c6f77616e636520746f6f206c6f770000000000000000604482015290519081900360640190fd5b600954611813908663ffffffff612f0716565b600955600160a060020a03861660009081526007602052604090205461183f908663ffffffff612f0716565b600160a060020a038716600090815260076020526040902055611868838663ffffffff612ef516565b336000818152600b602052604090209190915561188490612019565b15156118c857336000818152600a6020526040808220805460ff19169055517fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929190a25b604080518681529051600160a060020a0388169133917fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f89181900360200190a3604080518681529051600160a060020a03881691600091600080516020612ff38339815191529181900360200190a350600195945050505050565b60015460009060a060020a900460ff1615611996576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020612fb3833981519152604482015290519081900360640190fd5b336000908152600a602052604090205460ff161515600114611a02576040805160e560020a62461bcd02815260206004820152600c60248201527f6d696e74657273206f6e6c790000000000000000000000000000000000000000604482015290519081900360640190fd5b3360008181526003602052604090205460ff1615611a58576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613013833981519152604482015290519081900360640190fd5b3360009081526007602052604081205492508311611ac0576040805160e560020a62461bcd02815260206004820152601960248201527f6275726e20616d6f756e742068617320746f206265203e203000000000000000604482015290519081900360640190fd5b82821015611b3e576040805160e560020a62461bcd02815260206004820152602560248201527f62616c616e636520696e206d696e746572206973203c20616d6f756e7420746f60448201527f206275726e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600954611b51908463ffffffff612ef516565b600955611b64828463ffffffff612ef516565b33600081815260076020908152604091829020939093558051868152905191927fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca592918290030190a26040805184815290516000913391600080516020612ff38339815191529181900360200190a3505050565b611be0612034565b600160a060020a03163314611c2d576040805160e560020a62461bcd0281526020600482015260146024820152600080516020612fd3833981519152604482015290519081900360640190fd5b600160a060020a0381161515611c8d576040805160e560020a62461bcd02815260206004820152601960248201527f7570646174655061757365723a2030783020696e76616c696400000000000000604482015290519081900360640190fd5b600154600160a060020a0382811691161415611cf3576040805160e560020a62461bcd02815260206004820152601a60248201527f7570646174655061757365723a2073616d652061646472657373000000000000604482015290519081900360640190fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691909117918290556040519116907fb80482a293ca2e013eda8683c9bd7fc8347cfdaeea5ede58cba46df502c2a60490600090a250565b60015460a060020a900460ff1681565b600160a060020a031660009081526007602052604090205490565b60015460009060a060020a900460ff1615611dce576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020612fb3833981519152604482015290519081900360640190fd5b600254600160a060020a03163314611e30576040805160e560020a62461bcd02815260206004820152600f60248201527f6e6f7420626c61636b6c69737465720000000000000000000000000000000000604482015290519081900360640190fd5b611e3982612e42565b1515611eb5576040805160e560020a62461bcd02815260206004820152603060248201527f43616e277420776970652062616c616e636573206f662061206e6f6e20626c6160448201527f636b6c6973746564206164647265737300000000000000000000000000000000606482015290519081900360840190fd5b50600160a060020a038116600090815260076020526040902054600954611ee2908263ffffffff612ef516565b600955600160a060020a038216600081815260076020908152604080832092909255815184815291517fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59281900390910190a2604080518281529051600091600160a060020a03851691600080516020612ff38339815191529181900360200190a35050565b600154600160a060020a03163314611fca576040805160e560020a62461bcd02815260206004820152600b60248201527f706175736572206f6e6c79000000000000000000000000000000000000000000604482015290519081900360640190fd5b6001805474ff0000000000000000000000000000000000000000191660a060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600160a060020a03166000908152600b602052604090205490565b600054600160a060020a031690565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107da5780601f106107af576101008083540402835291602001916107da565b600154600160a060020a031681565b6006546000906101009004600160a060020a03163314612117576040805160e560020a62461bcd02815260206004820152601260248201527f6d6173746572206d696e746572206f6e6c790000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0383161515612177576040805160e560020a62461bcd02815260206004820152601360248201527f6d696e7465722063616e27742062652030783000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0383166000908152600a602052604090205460ff1615156121e9576040805160e560020a62461bcd02815260206004820152600c60248201527f6e6f742061206d696e7465720000000000000000000000000000000000000000604482015290519081900360640190fd5b612202826121f685612019565b9063ffffffff612ef516565b600160a060020a0384166000908152600b6020526040812082905590915061222984612019565b111561227357604080518281529051600160a060020a038516917f46980fca912ef9bcdbd36877427b6b90e860769f604e89c0e67720cece530d20919081900360200190a2610e25565b600160a060020a0383166000818152600a6020526040808220805460ff19169055517fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929190a2505050565b600154600090819060a060020a900460ff1615612313576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020612fb3833981519152604482015290519081900360640190fd5b3360008181526003602052604090205460ff1615612369576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613013833981519152604482015290519081900360640190fd5b600160a060020a038516600090815260036020526040902054859060ff16156123ca576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613013833981519152604482015290519081900360640190fd5b336000908152600860209081526040808320600160a060020a038a1684529091529020546114ac908663ffffffff612ef516565b60015460009060a060020a900460ff1615612451576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020612fb3833981519152604482015290519081900360640190fd5b3360008181526003602052604090205460ff16156124a7576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613013833981519152604482015290519081900360640190fd5b600160a060020a038416600090815260036020526040902054849060ff1615612508576040805160e560020a62461bcd02815260206004820152601e6024820152600080516020613013833981519152604482015290519081900360640190fd5b600160a060020a0385161515612568576040805160e560020a62461bcd02815260206004820152601560248201527f63616e2774207472616e7366657220746f203078300000000000000000000000604482015290519081900360640190fd5b336000908152600760205260409020548411156125cf576040805160e560020a62461bcd02815260206004820152601460248201527f696e73756666696369656e742062616c616e6365000000000000000000000000604482015290519081900360640190fd5b336000908152600760205260409020546125ef908563ffffffff612ef516565b3360009081526007602052604080822092909255600160a060020a03871681522054612621908563ffffffff612f0716565b600160a060020a038616600081815260076020908152604091829020939093558051878152905191923392600080516020612ff38339815191529281900390910190a3506001949350505050565b612677612034565b600160a060020a031633146126c4576040805160e560020a62461bcd0281526020600482015260146024820152600080516020612fd3833981519152604482015290519081900360640190fd5b600160a060020a0381161515612724576040805160e560020a62461bcd02815260206004820152601a60248201527f6d6173746572206d696e7465722063616e277420626520307830000000000000604482015290519081900360640190fd5b600654600160a060020a0382811661010090920416141561278f576040805160e560020a62461bcd02815260206004820152601960248201527f6d6173746572206d696e746572206973207468652073616d6500000000000000604482015290519081900360640190fd5b6006805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a0384811682029290921792839055604051920416907fdb66dfa9c6b8f5226fe9aac7e51897ae8ee94ac31dc70bb6c9900b2574b707e690600090a250565b600160a060020a03166000908152600a602052604090205460ff1690565b612819612034565b600160a060020a03163314612866576040805160e560020a62461bcd0281526020600482015260146024820152600080516020612fd3833981519152604482015290519081900360640190fd5b600160a060020a03811615156128c6576040805160e560020a62461bcd02815260206004820152601e60248201527f757064617465426c61636b6c69737465723a2030783020696e76616c69640000604482015290519081900360640190fd5b600254600160a060020a038281169116141561292c576040805160e560020a62461bcd02815260206004820152601f60248201527f757064617465426c61636b6c69737465723a2073616d65206164647265737300604482015290519081900360640190fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691909117918290556040519116907fc67398012c111ce95ecb7429b933096c977380ee6c421175a71a4a4c6c88c06e90600090a250565b600254600160a060020a031681565b6006546000906101009004600160a060020a03163314612a02576040805160e560020a62461bcd02815260206004820152601260248201527f6d6173746572206d696e746572206f6e6c790000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0383161515612a62576040805160e560020a62461bcd02815260206004820152601360248201527f6d696e7465722063616e27742062652030783000000000000000000000000000604482015290519081900360640190fd5b612a7b82612a6f85612019565b9063ffffffff612f0716565b600160a060020a0384166000818152600b60209081526040808320859055600a825291829020805460ff191660011790558151848152915193945091927f46980fca912ef9bcdbd36877427b6b90e860769f604e89c0e67720cece530d20929181900390910190a2505050565b6040805160e560020a62461bcd02815260206004820152601d60248201527f72656a6563742045495032323320746f6b656e207472616e7366657273000000604482015290519081900360640190fd5b600160a060020a03918216600090815260086020908152604080832093909416825291909152205490565b612b6b612034565b600160a060020a03163314612bb8576040805160e560020a62461bcd0281526020600482015260146024820152600080516020612fd3833981519152604482015290519081900360640190fd5b600160a060020a0381161515612c18576040805160e560020a62461bcd02815260206004820152601e60248201527f7472616e736665724f776e6572736869703a2030783020696e76616c69640000604482015290519081900360640190fd5b612c20612034565b600160a060020a0382811691161415612c83576040805160e560020a62461bcd02815260206004820152601f60248201527f7472616e736665724f776e6572736869703a2073616d65206164647265737300604482015290519081900360640190fd5b80600160a060020a0316612c95612034565b600160a060020a03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3612cd381612ec6565b50565b600254600160a060020a03163314612d38576040805160e560020a62461bcd02815260206004820152600f60248201527f6e6f7420626c61636b6c69737465720000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0381161515612d98576040805160e560020a62461bcd02815260206004820152601660248201527f626c61636b6c6973743a2030783020696e76616c696400000000000000000000604482015290519081900360640190fd5b612da181612e42565b15612df6576040805160e560020a62461bcd02815260206004820152601e60248201527f626c61636b6c6973743a20616c726561647920626c61636b6c69737465640000604482015290519081900360640190fd5b600160a060020a038116600081815260036020526040808220805460ff19166001179055517fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b8559190a250565b600160a060020a031660009081526003602052604090205460ff1690565b336000818152600860209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600082821115612f0157fe5b50900390565b81810182811015612f1457fe5b92915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612f5b57805160ff1916838001178555612f88565b82800160010185558215612f88579182015b82811115612f88578251825591602001919060010190612f6d565b50612f94929150612f98565b5090565b610e2e91905b80821115612f945760008155600101612f9e56007768656e4e6f745061757365643a20636f6e74726163742070617573656400006f6e6c794f776e65723a206e6f74206f776e6572000000000000000000000000ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6e6f74426c61636b6c69737465643a20697320626c61636b6c69737465640000a165627a7a723058208eeee1e23b37481abb38c2d9c09922a059160cae7f0c2fe45f53dfc8f101d1da0029
Deployed ByteCode Sourcemap
13389:15541:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13488:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13488:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;13488:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19152:243;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;19152:243:0;-1:-1:-1;;;;;19152:243:0;;;;;;;;;;;;;;;;;;;;;;;;;15273:805;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15273:805:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15273:805:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15273:805:0;;;;-1:-1:-1;15273:805:0;-1:-1:-1;15273:805:0;;-1:-1:-1;15273:805:0;;;;;;;;-1:-1:-1;15273:805:0;;-1:-1:-1;;15273:805:0;;;;;-1:-1:-1;;;;;;;15273:805:0;;;;;;;;;;;;;;-1:-1:-1;15273:805:0;;;;;;;-1:-1:-1;15273:805:0;;;;;-1:-1:-1;15273:805:0;;;;28599:328;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;28599:328:0;-1:-1:-1;;;;;28599:328:0;;;;;18246:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18246:91:0;;;;;;;;;;;;;;;;;;;;7032:294;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7032:294:0;-1:-1:-1;;;;;7032:294:0;;;;;22487:753;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;22487:753:0;-1:-1:-1;;;;;22487:753:0;;;;;;;;;;;;13540:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13540:21:0;;;;;;;;;;;;;;;;;;;;;;;13568:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13568:27:0;;;;;;;;-1:-1:-1;;;;;13568:27:0;;;;;;;;;;;;;;19831:374;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;19831:374:0;-1:-1:-1;;;;;19831:374:0;;;;;;;10198:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10198:85:0;;;;16578:913;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;16578:913:0;-1:-1:-1;;;;;16578:913:0;;;;;;;26143:533;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;26143:533:0;;;;;10337:259;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10337:259:0;-1:-1:-1;;;;;10337:259:0;;;;;9546:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9546:26:0;;;;18511:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;18511:111:0;-1:-1:-1;;;;;18511:111:0;;;;;27010:468;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;27010:468:0;-1:-1:-1;;;;;27010:468:0;;;;;10031:80;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10031:80:0;;;;17700:120;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17700:120:0;-1:-1:-1;;;;;17700:120:0;;;;;3458:73;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3458:73:0;;;;13513:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13513:20:0;;;;9520:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9520:21:0;;;;25177:629;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;25177:629:0;-1:-1:-1;;;;;25177:629:0;;;;;;;20653:384;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;20653:384:0;-1:-1:-1;;;;;20653:384:0;;;;;;;23592:520;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;23592:520:0;-1:-1:-1;;;;;23592:520:0;;;;;;;27605:331;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;27605:331:0;-1:-1:-1;;;;;27605:331:0;;;;;18018:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;18018:106:0;-1:-1:-1;;;;;18018:106:0;;;;;7334:332;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7334:332:0;-1:-1:-1;;;;;7334:332:0;;;;;5539:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5539:26:0;;;;24412:448;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;24412:448:0;-1:-1:-1;;;;;24412:448:0;;;;;;;28224:162;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;28224:162:0;;;;-1:-1:-1;;;;;28224:162:0;;;;;;;;;;;;;;;;21833:166;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;21833:166:0;-1:-1:-1;;;;;21833:166:0;;;;;;;;;;3877:286;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3877:286:0;-1:-1:-1;;;;;3877:286:0;;;;;6608:290;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6608:290:0;-1:-1:-1;;;;;6608:290:0;;;;;6380:115;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6380:115:0;-1:-1:-1;;;;;6380:115:0;;;;;13488:18;;;;;;;;;;;;;;;-1:-1:-1;;13488:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;19152:243::-;9720:6;;19331:4;;-1:-1:-1;;;9720:6:0;;;;9719:7;9711:50;;;;;-1:-1:-1;;;;;9711:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9711:50:0;;;;;;;;;;;;;;;19267:10;6179:21;;;;:11;:21;;;;;;;;:30;6171:73;;;;;-1:-1:-1;;;;;6171:73:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6171:73:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;6179:21:0;;;;;;:11;:21;;;;;;19303:8;;6179:21;;:30;6171:73;;;;;-1:-1:-1;;;;;6171:73:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6171:73:0;;;;;;;;;;;;;;;19360:27;19369:8;19379:7;19360:8;:27::i;:::-;19353:34;19152:243;-1:-1:-1;;;;;19152:243:0:o;15273:805::-;15515:11;;;;;;;15514:12;15506:45;;;;;-1:-1:-1;;;;;15506:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15570:27:0;;;;15562:66;;;;;-1:-1:-1;;;;;15562:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15647:21:0;;;;15639:53;;;;;-1:-1:-1;;;;;15639:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15711:26:0;;;;15703:63;;;;;-1:-1:-1;;;;;15703:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15785:20:0;;;;15777:51;;;;;-1:-1:-1;;;;;15777:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;15841:12;;;;:4;;:12;;;;;:::i;:::-;-1:-1:-1;15864:16:0;;;;:6;;:16;;;;;:::i;:::-;-1:-1:-1;15891:8:0;:20;;-1:-1:-1;;15891:20:0;;;;;-1:-1:-1;;15922:28:0;15891:20;-1:-1:-1;;;;;15922:28:0;;;;;;;;;;;;;;-1:-1:-1;15961:16:0;;-1:-1:-1;;15961:16:0;;;;;;;;;;15988:11;:26;;;;;;;;;;;;;;16025:16;16034:6;16025:8;:16::i;:::-;-1:-1:-1;;16052:11:0;:18;;-1:-1:-1;;16052:18:0;;;;;-1:-1:-1;;;;;15273:805:0:o;28599:328::-;28743:19;28804:15;3664:7;:5;:7::i;:::-;-1:-1:-1;;;;;3650:21:0;:10;:21;3642:54;;;;;-1:-1:-1;;;;;3642:54:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3642:54:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;28682:27:0;;;;28674:58;;;;;-1:-1:-1;;;;;28674:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;28822:21;;;;;;28838:4;28822:21;;;;;;28779:13;;-1:-1:-1;;;;;;28822:15:0;;;;;:21;;;;;;;;;;;;;;-1:-1:-1;28822:15:0;:21;;;5:2:-1;;;;30:1;27;20:12;5:2;28822:21:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;28822:21:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;28822:21:0;;-1:-1:-1;;;;;;28862:14:0;;;28877:7;:5;:7::i;:::-;28886;28862:32;;;;;;;;;;;;;-1:-1:-1;;;;;28862:32:0;-1:-1:-1;;;;;28862:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28862:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;28862:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;28862:32:0;28854:65;;;;;;;-1:-1:-1;;;;;28854:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;28599:328;;;:::o;18246:91::-;18317:12;;18246:91;;:::o;7032:294::-;5942:11;;-1:-1:-1;;;;;5942:11:0;5928:10;:25;5920:53;;;;;-1:-1:-1;;;;;5920:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7113:22:0;;;;7105:59;;;;;-1:-1:-1;;;;;7105:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7183:23;7197:8;7183:13;:23::i;:::-;7175:64;;;;;;;-1:-1:-1;;;;;7175:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7250:21:0;;7274:5;7250:21;;;:11;:21;;;;;;:29;;-1:-1:-1;;7250:29:0;;;7295:23;;;7274:5;7295:23;7032:294;:::o;22487:753::-;9720:6;;22707:4;;-1:-1:-1;;;9720:6:0;;;;9719:7;9711:50;;;;;-1:-1:-1;;;;;9711:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9711:50:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;6179:21:0;;;;;;:11;:21;;;;;;22617:3;;6179:21;;:30;6171:73;;;;;-1:-1:-1;;;;;6171:73:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6171:73:0;;;;;;;;;;;;;;;22646:10;6179:21;;;;:11;:21;;;;;;;;:30;6171:73;;;;;-1:-1:-1;;;;;6171:73:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6171:73:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;6179:21:0;;;;;;:11;:21;;;;;;22682:5;;6179:21;;:30;6171:73;;;;;-1:-1:-1;;;;;6171:73:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6171:73:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;22737:17:0;;;;22729:51;;;;;-1:-1:-1;;;;;22729:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22810:15:0;;;;;;:8;:15;;;;;;22799:26;;;22791:59;;;;;-1:-1:-1;;;;;22791:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22894:14:0;;;;;;:7;:14;;;;;;;;22909:10;22894:26;;;;;;;;22883:37;;;22861:113;;;;;-1:-1:-1;;;;;22861:113:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23005:15:0;;;;;;:8;:15;;;;;;:28;;23025:7;23005:28;:19;:28;:::i;:::-;-1:-1:-1;;;;;22987:15:0;;;;;;;:8;:15;;;;;;:46;;;;23060:13;;;;;;;:26;;23078:7;23060:26;:17;:26;:::i;:::-;-1:-1:-1;;;;;23044:13:0;;;;;;;:8;:13;;;;;;;;:42;;;;23126:14;;;;;:7;:14;;;;;23141:10;23126:26;;;;;;;:39;;23157:7;23126:39;:30;:39;:::i;:::-;-1:-1:-1;;;;;23097:14:0;;;;;;;:7;:14;;;;;;;;23112:10;23097:26;;;;;;;;:68;;;;23181:29;;;;;;;;;;;23097:14;;-1:-1:-1;;;;;;;;;;;23181:29:0;;;;;;;;;;-1:-1:-1;23228:4:0;;22487:753;-1:-1:-1;;;;;;22487:753:0:o;13540:21::-;;;;;;:::o;13568:27::-;;;;;;-1:-1:-1;;;;;13568:27:0;;:::o;19831:374::-;9720:6;;20024:4;;;;-1:-1:-1;;;9720:6:0;;;;9719:7;9711:50;;;;;-1:-1:-1;;;;;9711:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9711:50:0;;;;;;;;;;;;;;;19960:10;6179:21;;;;:11;:21;;;;;;;;:30;6171:73;;;;;-1:-1:-1;;;;;6171:73:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6171:73:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;6179:21:0;;;;;;:11;:21;;;;;;19996:8;;6179:21;;:30;6171:73;;;;;-1:-1:-1;;;;;6171:73:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6171:73:0;;;;;;;;;;;;;;;20081:10;20073:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;20073:29:0;;;;;;;;;;:70;;20121:11;20073:70;:33;:70;:::i;:::-;20046:97;;20161:36;20170:8;20180:16;20161:8;:36::i;:::-;20154:43;19831:374;-1:-1:-1;;;;;;19831:374:0:o;10198:85::-;9911:6;;-1:-1:-1;;;;;9911:6:0;9897:10;:20;9889:44;;;;;-1:-1:-1;;;;;9889:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10242:6;:14;;-1:-1:-1;;10242:14:0;;;10268:9;;;;10251:5;;10268:9;10198:85::o;16578:913::-;9720:6;;16765:4;;;;-1:-1:-1;;;9720:6:0;;;;9719:7;9711:50;;;;;-1:-1:-1;;;;;9711:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9711:50:0;;;;;;;;;;;;;;;14572:10;14564:19;;;;:7;:19;;;;;;;;:27;;:19;:27;14556:52;;;;;-1:-1:-1;;;;;14556:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;16706:10;6179:21;;;;:11;:21;;;;;;;;:30;6171:73;;;;;-1:-1:-1;;;;;6171:73:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6171:73:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;6179:21:0;;;;;;:11;:21;;;;;;16742:3;;6179:21;;:30;6171:73;;;;;-1:-1:-1;;;;;6171:73:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6171:73:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;16795:17:0;;;;16787:47;;;;;-1:-1:-1;;;;;16787:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;16863:1;16853:11;;16845:52;;;;;-1:-1:-1;;;;;16845:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;16941:27;16957:10;16941:15;:27::i;:::-;16910:58;-1:-1:-1;16987:31:0;;;;16979:68;;;;;-1:-1:-1;;;;;16979:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;17075:12;;:25;;17092:7;17075:25;:16;:25;:::i;:::-;17060:12;:40;-1:-1:-1;;;;;17127:13:0;;;;;;:8;:13;;;;;;:26;;17145:7;17127:26;:17;:26;:::i;:::-;-1:-1:-1;;;;;17111:13:0;;;;;;:8;:13;;;;;:42;17192:33;:20;17217:7;17192:33;:24;:33;:::i;:::-;17178:10;17164:25;;;;:13;:25;;;;;:61;;;;17240:27;;:15;:27::i;:::-;:32;17236:137;;;17297:10;17311:5;17289:19;;;:7;:19;;;;;;:27;;-1:-1:-1;;17289:27:0;;;17336:25;;;17311:5;17336:25;17236:137;17388:30;;;;;;;;-1:-1:-1;;;;;17388:30:0;;;17393:10;;17388:30;;;;;;;;;17434:27;;;;;;;;-1:-1:-1;;;;;17434:27:0;;;17443:3;;-1:-1:-1;;;;;;;;;;;17434:27:0;;;;;;;;-1:-1:-1;17479:4:0;;16578:913;-1:-1:-1;;;;;16578:913:0:o;26143:533::-;9720:6;;26286:15;;-1:-1:-1;;;9720:6:0;;;;9719:7;9711:50;;;;;-1:-1:-1;;;;;9711:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9711:50:0;;;;;;;;;;;;;;;14572:10;14564:19;;;;:7;:19;;;;;;;;:27;;:19;:27;14556:52;;;;;-1:-1:-1;;;;;14556:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;26258:10;6179:21;;;;:11;:21;;;;;;;;:30;6171:73;;;;;-1:-1:-1;;;;;6171:73:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6171:73:0;;;;;;;;;;;;;;;26313:10;26304:20;;;;:8;:20;;;;;;;-1:-1:-1;26343:11:0;;26335:49;;;;;-1:-1:-1;;;;;26335:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;26403:18;;;;26395:68;;;;;-1:-1:-1;;;;;26395:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26491:12;;:25;;26508:7;26491:25;:16;:25;:::i;:::-;26476:12;:40;26550:20;:7;26562;26550:20;:11;:20;:::i;:::-;26536:10;26527:20;;;;:8;:20;;;;;;;;;:43;;;;26586:25;;;;;;;26536:10;;26586:25;;;;;;;;;26627:41;;;;;;;;26656:1;;26636:10;;-1:-1:-1;;;;;;;;;;;26627:41:0;;;;;;;;14619:1;26143:533;;:::o;10337:259::-;3664:7;:5;:7::i;:::-;-1:-1:-1;;;;;3650:21:0;:10;:21;3642:54;;;;;-1:-1:-1;;;;;3642:54:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3642:54:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;10411:24:0;;;;10403:62;;;;;-1:-1:-1;;;;;10403:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10494:6;;-1:-1:-1;;;;;10480:20:0;;;10494:6;;10480:20;;10472:59;;;;;-1:-1:-1;;;;;10472:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10538:6;:19;;-1:-1:-1;;10538:19:0;-1:-1:-1;;;;;10538:19:0;;;;;;;;;;;10569:21;;10583:6;;;10569:21;;-1:-1:-1;;10569:21:0;10337:259;:::o;9546:26::-;;;-1:-1:-1;;;9546:26:0;;;;;:::o;18511:111::-;-1:-1:-1;;;;;18596:18:0;18569:7;18596:18;;;:8;:18;;;;;;;18511:111::o;27010:468::-;9720:6;;27268:15;;-1:-1:-1;;;9720:6:0;;;;9719:7;9711:50;;;;;-1:-1:-1;;;;;9711:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9711:50:0;;;;;;;;;;;;;;;5942:11;;-1:-1:-1;;;;;5942:11:0;5928:10;:25;5920:53;;;;;-1:-1:-1;;;;;5920:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;27161:20;27175:5;27161:13;:20::i;:::-;27139:118;;;;;;;-1:-1:-1;;;;;27139:118:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;27286:15:0;;;;;;:8;:15;;;;;;27327:12;;:25;;27286:15;27327:25;:16;:25;:::i;:::-;27312:12;:40;-1:-1:-1;;;;;27363:15:0;;27381:1;27363:15;;;:8;:15;;;;;;;;:19;;;;27398:20;;;;;;;;;;;;;;;;;27434:36;;;;;;;;27458:1;;-1:-1:-1;;;;;27434:36:0;;;-1:-1:-1;;;;;;;;;;;27434:36:0;;;;;;;;27010:468;;:::o;10031:80::-;9911:6;;-1:-1:-1;;;;;9911:6:0;9897:10;:20;9889:44;;;;;-1:-1:-1;;;;;9889:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10082:4;10073:13;;-1:-1:-1;;10073:13:0;-1:-1:-1;;;10073:13:0;;;10098:7;;;;10073:13;;10098:7;10031:80::o;17700:120::-;-1:-1:-1;;;;;17790:22:0;17763:7;17790:22;;;:13;:22;;;;;;;17700:120::o;3458:73::-;3496:7;3519:6;-1:-1:-1;;;;;3519:6:0;3458:73;:::o;13513:20::-;;;;;;;;;;;;;;;-1:-1:-1;;13513:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9520:21;;;-1:-1:-1;;;;;9520:21:0;;:::o;25177:629::-;14787:12;;25429:24;;14787:12;;;-1:-1:-1;;;;;14787:12:0;14773:10;:26;14765:57;;;;;-1:-1:-1;;;;;14765:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25319:21:0;;;;25311:53;;;;;-1:-1:-1;;;;;25311:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25383:16:0;;;;;;:7;:16;;;;;;;;25375:41;;;;;;;-1:-1:-1;;;;;25375:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;25456:70;25499:16;25456:24;25472:7;25456:15;:24::i;:::-;:28;:70;:28;:70;:::i;:::-;-1:-1:-1;;;;;25537:22:0;;;;;;:13;:22;;;;;:41;;;25429:97;;-1:-1:-1;25593:24:0;25551:7;25593:15;:24::i;:::-;:28;25589:210;;;25643:43;;;;;;;;-1:-1:-1;;;;;25643:43:0;;;;;;;;;;;;;25589:210;;;-1:-1:-1;;;;;25719:16:0;;25738:5;25719:16;;;:7;:16;;;;;;:24;;-1:-1:-1;;25719:24:0;;;25763:22;;;25738:5;25763:22;25177:629;;;:::o;20653:384::-;9720:6;;20851:4;;;;-1:-1:-1;;;9720:6:0;;;;9719:7;9711:50;;;;;-1:-1:-1;;;;;9711:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9711:50:0;;;;;;;;;;;;;;;20787:10;6179:21;;;;:11;:21;;;;;;;;:30;6171:73;;;;;-1:-1:-1;;;;;6171:73:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6171:73:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;6179:21:0;;;;;;:11;:21;;;;;;20823:8;;6179:21;;:30;6171:73;;;;;-1:-1:-1;;;;;6171:73:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6171:73:0;;;;;;;;;;;;;;;20908:10;20900:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;20900:29:0;;;;;;;;;;:75;;20948:16;20900:75;:33;:75;:::i;23592:520::-;9720:6;;23762:4;;-1:-1:-1;;;9720:6:0;;;;9719:7;9711:50;;;;;-1:-1:-1;;;;;9711:50:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9711:50:0;;;;;;;;;;;;;;;23703:10;6179:21;;;;:11;:21;;;;;;;;:30;6171:73;;;;;-1:-1:-1;;;;;6171:73:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6171:73:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;6179:21:0;;;;;;:11;:21;;;;;;23739:3;;6179:21;;:30;6171:73;;;;;-1:-1:-1;;;;;6171:73:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6171:73:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;23792:17:0;;;;23784:51;;;;;-1:-1:-1;;;;;23784:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;23874:10;23865:20;;;;:8;:20;;;;;;23854:31;;;23846:64;;;;;-1:-1:-1;;;;;23846:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;23955:10;23946:20;;;;:8;:20;;;;;;:33;;23971:7;23946:33;:24;:33;:::i;:::-;23932:10;23923:20;;;;:8;:20;;;;;;:56;;;;-1:-1:-1;;;;;24006:13:0;;;;;;:26;;24024:7;24006:26;:17;:26;:::i;:::-;-1:-1:-1;;;;;23990:13:0;;;;;;:8;:13;;;;;;;;;:42;;;;24048:34;;;;;;;23990:13;;24057:10;;-1:-1:-1;;;;;;;;;;;24048:34:0;;;;;;;;;-1:-1:-1;24100:4:0;;23592:520;-1:-1:-1;;;;23592:520:0:o;27605:331::-;3664:7;:5;:7::i;:::-;-1:-1:-1;;;;;3650:21:0;:10;:21;3642:54;;;;;-1:-1:-1;;;;;3642:54:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3642:54:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;27695:30:0;;;;27687:69;;;;;-1:-1:-1;;;;;27687:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;27795:12;;-1:-1:-1;;;;;27775:32:0;;;27795:12;;;;;27775:32;;27767:70;;;;;-1:-1:-1;;;;;27767:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;27848:12;:31;;-1:-1:-1;;27848:31:0;;-1:-1:-1;;;;;27848:31:0;;;;;;;;;;;;;27895:33;;27915:12;;;;27895:33;;-1:-1:-1;;27895:33:0;27605:331;:::o;18018:106::-;-1:-1:-1;;;;;18099:17:0;18075:4;18099:17;;;:7;:17;;;;;;;;;18018:106::o;7334:332::-;3664:7;:5;:7::i;:::-;-1:-1:-1;;;;;3650:21:0;:10;:21;3642:54;;;;;-1:-1:-1;;;;;3642:54:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3642:54:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;7422:29:0;;;;7414:72;;;;;-1:-1:-1;;;;;7414:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7524:11;;-1:-1:-1;;;;;7505:30:0;;;7524:11;;7505:30;;7497:74;;;;;-1:-1:-1;;;;;7497:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7582:11;:29;;-1:-1:-1;;7582:29:0;-1:-1:-1;;;;;7582:29:0;;;;;;;;;;;7627:31;;7646:11;;;7627:31;;-1:-1:-1;;7627:31:0;7334:332;:::o;5539:26::-;;;-1:-1:-1;;;;;5539:26:0;;:::o;24412:448::-;14787:12;;24610:24;;14787:12;;;-1:-1:-1;;;;;14787:12:0;14773:10;:26;14765:57;;;;;-1:-1:-1;;;;;14765:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;24554:21:0;;;;24546:53;;;;;-1:-1:-1;;;;;24546:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;24637:70;24680:16;24637:24;24653:7;24637:15;:24::i;:::-;:28;:70;:28;:70;:::i;:::-;-1:-1:-1;;;;;24718:22:0;;;;;;:13;:22;;;;;;;;:41;;;24770:7;:16;;;;;;:23;;-1:-1:-1;;24770:23:0;24789:4;24770:23;;;24809:43;;;;;;;24610:97;;-1:-1:-1;24718:22:0;;24809:43;;;;;;;;;;;24412:448;;;:::o;28224:162::-;28339:39;;;-1:-1:-1;;;;;28339:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;21833:166;-1:-1:-1;;;;;21966:15:0;;;21934:7;21966:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;21833:166::o;3877:286::-;3664:7;:5;:7::i;:::-;-1:-1:-1;;;;;3650:21:0;:10;:21;3642:54;;;;;-1:-1:-1;;;;;3642:54:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3642:54:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;3954:22:0;;;;3946:65;;;;;-1:-1:-1;;;;;3946:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4038:7;:5;:7::i;:::-;-1:-1:-1;;;;;4026:19:0;;;;;;;4018:63;;;;;-1:-1:-1;;;;;4018:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4123:8;-1:-1:-1;;;;;4093:39:0;4114:7;:5;:7::i;:::-;-1:-1:-1;;;;;4093:39:0;;;;;;;;;;;4139:18;4148:8;4139;:18::i;:::-;3877:286;:::o;6608:290::-;5942:11;;-1:-1:-1;;;;;5942:11:0;5928:10;:25;5920:53;;;;;-1:-1:-1;;;;;5920:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6687:22:0;;;;6679:57;;;;;-1:-1:-1;;;;;6679:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6756:23;6770:8;6756:13;:23::i;:::-;6755:24;6747:67;;;;;-1:-1:-1;;;;;6747:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6825:21:0;;;;;;:11;:21;;;;;;:28;;-1:-1:-1;;6825:28:0;6849:4;6825:28;;;6869:21;;;6825;6869;6608:290;:::o;6380:115::-;-1:-1:-1;;;;;6466:21:0;6442:4;6466:21;;;:11;:21;;;;;;;;;6380:115::o;21297:235::-;21416:10;21386:4;21408:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;21408:29:0;;;;;;;;;;;:39;;;21463;;;;;;;21386:4;;21408:29;;21416:10;;21463:39;;;;;;;;-1:-1:-1;21520:4:0;21297:235;;;;:::o;3282:75::-;3334:6;:17;;-1:-1:-1;;3334:17:0;-1:-1:-1;;;;;3334:17:0;;;;;;;;;;3282:75::o;1142:113::-;1200:7;1223:6;;;;1216:14;;;;-1:-1:-1;1244:5:0;;;1142:113::o;1322:127::-;1402:5;;;1421:6;;;;1414:14;;;;1322:127;;;;:::o;13389:15541::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13389:15541:0;;;-1:-1:-1;13389:15541:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;
Swarm Source
bzzr://8eeee1e23b37481abb38c2d9c09922a059160cae7f0c2fe45f53dfc8f101d1da
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.