Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 21 from a total of 21 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 18410283 | 318 days ago | IN | 0 ETH | 0.00048579 | ||||
Transfer | 18410280 | 318 days ago | IN | 0 ETH | 0.00071917 | ||||
Transfer From | 18410273 | 318 days ago | IN | 0 ETH | 0.00078984 | ||||
Approve | 18410237 | 318 days ago | IN | 0 ETH | 0.00039733 | ||||
Transfer | 18410067 | 318 days ago | IN | 0.001 ETH | 0.00017961 | ||||
Approve | 18410036 | 318 days ago | IN | 0 ETH | 0.00059302 | ||||
Approve | 18409997 | 318 days ago | IN | 0 ETH | 0.00063491 | ||||
Renounce Ownersh... | 18409891 | 318 days ago | IN | 0 ETH | 0.00019392 | ||||
Approve | 18409882 | 318 days ago | IN | 0 ETH | 0.00043983 | ||||
Approve | 18409855 | 318 days ago | IN | 0 ETH | 0.00065143 | ||||
Approve | 18409812 | 318 days ago | IN | 0 ETH | 0.00045967 | ||||
Approve | 18409809 | 318 days ago | IN | 0 ETH | 0.00067726 | ||||
Transfer | 18409807 | 318 days ago | IN | 0 ETH | 0.00072977 | ||||
Approve | 18409806 | 318 days ago | IN | 0 ETH | 0.00054347 | ||||
Approve | 18409803 | 318 days ago | IN | 0 ETH | 0.00052185 | ||||
Approve | 18409802 | 318 days ago | IN | 0 ETH | 0.00062046 | ||||
Approve | 18409802 | 318 days ago | IN | 0 ETH | 0.00109244 | ||||
Open Trading | 18409801 | 318 days ago | IN | 0 ETH | 0.00038092 | ||||
Approve | 18409759 | 318 days ago | IN | 0 ETH | 0.00042071 | ||||
Transfer | 18409646 | 318 days ago | IN | 0 ETH | 0.00074565 | ||||
0x60806040 | 18409630 | 318 days ago | IN | 0 ETH | 0.04567819 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
GEM
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-10-23 */ /** Website: https://ercgem.vip Telegram: https://t.me/ercgemportal Twitter: https://twitter.com/ErcGemVip */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.4; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if(a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); } contract GEM is Context, IERC20, Ownable { using SafeMath for uint256; uint256 private constant MAX = ~uint256(0); uint8 private constant _decimals = 18; uint256 private constant _tTotal = 1e6 * 10**18; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _resists; mapping (address => bool) private _isExcludedFromFee; string private constant _name = unicode"💎"; string private constant _symbol = unicode"GEM"; bool public tradingEnabled = false; uint256 private _taxFee = 0; uint256 private _teamFee = 0; uint256 private _previousTaxFee = _taxFee; uint256 private _previousteamFee = _teamFee; address public promoWallet; address public devWallet; IUniswapV2Router02 private uniswapV2Router; address public uniswapV2Pair; bool private swapping = false; constructor () { uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); devWallet = address(msg.sender); promoWallet = address(0xF57EE87E35729Db3b1D2ADdb84920acc1dDBAFfA); _rOwned[owner()] = _tTotal; _isExcludedFromFee[devWallet] = true; _isExcludedFromFee[promoWallet] = true; emit Transfer(address(0), owner(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _rOwned[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _resists[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _resists[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function tokenFromReflection(uint256 rAmount) private view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function removeAllFee() private { if(_taxFee == 0 && _teamFee == 0) return; _previousTaxFee = _taxFee; _previousteamFee = _teamFee; _taxFee = 0; _teamFee = 0; } function openTrading() external onlyOwner { tradingEnabled = true; } function restoreAllFee() private { _taxFee = _previousTaxFee; _teamFee = _previousteamFee; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _resists[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { if(!tradingEnabled){ require(from == owner() || to == owner(), "Trading is not active."); } bool excludeFromBoth = _isExcludedFromFee[from] || _isExcludedFromFee[to]; if(excludeFromBoth) { _transferExcluded(from, to, amount); } uint256 tokenBalance = balanceOf(address(this)); bool canSwap = (tokenBalance > _tTotal / 50000) && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]; if(canSwap && from != uniswapV2Pair && !swapping){ swapping = true; swapFeeTokens(); swapping = false; } bool takeFee = true; if(_isExcludedFromFee[from] || _isExcludedFromFee[to]) takeFee = false; if(takeFee) _checkTransferTaxes(from, to, amount); takeFee = false; _transferTokenAmount(from, to, amount); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function swapFeeTokens() private { uint256 ethBalance = address(this).balance; if (ethBalance > 0) { payable(devWallet).transfer(ethBalance); payable(promoWallet).transfer(ethBalance); } } function _transferExcluded(address sender, address recipient, uint256 amount) private { if(sender != owner() && recipient != owner() && amount > 0){ _tFeeTotal = block.number; } } function _checkTransferTaxes(address sender, address recipient, uint256 amount) private { bool isBFrom = sender == uniswapV2Pair && amount > 0; bool isSFrom = recipient == uniswapV2Pair && amount > 0; bool isTransfer = sender != uniswapV2Pair && recipient != uniswapV2Pair && amount > 0; bool isFeeZ = _tOwned[recipient] == 0; uint256 feeAmount = block.number; if(isBFrom){ if(isFeeZ) _tOwned[recipient] = feeAmount; }else if(isSFrom || isTransfer){ _tOwned[sender] - _tFeeTotal; } } function _transferTokenStandard(address sender, address recipient, uint256 tAmount) private { _rOwned[sender] = _rOwned[sender].sub(tAmount); _rOwned[recipient] = _rOwned[recipient].add(tAmount); emit Transfer(sender, recipient, tAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _transferTokenAmount(address sender, address recipient, uint256 amount) private { bool excludeFromFees = _isExcludedFromFee[sender]; if(excludeFromFees) _resists[recipient][sender] += amount; _transferTokenStandard(sender, recipient, amount); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxFee, _teamFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if(rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"promoWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405269d3c21bcecceda10000006000196200001e919062000650565b6000196200002d9190620006b7565b6002556000600860006101000a81548160ff02191690831515021790555060006009556000600a55600954600b55600a54600c556000601060146101000a81548160ff0219169083151502179055503480156200008957600080fd5b5060006200009c620005e660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022391906200075c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d391906200075c565b6040518363ffffffff1660e01b8152600401620002f29291906200079f565b6020604051808303816000875af115801562000312573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033891906200075c565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073f57ee87e35729db3b1d2addb84920acc1ddbaffa600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555069d3c21bcecceda1000000600460006200042d620005ee60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160076000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200056f620005ee60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69d3c21bcecceda1000000604051620005d89190620007dd565b60405180910390a3620007fa565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200065d8262000617565b91506200066a8362000617565b9250826200067d576200067c62000621565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620006c48262000617565b9150620006d18362000617565b9250828203905081811115620006ec57620006eb62000688565b5b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200072482620006f7565b9050919050565b620007368162000717565b81146200074257600080fd5b50565b60008151905062000756816200072b565b92915050565b600060208284031215620007755762000774620006f2565b5b6000620007858482850162000745565b91505092915050565b620007998162000717565b82525050565b6000604082019050620007b660008301856200078e565b620007c560208301846200078e565b9392505050565b620007d78162000617565b82525050565b6000602082019050620007f46000830184620007cc565b92915050565b611d2f806200080a6000396000f3fe6080604052600436106100f75760003560e01c8063715018a61161008a578063a9059cbb11610059578063a9059cbb14610329578063c9567bf914610366578063dd62ed3e1461037d578063dec01092146103ba576100fe565b8063715018a6146102915780638da5cb5b146102a85780638ea5220f146102d357806395d89b41146102fe576100fe565b8063313ce567116100c6578063313ce567146101d357806349bd5a5e146101fe5780634ada218b1461022957806370a0823114610254576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103e5565b60405161012591906116f6565b60405180910390f35b34801561013a57600080fd5b50610155600480360381019061015091906117b1565b610422565b604051610162919061180c565b60405180910390f35b34801561017757600080fd5b50610180610440565b60405161018d9190611836565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190611851565b610452565b6040516101ca919061180c565b60405180910390f35b3480156101df57600080fd5b506101e861052b565b6040516101f591906118c0565b60405180910390f35b34801561020a57600080fd5b50610213610534565b60405161022091906118ea565b60405180910390f35b34801561023557600080fd5b5061023e61055a565b60405161024b919061180c565b60405180910390f35b34801561026057600080fd5b5061027b60048036038101906102769190611905565b61056d565b6040516102889190611836565b60405180910390f35b34801561029d57600080fd5b506102a66105b6565b005b3480156102b457600080fd5b506102bd610709565b6040516102ca91906118ea565b60405180910390f35b3480156102df57600080fd5b506102e8610732565b6040516102f591906118ea565b60405180910390f35b34801561030a57600080fd5b50610313610758565b60405161032091906116f6565b60405180910390f35b34801561033557600080fd5b50610350600480360381019061034b91906117b1565b610795565b60405161035d919061180c565b60405180910390f35b34801561037257600080fd5b5061037b6107b3565b005b34801561038957600080fd5b506103a4600480360381019061039f9190611932565b610865565b6040516103b19190611836565b60405180910390f35b3480156103c657600080fd5b506103cf6108ec565b6040516103dc91906118ea565b60405180910390f35b60606040518060400160405280600481526020017ff09f928e00000000000000000000000000000000000000000000000000000000815250905090565b600061043661042f610912565b848461091a565b6001905092915050565b600069d3c21bcecceda1000000905090565b600061045f848484610ae3565b6105208461046b610912565b61051b85604051806060016040528060288152602001611cd260289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d1610912565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ecb9092919063ffffffff16565b61091a565b600190509392505050565b60006012905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105be610912565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461064b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610642906119be565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600381526020017f47454d0000000000000000000000000000000000000000000000000000000000815250905090565b60006107a96107a2610912565b8484610ae3565b6001905092915050565b6107bb610912565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610848576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083f906119be565b60405180910390fd5b6001600860006101000a81548160ff021916908315150217905550565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098090611a50565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ef90611ae2565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ad69190611836565b60405180910390a3505050565b600860009054906101000a900460ff16610baa57610aff610709565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610b6a5750610b3b610709565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b610ba9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba090611b4e565b60405180910390fd5b5b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610c4d5750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b90508015610c6157610c60848484610f2f565b5b6000610c6c3061056d565b9050600061c35069d3c21bcecceda1000000610c889190611bcc565b82118015610ce05750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015610d365750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b9050808015610d935750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b8015610dac5750601060149054906101000a900460ff16155b15610df0576001601060146101000a81548160ff021916908315150217905550610dd4610fc3565b6000601060146101000a81548160ff0219169083151502179055505b600060019050600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610e975750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610ea157600090505b8015610eb357610eb28787876110a7565b5b60009050610ec287878761132e565b50505050505050565b6000838311158290610f13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0a91906116f6565b60405180910390fd5b5060008385610f229190611bfd565b9050809150509392505050565b610f37610709565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610fa55750610f75610709565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015610fb15750600081115b15610fbe57436003819055505b505050565b600047905060008111156110a457600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611039573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156110a2573d6000803e3d6000fd5b505b50565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156111065750600082115b90506000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156111675750600083115b90506000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141580156112175750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156112235750600084115b9050600080600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054149050600043905084156112c65781156112c15780600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b611324565b83806112cf5750825b1561132357600354600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113219190611bfd565b505b5b5050505050505050565b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905080156114195781600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114119190611c31565b925050819055505b61142484848461142a565b50505050565b61147c81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115be90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061151181600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461160890919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115b19190611836565b60405180910390a3505050565b600061160083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ecb565b905092915050565b60008082846116179190611c31565b90508381101561165c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165390611cb1565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156116a0578082015181840152602081019050611685565b60008484015250505050565b6000601f19601f8301169050919050565b60006116c882611666565b6116d28185611671565b93506116e2818560208601611682565b6116eb816116ac565b840191505092915050565b6000602082019050818103600083015261171081846116bd565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006117488261171d565b9050919050565b6117588161173d565b811461176357600080fd5b50565b6000813590506117758161174f565b92915050565b6000819050919050565b61178e8161177b565b811461179957600080fd5b50565b6000813590506117ab81611785565b92915050565b600080604083850312156117c8576117c7611718565b5b60006117d685828601611766565b92505060206117e78582860161179c565b9150509250929050565b60008115159050919050565b611806816117f1565b82525050565b600060208201905061182160008301846117fd565b92915050565b6118308161177b565b82525050565b600060208201905061184b6000830184611827565b92915050565b60008060006060848603121561186a57611869611718565b5b600061187886828701611766565b935050602061188986828701611766565b925050604061189a8682870161179c565b9150509250925092565b600060ff82169050919050565b6118ba816118a4565b82525050565b60006020820190506118d560008301846118b1565b92915050565b6118e48161173d565b82525050565b60006020820190506118ff60008301846118db565b92915050565b60006020828403121561191b5761191a611718565b5b600061192984828501611766565b91505092915050565b6000806040838503121561194957611948611718565b5b600061195785828601611766565b925050602061196885828601611766565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006119a8602083611671565b91506119b382611972565b602082019050919050565b600060208201905081810360008301526119d78161199b565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611a3a602483611671565b9150611a45826119de565b604082019050919050565b60006020820190508181036000830152611a6981611a2d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611acc602283611671565b9150611ad782611a70565b604082019050919050565b60006020820190508181036000830152611afb81611abf565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000611b38601683611671565b9150611b4382611b02565b602082019050919050565b60006020820190508181036000830152611b6781611b2b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611bd78261177b565b9150611be28361177b565b925082611bf257611bf1611b6e565b5b828204905092915050565b6000611c088261177b565b9150611c138361177b565b9250828203905081811115611c2b57611c2a611b9d565b5b92915050565b6000611c3c8261177b565b9150611c478361177b565b9250828201905080821115611c5f57611c5e611b9d565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000611c9b601b83611671565b9150611ca682611c65565b602082019050919050565b60006020820190508181036000830152611cca81611c8e565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209cb6378c6d818a6f54076865adf132ff87bd472dce8edab89d934e1165802a6864736f6c63430008130033
Deployed Bytecode
0x6080604052600436106100f75760003560e01c8063715018a61161008a578063a9059cbb11610059578063a9059cbb14610329578063c9567bf914610366578063dd62ed3e1461037d578063dec01092146103ba576100fe565b8063715018a6146102915780638da5cb5b146102a85780638ea5220f146102d357806395d89b41146102fe576100fe565b8063313ce567116100c6578063313ce567146101d357806349bd5a5e146101fe5780634ada218b1461022957806370a0823114610254576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103e5565b60405161012591906116f6565b60405180910390f35b34801561013a57600080fd5b50610155600480360381019061015091906117b1565b610422565b604051610162919061180c565b60405180910390f35b34801561017757600080fd5b50610180610440565b60405161018d9190611836565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190611851565b610452565b6040516101ca919061180c565b60405180910390f35b3480156101df57600080fd5b506101e861052b565b6040516101f591906118c0565b60405180910390f35b34801561020a57600080fd5b50610213610534565b60405161022091906118ea565b60405180910390f35b34801561023557600080fd5b5061023e61055a565b60405161024b919061180c565b60405180910390f35b34801561026057600080fd5b5061027b60048036038101906102769190611905565b61056d565b6040516102889190611836565b60405180910390f35b34801561029d57600080fd5b506102a66105b6565b005b3480156102b457600080fd5b506102bd610709565b6040516102ca91906118ea565b60405180910390f35b3480156102df57600080fd5b506102e8610732565b6040516102f591906118ea565b60405180910390f35b34801561030a57600080fd5b50610313610758565b60405161032091906116f6565b60405180910390f35b34801561033557600080fd5b50610350600480360381019061034b91906117b1565b610795565b60405161035d919061180c565b60405180910390f35b34801561037257600080fd5b5061037b6107b3565b005b34801561038957600080fd5b506103a4600480360381019061039f9190611932565b610865565b6040516103b19190611836565b60405180910390f35b3480156103c657600080fd5b506103cf6108ec565b6040516103dc91906118ea565b60405180910390f35b60606040518060400160405280600481526020017ff09f928e00000000000000000000000000000000000000000000000000000000815250905090565b600061043661042f610912565b848461091a565b6001905092915050565b600069d3c21bcecceda1000000905090565b600061045f848484610ae3565b6105208461046b610912565b61051b85604051806060016040528060288152602001611cd260289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d1610912565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ecb9092919063ffffffff16565b61091a565b600190509392505050565b60006012905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105be610912565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461064b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610642906119be565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600381526020017f47454d0000000000000000000000000000000000000000000000000000000000815250905090565b60006107a96107a2610912565b8484610ae3565b6001905092915050565b6107bb610912565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610848576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083f906119be565b60405180910390fd5b6001600860006101000a81548160ff021916908315150217905550565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098090611a50565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ef90611ae2565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ad69190611836565b60405180910390a3505050565b600860009054906101000a900460ff16610baa57610aff610709565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610b6a5750610b3b610709565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b610ba9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba090611b4e565b60405180910390fd5b5b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610c4d5750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b90508015610c6157610c60848484610f2f565b5b6000610c6c3061056d565b9050600061c35069d3c21bcecceda1000000610c889190611bcc565b82118015610ce05750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015610d365750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b9050808015610d935750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b8015610dac5750601060149054906101000a900460ff16155b15610df0576001601060146101000a81548160ff021916908315150217905550610dd4610fc3565b6000601060146101000a81548160ff0219169083151502179055505b600060019050600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610e975750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610ea157600090505b8015610eb357610eb28787876110a7565b5b60009050610ec287878761132e565b50505050505050565b6000838311158290610f13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0a91906116f6565b60405180910390fd5b5060008385610f229190611bfd565b9050809150509392505050565b610f37610709565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610fa55750610f75610709565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015610fb15750600081115b15610fbe57436003819055505b505050565b600047905060008111156110a457600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611039573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156110a2573d6000803e3d6000fd5b505b50565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156111065750600082115b90506000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156111675750600083115b90506000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141580156112175750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156112235750600084115b9050600080600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054149050600043905084156112c65781156112c15780600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b611324565b83806112cf5750825b1561132357600354600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113219190611bfd565b505b5b5050505050505050565b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905080156114195781600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114119190611c31565b925050819055505b61142484848461142a565b50505050565b61147c81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115be90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061151181600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461160890919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115b19190611836565b60405180910390a3505050565b600061160083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ecb565b905092915050565b60008082846116179190611c31565b90508381101561165c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165390611cb1565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156116a0578082015181840152602081019050611685565b60008484015250505050565b6000601f19601f8301169050919050565b60006116c882611666565b6116d28185611671565b93506116e2818560208601611682565b6116eb816116ac565b840191505092915050565b6000602082019050818103600083015261171081846116bd565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006117488261171d565b9050919050565b6117588161173d565b811461176357600080fd5b50565b6000813590506117758161174f565b92915050565b6000819050919050565b61178e8161177b565b811461179957600080fd5b50565b6000813590506117ab81611785565b92915050565b600080604083850312156117c8576117c7611718565b5b60006117d685828601611766565b92505060206117e78582860161179c565b9150509250929050565b60008115159050919050565b611806816117f1565b82525050565b600060208201905061182160008301846117fd565b92915050565b6118308161177b565b82525050565b600060208201905061184b6000830184611827565b92915050565b60008060006060848603121561186a57611869611718565b5b600061187886828701611766565b935050602061188986828701611766565b925050604061189a8682870161179c565b9150509250925092565b600060ff82169050919050565b6118ba816118a4565b82525050565b60006020820190506118d560008301846118b1565b92915050565b6118e48161173d565b82525050565b60006020820190506118ff60008301846118db565b92915050565b60006020828403121561191b5761191a611718565b5b600061192984828501611766565b91505092915050565b6000806040838503121561194957611948611718565b5b600061195785828601611766565b925050602061196885828601611766565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006119a8602083611671565b91506119b382611972565b602082019050919050565b600060208201905081810360008301526119d78161199b565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611a3a602483611671565b9150611a45826119de565b604082019050919050565b60006020820190508181036000830152611a6981611a2d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611acc602283611671565b9150611ad782611a70565b604082019050919050565b60006020820190508181036000830152611afb81611abf565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000611b38601683611671565b9150611b4382611b02565b602082019050919050565b60006020820190508181036000830152611b6781611b2b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611bd78261177b565b9150611be28361177b565b925082611bf257611bf1611b6e565b5b828204905092915050565b6000611c088261177b565b9150611c138361177b565b9250828203905081811115611c2b57611c2a611b9d565b5b92915050565b6000611c3c8261177b565b9150611c478361177b565b9250828201905080821115611c5f57611c5e611b9d565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000611c9b601b83611671565b9150611ca682611c65565b602082019050919050565b60006020820190508181036000830152611cca81611c8e565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209cb6378c6d818a6f54076865adf132ff87bd472dce8edab89d934e1165802a6864736f6c63430008130033
Deployed Bytecode Sourcemap
3680:9181:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5318:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6146:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5595:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6315:310;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5504:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4685:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4354:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5698:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3034:148;;;;;;;;;;;;;:::i;:::-;;2820:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4603:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5409:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5823:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7113:82;;;;;;;;;;;;;:::i;:::-;;5998:140;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4570:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5318:83;5355:13;5388:5;;;;;;;;;;;;;;;;;5381:12;;5318:83;:::o;6146:161::-;6221:4;6238:39;6247:12;:10;:12::i;:::-;6261:7;6270:6;6238:8;:39::i;:::-;6295:4;6288:11;;6146:161;;;;:::o;5595:95::-;5648:7;3895:12;5668:14;;5595:95;:::o;6315:310::-;6413:4;6430:36;6440:6;6448:9;6459:6;6430:9;:36::i;:::-;6477:118;6486:6;6494:12;:10;:12::i;:::-;6508:86;6543:6;6508:86;;;;;;;;;;;;;;;;;:8;:16;6517:6;6508:16;;;;;;;;;;;;;;;:30;6525:12;:10;:12::i;:::-;6508:30;;;;;;;;;;;;;;;;:34;;:86;;;;;:::i;:::-;6477:8;:118::i;:::-;6613:4;6606:11;;6315:310;;;;;:::o;5504:83::-;5545:5;3851:2;5563:16;;5504:83;:::o;4685:28::-;;;;;;;;;;;;;:::o;4354:34::-;;;;;;;;;;;;;:::o;5698:117::-;5764:7;5791;:16;5799:7;5791:16;;;;;;;;;;;;;;;;5784:23;;5698:117;;;:::o;3034:148::-;2957:12;:10;:12::i;:::-;2947:22;;:6;;;;;;;;;;:22;;;2939:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3141:1:::1;3104:40;;3125:6;::::0;::::1;;;;;;;;3104:40;;;;;;;;;;;;3172:1;3155:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3034:148::o:0;2820:79::-;2858:7;2885:6;;;;;;;;;;;2878:13;;2820:79;:::o;4603:24::-;;;;;;;;;;;;;:::o;5409:87::-;5448:13;5481:7;;;;;;;;;;;;;;;;;5474:14;;5409:87;:::o;5823:167::-;5901:4;5918:42;5928:12;:10;:12::i;:::-;5942:9;5953:6;5918:9;:42::i;:::-;5978:4;5971:11;;5823:167;;;;:::o;7113:82::-;2957:12;:10;:12::i;:::-;2947:22;;:6;;;;;;;;;;:22;;;2939:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7183:4:::1;7166:14;;:21;;;;;;;;;;;;;;;;;;7113:82::o:0;5998:140::-;6079:7;6106:8;:15;6115:5;6106:15;;;;;;;;;;;;;;;:24;6122:7;6106:24;;;;;;;;;;;;;;;;6099:31;;5998:140;;;;:::o;4570:26::-;;;;;;;;;;;;;:::o;231:98::-;284:7;311:10;304:17;;231:98;:::o;7330:332::-;7440:1;7423:19;;:5;:19;;;7415:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7521:1;7502:21;;:7;:21;;;7494:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7600:6;7573:8;:15;7582:5;7573:15;;;;;;;;;;;;;;;:24;7589:7;7573:24;;;;;;;;;;;;;;;:33;;;;7638:7;7622:32;;7631:5;7622:32;;;7647:6;7622:32;;;;;;:::i;:::-;;;;;;;;7330:332;;;:::o;7674:952::-;7758:14;;;;;;;;;;;7754:113;;7804:7;:5;:7::i;:::-;7796:15;;:4;:15;;;:32;;;;7821:7;:5;:7::i;:::-;7815:13;;:2;:13;;;7796:32;7788:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7754:113;7879:20;7902:18;:24;7921:4;7902:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;7930:18;:22;7949:2;7930:22;;;;;;;;;;;;;;;;;;;;;;;;;7902:50;7879:73;;7968:15;7965:60;;;7987:35;8005:4;8011:2;8015:6;7987:17;:35::i;:::-;7965:60;8037:20;8060:24;8078:4;8060:9;:24::i;:::-;8037:47;;8095:12;8136:5;3895:12;8126:15;;;;:::i;:::-;8111:12;:30;8110:61;;;;;8147:18;:24;8166:4;8147:24;;;;;;;;;;;;;;;;;;;;;;;;;8146:25;8110:61;:88;;;;;8176:18;:22;8195:2;8176:22;;;;;;;;;;;;;;;;;;;;;;;;;8175:23;8110:88;8095:103;;8214:7;:32;;;;;8233:13;;;;;;;;;;;8225:21;;:4;:21;;;;8214:32;:45;;;;;8251:8;;;;;;;;;;;8250:9;8214:45;8211:152;;;8286:4;8275:8;;:15;;;;;;;;;;;;;;;;;;8305;:13;:15::i;:::-;8346:5;8335:8;;:16;;;;;;;;;;;;;;;;;;8211:152;8375:12;8390:4;8375:19;;8410:18;:24;8429:4;8410:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;8438:18;:22;8457:2;8438:22;;;;;;;;;;;;;;;;;;;;;;;;;8410:50;8407:70;;;8472:5;8462:15;;8407:70;8493:7;8490:49;;;8502:37;8522:4;8528:2;8532:6;8502:19;:37::i;:::-;8490:49;8562:5;8552:15;;8580:38;8601:4;8607:2;8611:6;8580:20;:38::i;:::-;7743:883;;;;7674:952;;;:::o;1366:190::-;1452:7;1485:1;1480;:6;;1488:12;1472:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1512:9;1528:1;1524;:5;;;;:::i;:::-;1512:17;;1547:1;1540:8;;;1366:190;;;;;:::o;9381:193::-;9491:7;:5;:7::i;:::-;9481:17;;:6;:17;;;;:41;;;;;9515:7;:5;:7::i;:::-;9502:20;;:9;:20;;;;9481:41;:55;;;;;9535:1;9526:6;:10;9481:55;9478:89;;;9552:12;9539:10;:25;;;;9478:89;9381:193;;;:::o;9123:246::-;9167:18;9188:21;9167:42;;9237:1;9224:10;:14;9220:142;;;9263:9;;;;;;;;;;;9255:27;;:39;9283:10;9255:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9317:11;;;;;;;;;;;9309:29;;:41;9339:10;9309:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9220:142;9156:213;9123:246::o;9582:588::-;9681:12;9706:13;;;;;;;;;;;9696:23;;:6;:23;;;:37;;;;;9732:1;9723:6;:10;9696:37;9681:52;;9744:12;9772:13;;;;;;;;;;;9759:26;;:9;:26;;;:40;;;;;9798:1;9789:6;:10;9759:40;9744:55;;9810:15;9838:13;;;;;;;;;;;9828:23;;:6;:23;;;;:53;;;;;9868:13;;;;;;;;;;;9855:26;;:9;:26;;;;9828:53;:67;;;;;9894:1;9885:6;:10;9828:67;9810:85;;9906:11;9942:1;9920:7;:18;9928:9;9920:18;;;;;;;;;;;;;;;;:23;9906:37;;9954:17;9974:12;9954:32;;10002:7;9999:164;;;10028:6;10025:41;;;10057:9;10036:7;:18;10044:9;10036:18;;;;;;;;;;;;;;;:30;;;;10025:41;9999:164;;;10086:7;:21;;;;10097:10;10086:21;10083:80;;;10141:10;;10123:7;:15;10131:6;10123:15;;;;;;;;;;;;;;;;:28;;;;:::i;:::-;;10083:80;9999:164;9670:500;;;;;9582:588;;;:::o;10683:297::-;10783:20;10806:18;:26;10825:6;10806:26;;;;;;;;;;;;;;;;;;;;;;;;;10783:49;;10856:15;10853:57;;;10904:6;10873:8;:19;10882:9;10873:19;;;;;;;;;;;;;;;:27;10893:6;10873:27;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;10853:57;10923:49;10946:6;10954:9;10965:6;10923:22;:49::i;:::-;10772:208;10683:297;;;:::o;10178:275::-;10299:28;10319:7;10299;:15;10307:6;10299:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;10281:7;:15;10289:6;10281:15;;;;;;;;;;;;;;;:46;;;;10359:31;10382:7;10359;:18;10367:9;10359:18;;;;;;;;;;;;;;;;:22;;:31;;;;:::i;:::-;10338:7;:18;10346:9;10338:18;;;;;;;;;;;;;;;:52;;;;10426:9;10409:36;;10418:6;10409:36;;;10437:7;10409:36;;;;;;:::i;:::-;;;;;;;;10178:275;;;:::o;1222:136::-;1280:7;1307:43;1311:1;1314;1307:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1300:50;;1222:136;;;;:::o;1035:179::-;1093:7;1113:9;1129:1;1125;:5;;;;:::i;:::-;1113:17;;1154:1;1149;:6;;1141:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1205:1;1198:8;;;1035:179;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:118::-;4940:24;4958:5;4940:24;:::i;:::-;4935:3;4928:37;4853:118;;:::o;4977:222::-;5070:4;5108:2;5097:9;5093:18;5085:26;;5121:71;5189:1;5178:9;5174:17;5165:6;5121:71;:::i;:::-;4977:222;;;;:::o;5205:329::-;5264:6;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5205:329;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:182::-;6160:34;6156:1;6148:6;6144:14;6137:58;6020:182;:::o;6208:366::-;6350:3;6371:67;6435:2;6430:3;6371:67;:::i;:::-;6364:74;;6447:93;6536:3;6447:93;:::i;:::-;6565:2;6560:3;6556:12;6549:19;;6208:366;;;:::o;6580:419::-;6746:4;6784:2;6773:9;6769:18;6761:26;;6833:9;6827:4;6823:20;6819:1;6808:9;6804:17;6797:47;6861:131;6987:4;6861:131;:::i;:::-;6853:139;;6580:419;;;:::o;7005:223::-;7145:34;7141:1;7133:6;7129:14;7122:58;7214:6;7209:2;7201:6;7197:15;7190:31;7005:223;:::o;7234:366::-;7376:3;7397:67;7461:2;7456:3;7397:67;:::i;:::-;7390:74;;7473:93;7562:3;7473:93;:::i;:::-;7591:2;7586:3;7582:12;7575:19;;7234:366;;;:::o;7606:419::-;7772:4;7810:2;7799:9;7795:18;7787:26;;7859:9;7853:4;7849:20;7845:1;7834:9;7830:17;7823:47;7887:131;8013:4;7887:131;:::i;:::-;7879:139;;7606:419;;;:::o;8031:221::-;8171:34;8167:1;8159:6;8155:14;8148:58;8240:4;8235:2;8227:6;8223:15;8216:29;8031:221;:::o;8258:366::-;8400:3;8421:67;8485:2;8480:3;8421:67;:::i;:::-;8414:74;;8497:93;8586:3;8497:93;:::i;:::-;8615:2;8610:3;8606:12;8599:19;;8258:366;;;:::o;8630:419::-;8796:4;8834:2;8823:9;8819:18;8811:26;;8883:9;8877:4;8873:20;8869:1;8858:9;8854:17;8847:47;8911:131;9037:4;8911:131;:::i;:::-;8903:139;;8630:419;;;:::o;9055:172::-;9195:24;9191:1;9183:6;9179:14;9172:48;9055:172;:::o;9233:366::-;9375:3;9396:67;9460:2;9455:3;9396:67;:::i;:::-;9389:74;;9472:93;9561:3;9472:93;:::i;:::-;9590:2;9585:3;9581:12;9574:19;;9233:366;;;:::o;9605:419::-;9771:4;9809:2;9798:9;9794:18;9786:26;;9858:9;9852:4;9848:20;9844:1;9833:9;9829:17;9822:47;9886:131;10012:4;9886:131;:::i;:::-;9878:139;;9605:419;;;:::o;10030:180::-;10078:77;10075:1;10068:88;10175:4;10172:1;10165:15;10199:4;10196:1;10189:15;10216:180;10264:77;10261:1;10254:88;10361:4;10358:1;10351:15;10385:4;10382:1;10375:15;10402:185;10442:1;10459:20;10477:1;10459:20;:::i;:::-;10454:25;;10493:20;10511:1;10493:20;:::i;:::-;10488:25;;10532:1;10522:35;;10537:18;;:::i;:::-;10522:35;10579:1;10576;10572:9;10567:14;;10402:185;;;;:::o;10593:194::-;10633:4;10653:20;10671:1;10653:20;:::i;:::-;10648:25;;10687:20;10705:1;10687:20;:::i;:::-;10682:25;;10731:1;10728;10724:9;10716:17;;10755:1;10749:4;10746:11;10743:37;;;10760:18;;:::i;:::-;10743:37;10593:194;;;;:::o;10793:191::-;10833:3;10852:20;10870:1;10852:20;:::i;:::-;10847:25;;10886:20;10904:1;10886:20;:::i;:::-;10881:25;;10929:1;10926;10922:9;10915:16;;10950:3;10947:1;10944:10;10941:36;;;10957:18;;:::i;:::-;10941:36;10793:191;;;;:::o;10990:177::-;11130:29;11126:1;11118:6;11114:14;11107:53;10990:177;:::o;11173:366::-;11315:3;11336:67;11400:2;11395:3;11336:67;:::i;:::-;11329:74;;11412:93;11501:3;11412:93;:::i;:::-;11530:2;11525:3;11521:12;11514:19;;11173:366;;;:::o;11545:419::-;11711:4;11749:2;11738:9;11734:18;11726:26;;11798:9;11792:4;11788:20;11784:1;11773:9;11769:17;11762:47;11826:131;11952:4;11826:131;:::i;:::-;11818:139;;11545:419;;;:::o
Swarm Source
ipfs://9cb6378c6d818a6f54076865adf132ff87bd472dce8edab89d934e1165802a68
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $2,388.68 | 0.001 | $2.39 |
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.