Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 90 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 22649144 | 36 hrs ago | IN | 0 ETH | 0.00007392 | ||||
Approve | 22641143 | 2 days ago | IN | 0 ETH | 0.00035325 | ||||
Approve | 22632924 | 3 days ago | IN | 0 ETH | 0.00020072 | ||||
Approve | 22627295 | 4 days ago | IN | 0 ETH | 0.00009263 | ||||
Approve | 22626339 | 4 days ago | IN | 0 ETH | 0.00015804 | ||||
Approve | 22626175 | 4 days ago | IN | 0 ETH | 0.00010656 | ||||
Approve | 22625800 | 4 days ago | IN | 0 ETH | 0.00026893 | ||||
Approve | 22625786 | 4 days ago | IN | 0 ETH | 0.00047664 | ||||
Approve | 22625727 | 4 days ago | IN | 0 ETH | 0.00032307 | ||||
Approve | 22625676 | 4 days ago | IN | 0 ETH | 0.00034542 | ||||
Approve | 22625619 | 4 days ago | IN | 0 ETH | 0.00024289 | ||||
Approve | 22624975 | 4 days ago | IN | 0 ETH | 0.00075079 | ||||
Approve | 22624975 | 4 days ago | IN | 0 ETH | 0.00065814 | ||||
Approve | 22624968 | 4 days ago | IN | 0 ETH | 0.00073454 | ||||
Approve | 22624967 | 4 days ago | IN | 0 ETH | 0.00074428 | ||||
Approve | 22624961 | 4 days ago | IN | 0 ETH | 0.00061376 | ||||
Approve | 22624959 | 4 days ago | IN | 0 ETH | 0.00079531 | ||||
Approve | 22624932 | 4 days ago | IN | 0 ETH | 0.00055871 | ||||
Approve | 22624924 | 4 days ago | IN | 0 ETH | 0.00062856 | ||||
Approve | 22624919 | 4 days ago | IN | 0 ETH | 0.00065203 | ||||
Approve | 22624918 | 4 days ago | IN | 0 ETH | 0.00069922 | ||||
Approve | 22624912 | 4 days ago | IN | 0 ETH | 0.00061269 | ||||
Approve | 22624900 | 4 days ago | IN | 0 ETH | 0.00081831 | ||||
Approve | 22624900 | 4 days ago | IN | 0 ETH | 0.00081831 | ||||
Approve | 22624900 | 4 days ago | IN | 0 ETH | 0.00081831 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
Transfer | 22624947 | 4 days ago | 0.02325488 ETH | ||||
Transfer | 22624947 | 4 days ago | 0.02325488 ETH | ||||
Transfer | 22624946 | 4 days ago | 0.03903561 ETH | ||||
Transfer | 22624946 | 4 days ago | 0.03903561 ETH | ||||
Transfer | 22624932 | 4 days ago | 0.04420129 ETH | ||||
Transfer | 22624932 | 4 days ago | 0.04420129 ETH | ||||
Transfer | 22624928 | 4 days ago | 0.02405942 ETH | ||||
Transfer | 22624928 | 4 days ago | 0.02405942 ETH | ||||
Transfer | 22624922 | 4 days ago | 0.02232888 ETH | ||||
Transfer | 22624922 | 4 days ago | 0.02232888 ETH | ||||
Transfer | 22624910 | 4 days ago | 0.0336826 ETH | ||||
Transfer | 22624910 | 4 days ago | 0.0336826 ETH | ||||
Transfer | 22624910 | 4 days ago | 0.02271087 ETH | ||||
Transfer | 22624910 | 4 days ago | 0.02271087 ETH | ||||
Transfer | 22624909 | 4 days ago | 0.05960816 ETH | ||||
Transfer | 22624909 | 4 days ago | 0.05960816 ETH | ||||
Transfer | 22624909 | 4 days ago | 0.06994889 ETH | ||||
Transfer | 22624909 | 4 days ago | 0.06994889 ETH | ||||
Transfer | 22624894 | 4 days ago | 0.00475673 ETH | ||||
Transfer | 22624894 | 4 days ago | 0.00475673 ETH | ||||
Transfer | 22624891 | 4 days ago | 0.06949522 ETH | ||||
Transfer | 22624891 | 4 days ago | 0.06949522 ETH | ||||
Transfer | 22624891 | 4 days ago | 0.08369935 ETH | ||||
Transfer | 22624891 | 4 days ago | 0.08369935 ETH | ||||
Transfer | 22624887 | 4 days ago | 0.05235926 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
TOKEN
Compiler Version
v0.8.23+commit.f704f362
Optimization Enabled:
No with 200 runs
Other Settings:
shanghai EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
/* http://dungeonfamily.xyz/ https://x.com/dungeonfamily_ https://t.me/dungeonfamily */ // SPDX-License-Identifier: UNLICENSE pragma solidity 0.8.23; bytes32 constant UNIQUE_IDENTIFIER = keccak256(abi.encodePacked("1748961265659")); 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; } } contract Ownable is Context { address private _owner; 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); function getPair(address tokenA, address tokenB) external view 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); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract TOKEN is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; address payable private _taxWallet; uint256 private _initialBuyTax=25; uint256 private _initialSellTax=27; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=1; uint256 private _reduceSellTaxAt=30; uint256 private _preventSwapBefore=23; uint256 private _transferTax=70; uint256 private _buyCount=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 420690000000 * 10**_decimals; string public name; string public symbol; uint256 public _maxTxAmount = 8400000000 * 10**_decimals; uint256 public _maxWalletSize = 8400000000 * 10**_decimals; uint256 public _taxSwapThreshold= 4200000000 * 10**_decimals; uint256 public _maxTaxSwap= 6300000000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 private sellCount = 0; uint256 private lastSellBlock = 0; event MaxTxAmountUpdated(uint _maxTxAmount); event TransferTaxUpdated(uint _tax); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor(string memory tokenName, string memory tokenSymbol) { name = tokenName; symbol = tokenSymbol; _taxWallet = payable(_msgSender()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } 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 _balances[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 _allowances[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(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } 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"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; if (from != owner() && to != owner() && to != _taxWallet) { if(_buyCount==0){ taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); } if(_buyCount>0){ taxAmount = amount.mul(_transferTax).div(100); } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); _buyCount++; } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > 0 && _buyCount > _preventSwapBefore) { if (block.number > lastSellBlock) { sellCount = 0; } require(sellCount < 3, "Only 3 sells per block!"); swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } sellCount++; lastSellBlock = block.number; } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { 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 removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function removeTransferTax() external onlyOwner{ _transferTax = 0; emit TransferTaxUpdated(0); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); if (IUniswapV2Factory(uniswapV2Router.factory()).getPair(uniswapV2Router.WETH(), address(this)) == address(0)) { uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); } else { uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).getPair(uniswapV2Router.WETH(), address(this)); } uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } function reduceFee(uint256 _newFee) external{ require(_msgSender()==_taxWallet); require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax); _finalBuyTax=_newFee; _finalSellTax=_newFee; } receive() external payable {} function rescueERC20(address _address, uint256 percent) external { require(_msgSender()==_taxWallet); uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100); IERC20(_address).transfer(_taxWallet, _amount); } function manualSwap() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0 && swapEnabled){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } function withdrawETH(address payable to, uint256 amount) external { require(_msgSender()==_taxWallet); require(address(this).balance >= amount, "Insufficient ETH balance"); to.transfer(amount); } }
{ "remappings": [ "forge-std/=lib/forge-std/src/" ], "optimizer": { "enabled": false, "runs": 200 }, "metadata": { "useLiteralContent": false, "bytecodeHash": "ipfs", "appendCBOR": true }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "evmVersion": "shanghai", "viaIR": false, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"string","name":"tokenName","type":"string"},{"internalType":"string","name":"tokenSymbol","type":"string"}],"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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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":[{"internalType":"address payable","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526019600555601b6006555f6007555f6008556001600955601e600a556017600b556046600c555f600d556009600a6200003e91906200064e565b6401f4add4006200005091906200069e565b6010556009600a6200006391906200064e565b6401f4add4006200007591906200069e565b6011556009600a6200008891906200064e565b63fa56ea006200009991906200069e565b6012556009600a620000ac91906200064e565b640177825f00620000be91906200069e565b6013555f6015806101000a81548160ff0219169083151502179055505f601560166101000a81548160ff0219169083151502179055505f6016555f60175534801562000108575f80fd5b50604051620045c4380380620045c483398181016040528101906200012e91906200086d565b5f6200013f6200048e60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600e9081620001ec919062000b1e565b5080600f9081620001fe919062000b1e565b506200020f6200048e60201b60201c565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200025e91906200064e565b6461f313f8806200027091906200069e565b60015f620002836200048e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620002d56200049560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003ff6200048e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200045d91906200064e565b6461f313f8806200046f91906200069e565b6040516200047e919062000c13565b60405180910390a3505062000c2e565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000546578086048111156200051e576200051d620004bc565b5b60018516156200052e5780820291505b80810290506200053e85620004e9565b9450620004fe565b94509492505050565b5f8262000560576001905062000632565b816200056f575f905062000632565b81600181146200058857600281146200059357620005c9565b600191505062000632565b60ff841115620005a857620005a7620004bc565b5b8360020a915084821115620005c257620005c1620004bc565b5b5062000632565b5060208310610133831016604e8410600b8410161715620006035782820a905083811115620005fd57620005fc620004bc565b5b62000632565b620006128484846001620004f5565b925090508184048111156200062c576200062b620004bc565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6200065a8262000639565b9150620006678362000642565b9250620006967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200054f565b905092915050565b5f620006aa8262000639565b9150620006b78362000639565b9250828202620006c78162000639565b91508282048414831517620006e157620006e0620004bc565b5b5092915050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620007498262000701565b810181811067ffffffffffffffff821117156200076b576200076a62000711565b5b80604052505050565b5f6200077f620006e8565b90506200078d82826200073e565b919050565b5f67ffffffffffffffff821115620007af57620007ae62000711565b5b620007ba8262000701565b9050602081019050919050565b5f5b83811015620007e6578082015181840152602081019050620007c9565b5f8484015250505050565b5f62000807620008018462000792565b62000774565b905082815260208101848484011115620008265762000825620006fd565b5b62000833848285620007c7565b509392505050565b5f82601f830112620008525762000851620006f9565b5b815162000864848260208601620007f1565b91505092915050565b5f8060408385031215620008865762000885620006f1565b5b5f83015167ffffffffffffffff811115620008a657620008a5620006f5565b5b620008b4858286016200083b565b925050602083015167ffffffffffffffff811115620008d857620008d7620006f5565b5b620008e6858286016200083b565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200093f57607f821691505b602082108103620009555762000954620008fa565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620009b97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200097c565b620009c586836200097c565b95508019841693508086168417925050509392505050565b5f819050919050565b5f62000a0662000a00620009fa8462000639565b620009dd565b62000639565b9050919050565b5f819050919050565b62000a2183620009e6565b62000a3962000a308262000a0d565b84845462000988565b825550505050565b5f90565b62000a4f62000a41565b62000a5c81848462000a16565b505050565b5b8181101562000a835762000a775f8262000a45565b60018101905062000a62565b5050565b601f82111562000ad25762000a9c816200095b565b62000aa7846200096d565b8101602085101562000ab7578190505b62000acf62000ac6856200096d565b83018262000a61565b50505b505050565b5f82821c905092915050565b5f62000af45f198460080262000ad7565b1980831691505092915050565b5f62000b0e838362000ae3565b9150826002028217905092915050565b62000b2982620008f0565b67ffffffffffffffff81111562000b455762000b4462000711565b5b62000b51825462000927565b62000b5e82828562000a87565b5f60209050601f83116001811462000b94575f841562000b7f578287015190505b62000b8b858262000b01565b86555062000bfa565b601f19841662000ba4866200095b565b5f5b8281101562000bcd5784890151825560018201915060208501945060208101905062000ba6565b8683101562000bed578489015162000be9601f89168262000ae3565b8355505b6001600288020188555050505b505050505050565b62000c0d8162000639565b82525050565b5f60208201905062000c285f83018462000c02565b92915050565b6139888062000c3c5f395ff3fe608060405260043610610138575f3560e01c8063751039fc116100aa57806395d89b411161006e57806395d89b41146103c5578063a9059cbb146103ef578063bf474bed1461042b578063c9567bf914610455578063dd62ed3e1461046b578063ec1f3f63146104a75761013f565b8063751039fc146103095780637d1db4a51461031f5780638cd4426d146103495780638da5cb5b146103715780638f9a55c01461039b5761013f565b806323b872dd116100fc57806323b872dd14610213578063313ce5671461024f5780634782f7791461027957806351bc3c85146102a157806370a08231146102b7578063715018a6146102f35761013f565b806306fdde0314610143578063095ea7b31461016d5780630faee56f146101a9578063109daa99146101d357806318160ddd146101e95761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b506101576104cf565b60405161016491906128a0565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e9190612951565b61055b565b6040516101a091906129a9565b60405180910390f35b3480156101b4575f80fd5b506101bd610578565b6040516101ca91906129d1565b60405180910390f35b3480156101de575f80fd5b506101e761057e565b005b3480156101f4575f80fd5b506101fd610652565b60405161020a91906129d1565b60405180910390f35b34801561021e575f80fd5b50610239600480360381019061023491906129ea565b610676565b60405161024691906129a9565b60405180910390f35b34801561025a575f80fd5b5061026361074a565b6040516102709190612a55565b60405180910390f35b348015610284575f80fd5b5061029f600480360381019061029a9190612aa9565b610752565b005b3480156102ac575f80fd5b506102b561083c565b005b3480156102c2575f80fd5b506102dd60048036038101906102d89190612ae7565b6108eb565b6040516102ea91906129d1565b60405180910390f35b3480156102fe575f80fd5b50610307610931565b005b348015610314575f80fd5b5061031d610a7f565b005b34801561032a575f80fd5b50610333610bb1565b60405161034091906129d1565b60405180910390f35b348015610354575f80fd5b5061036f600480360381019061036a9190612951565b610bb7565b005b34801561037c575f80fd5b50610385610d58565b6040516103929190612b21565b60405180910390f35b3480156103a6575f80fd5b506103af610d7f565b6040516103bc91906129d1565b60405180910390f35b3480156103d0575f80fd5b506103d9610d85565b6040516103e691906128a0565b60405180910390f35b3480156103fa575f80fd5b5061041560048036038101906104109190612951565b610e11565b60405161042291906129a9565b60405180910390f35b348015610436575f80fd5b5061043f610e2e565b60405161044c91906129d1565b60405180910390f35b348015610460575f80fd5b50610469610e34565b005b348015610476575f80fd5b50610491600480360381019061048c9190612b3a565b6116f6565b60405161049e91906129d1565b60405180910390f35b3480156104b2575f80fd5b506104cd60048036038101906104c89190612b78565b611778565b005b600e80546104dc90612bd0565b80601f016020809104026020016040519081016040528092919081815260200182805461050890612bd0565b80156105535780601f1061052a57610100808354040283529160200191610553565b820191905f5260205f20905b81548152906001019060200180831161053657829003601f168201915b505050505081565b5f61056e610567611804565b848461180b565b6001905092915050565b60135481565b610586611804565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610612576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060990612c4a565b60405180910390fd5b5f600c819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516106489190612caa565b60405180910390a1565b5f6009600a6106619190612e1f565b6461f313f8806106719190612e69565b905090565b5f6106828484846119ce565b61073f8461068e611804565b61073a8560405180606001604052806028815260200161392b6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106f1611804565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123049092919063ffffffff16565b61180b565b600190509392505050565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610792611804565b73ffffffffffffffffffffffffffffffffffffffff16146107b1575f80fd5b804710156107f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107eb90612ef4565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610837573d5f803e3d5ffd5b505050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661087c611804565b73ffffffffffffffffffffffffffffffffffffffff161461089b575f80fd5b5f6108a5306108eb565b90505f811180156108c25750601560169054906101000a900460ff165b156108d1576108d081612366565b5b5f4790505f8111156108e7576108e6816125cf565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610939611804565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bc90612c4a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a87611804565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0a90612c4a565b60405180910390fd5b6009600a610b219190612e1f565b6461f313f880610b319190612e69565b6010819055506009600a610b459190612e1f565b6461f313f880610b559190612e69565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b8a9190612e1f565b6461f313f880610b9a9190612e69565b604051610ba791906129d1565b60405180910390a1565b60105481565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bf7611804565b73ffffffffffffffffffffffffffffffffffffffff1614610c16575f80fd5b5f610cb46064610ca6848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610c599190612b21565b602060405180830381865afa158015610c74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c989190612f26565b61263790919063ffffffff16565b6126ae90919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610d12929190612fa3565b6020604051808303815f875af1158015610d2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d529190612ff4565b50505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b600f8054610d9290612bd0565b80601f0160208091040260200160405190810160405280929190818152602001828054610dbe90612bd0565b8015610e095780601f10610de057610100808354040283529160200191610e09565b820191905f5260205f20905b815481529060010190602001808311610dec57829003601f168201915b505050505081565b5f610e24610e1d611804565b84846119ce565b6001905092915050565b60125481565b610e3c611804565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ec8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebf90612c4a565b60405180910390fd5b601560149054906101000a900460ff1615610f18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0f90613069565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610fb53060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610fa09190612e1f565b6461f313f880610fb09190612e69565b61180b565b5f73ffffffffffffffffffffffffffffffffffffffff1660145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611036573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061105a919061309b565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390560145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110df573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611103919061309b565b306040518363ffffffff1660e01b81526004016111219291906130c6565b602060405180830381865afa15801561113c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611160919061309b565b73ffffffffffffffffffffffffffffffffffffffff16036113545760145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111e5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611209919061309b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561128f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112b3919061309b565b6040518363ffffffff1660e01b81526004016112d09291906130c6565b6020604051808303815f875af11580156112ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611310919061309b565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611528565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113e2919061309b565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390560145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611467573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061148b919061309b565b306040518363ffffffff1660e01b81526004016114a99291906130c6565b602060405180830381865afa1580156114c4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114e8919061309b565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730611570306108eb565b5f8061157a610d58565b426040518863ffffffff1660e01b815260040161159c969594939291906130ed565b60606040518083038185885af11580156115b8573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906115dd919061314c565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161167d92919061319c565b6020604051808303815f875af1158015611699573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116bd9190612ff4565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117b8611804565b73ffffffffffffffffffffffffffffffffffffffff16146117d7575f80fd5b60075481111580156117eb57506008548111155b6117f3575f80fd5b806007819055508060088190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187090613233565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118de906132c1565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119c191906129d1565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a339061334f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611aaa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa1906133dd565b60405180910390fd5b5f8111611aec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae39061346b565b60405180910390fd5b5f611af5610d58565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611b635750611b33610d58565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611bbc575060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15612054575f600d5403611c0957611c066064611bf8600954600d5411611be557600554611be9565b6007545b8561263790919063ffffffff16565b6126ae90919063ffffffff16565b90505b5f600d541115611c3e57611c3b6064611c2d600c548561263790919063ffffffff16565b6126ae90919063ffffffff16565b90505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611ce7575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d3a575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611e3257601054821115611d84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7b906134d3565b60405180910390fd5b60115482611d91856108eb565b611d9b91906134f1565b1115611ddc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd39061356e565b60405180910390fd5b611e186064611e0a600954600d5411611df757600554611dfb565b6007545b8561263790919063ffffffff16565b6126ae90919063ffffffff16565b9050600d5f815480929190611e2c9061358c565b91905055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611eba57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611efe57611efb6064611eed600a54600d5411611eda57600654611ede565b6008545b8561263790919063ffffffff16565b6126ae90919063ffffffff16565b90505b5f611f08306108eb565b905060158054906101000a900460ff16158015611f71575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611f895750601560169054906101000a900460ff165b8015611f9457505f81115b8015611fa35750600b54600d54115b1561205257601754431115611fba575f6016819055505b600360165410611fff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff69061361d565b60405180910390fd5b61201c61201784612012846013546126f7565b6126f7565b612366565b5f4790505f81111561203257612031476125cf565b5b60165f8154809291906120449061358c565b919050555043601781905550505b505b5f811115612153576120ac8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461270f90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161214a91906129d1565b60405180910390a35b6121a38260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461276c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506122466121fa828461276c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461270f90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6122e9848661276c90919063ffffffff16565b6040516122f691906129d1565b60405180910390a350505050565b5f83831115829061234b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234291906128a0565b60405180910390fd5b505f8385612359919061363b565b9050809150509392505050565b60016015806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561239c5761239b61366e565b5b6040519080825280602002602001820160405280156123ca5781602001602082028036833780820191505090505b50905030815f815181106123e1576123e061369b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612485573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124a9919061309b565b816001815181106124bd576124bc61369b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506125233060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461180b565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161258595949392919061377f565b5f604051808303815f87803b15801561259c575f80fd5b505af11580156125ae573d5f803e3d5ffd5b50505050505f6015806101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612633573d5f803e3d5ffd5b5050565b5f808303612647575f90506126a8565b5f82846126549190612e69565b90508284826126639190613804565b146126a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161269a906138a4565b60405180910390fd5b809150505b92915050565b5f6126ef83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506127b5565b905092915050565b5f8183116127055782612707565b815b905092915050565b5f80828461271d91906134f1565b905083811015612762576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127599061390c565b60405180910390fd5b8091505092915050565b5f6127ad83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612304565b905092915050565b5f80831182906127fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127f291906128a0565b60405180910390fd5b505f83856128099190613804565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561284d578082015181840152602081019050612832565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61287282612816565b61287c8185612820565b935061288c818560208601612830565b61289581612858565b840191505092915050565b5f6020820190508181035f8301526128b88184612868565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6128ed826128c4565b9050919050565b6128fd816128e3565b8114612907575f80fd5b50565b5f81359050612918816128f4565b92915050565b5f819050919050565b6129308161291e565b811461293a575f80fd5b50565b5f8135905061294b81612927565b92915050565b5f8060408385031215612967576129666128c0565b5b5f6129748582860161290a565b92505060206129858582860161293d565b9150509250929050565b5f8115159050919050565b6129a38161298f565b82525050565b5f6020820190506129bc5f83018461299a565b92915050565b6129cb8161291e565b82525050565b5f6020820190506129e45f8301846129c2565b92915050565b5f805f60608486031215612a0157612a006128c0565b5b5f612a0e8682870161290a565b9350506020612a1f8682870161290a565b9250506040612a308682870161293d565b9150509250925092565b5f60ff82169050919050565b612a4f81612a3a565b82525050565b5f602082019050612a685f830184612a46565b92915050565b5f612a78826128c4565b9050919050565b612a8881612a6e565b8114612a92575f80fd5b50565b5f81359050612aa381612a7f565b92915050565b5f8060408385031215612abf57612abe6128c0565b5b5f612acc85828601612a95565b9250506020612add8582860161293d565b9150509250929050565b5f60208284031215612afc57612afb6128c0565b5b5f612b098482850161290a565b91505092915050565b612b1b816128e3565b82525050565b5f602082019050612b345f830184612b12565b92915050565b5f8060408385031215612b5057612b4f6128c0565b5b5f612b5d8582860161290a565b9250506020612b6e8582860161290a565b9150509250929050565b5f60208284031215612b8d57612b8c6128c0565b5b5f612b9a8482850161293d565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612be757607f821691505b602082108103612bfa57612bf9612ba3565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612c34602083612820565b9150612c3f82612c00565b602082019050919050565b5f6020820190508181035f830152612c6181612c28565b9050919050565b5f819050919050565b5f819050919050565b5f612c94612c8f612c8a84612c68565b612c71565b61291e565b9050919050565b612ca481612c7a565b82525050565b5f602082019050612cbd5f830184612c9b565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612d4557808604811115612d2157612d20612cc3565b5b6001851615612d305780820291505b8081029050612d3e85612cf0565b9450612d05565b94509492505050565b5f82612d5d5760019050612e18565b81612d6a575f9050612e18565b8160018114612d805760028114612d8a57612db9565b6001915050612e18565b60ff841115612d9c57612d9b612cc3565b5b8360020a915084821115612db357612db2612cc3565b5b50612e18565b5060208310610133831016604e8410600b8410161715612dee5782820a905083811115612de957612de8612cc3565b5b612e18565b612dfb8484846001612cfc565b92509050818404811115612e1257612e11612cc3565b5b81810290505b9392505050565b5f612e298261291e565b9150612e3483612a3a565b9250612e617fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612d4e565b905092915050565b5f612e738261291e565b9150612e7e8361291e565b9250828202612e8c8161291e565b91508282048414831517612ea357612ea2612cc3565b5b5092915050565b7f496e73756666696369656e74204554482062616c616e636500000000000000005f82015250565b5f612ede601883612820565b9150612ee982612eaa565b602082019050919050565b5f6020820190508181035f830152612f0b81612ed2565b9050919050565b5f81519050612f2081612927565b92915050565b5f60208284031215612f3b57612f3a6128c0565b5b5f612f4884828501612f12565b91505092915050565b5f612f6b612f66612f61846128c4565b612c71565b6128c4565b9050919050565b5f612f7c82612f51565b9050919050565b5f612f8d82612f72565b9050919050565b612f9d81612f83565b82525050565b5f604082019050612fb65f830185612f94565b612fc360208301846129c2565b9392505050565b612fd38161298f565b8114612fdd575f80fd5b50565b5f81519050612fee81612fca565b92915050565b5f60208284031215613009576130086128c0565b5b5f61301684828501612fe0565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f613053601783612820565b915061305e8261301f565b602082019050919050565b5f6020820190508181035f83015261308081613047565b9050919050565b5f81519050613095816128f4565b92915050565b5f602082840312156130b0576130af6128c0565b5b5f6130bd84828501613087565b91505092915050565b5f6040820190506130d95f830185612b12565b6130e66020830184612b12565b9392505050565b5f60c0820190506131005f830189612b12565b61310d60208301886129c2565b61311a6040830187612c9b565b6131276060830186612c9b565b6131346080830185612b12565b61314160a08301846129c2565b979650505050505050565b5f805f60608486031215613163576131626128c0565b5b5f61317086828701612f12565b935050602061318186828701612f12565b925050604061319286828701612f12565b9150509250925092565b5f6040820190506131af5f830185612b12565b6131bc60208301846129c2565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61321d602483612820565b9150613228826131c3565b604082019050919050565b5f6020820190508181035f83015261324a81613211565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6132ab602283612820565b91506132b682613251565b604082019050919050565b5f6020820190508181035f8301526132d88161329f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613339602583612820565b9150613344826132df565b604082019050919050565b5f6020820190508181035f8301526133668161332d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6133c7602383612820565b91506133d28261336d565b604082019050919050565b5f6020820190508181035f8301526133f4816133bb565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613455602983612820565b9150613460826133fb565b604082019050919050565b5f6020820190508181035f83015261348281613449565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6134bd601983612820565b91506134c882613489565b602082019050919050565b5f6020820190508181035f8301526134ea816134b1565b9050919050565b5f6134fb8261291e565b91506135068361291e565b925082820190508082111561351e5761351d612cc3565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613558601a83612820565b915061356382613524565b602082019050919050565b5f6020820190508181035f8301526135858161354c565b9050919050565b5f6135968261291e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036135c8576135c7612cc3565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f613607601783612820565b9150613612826135d3565b602082019050919050565b5f6020820190508181035f830152613634816135fb565b9050919050565b5f6136458261291e565b91506136508361291e565b925082820390508181111561366857613667612cc3565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6136fa816128e3565b82525050565b5f61370b83836136f1565b60208301905092915050565b5f602082019050919050565b5f61372d826136c8565b61373781856136d2565b9350613742836136e2565b805f5b838110156137725781516137598882613700565b975061376483613717565b925050600181019050613745565b5085935050505092915050565b5f60a0820190506137925f8301886129c2565b61379f6020830187612c9b565b81810360408301526137b18186613723565b90506137c06060830185612b12565b6137cd60808301846129c2565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61380e8261291e565b91506138198361291e565b925082613829576138286137d7565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61388e602183612820565b915061389982613834565b604082019050919050565b5f6020820190508181035f8301526138bb81613882565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6138f6601b83612820565b9150613901826138c2565b602082019050919050565b5f6020820190508181035f830152613923816138ea565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204e62e5a9e8152af110f997b5380f25ae5619fbdf27e9021397726e732696a05f64736f6c6343000817003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001c44756e67656f6e2046616d696c79206279204d61747420467572696500000000000000000000000000000000000000000000000000000000000000000000000744554e47454f4e00000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405260043610610138575f3560e01c8063751039fc116100aa57806395d89b411161006e57806395d89b41146103c5578063a9059cbb146103ef578063bf474bed1461042b578063c9567bf914610455578063dd62ed3e1461046b578063ec1f3f63146104a75761013f565b8063751039fc146103095780637d1db4a51461031f5780638cd4426d146103495780638da5cb5b146103715780638f9a55c01461039b5761013f565b806323b872dd116100fc57806323b872dd14610213578063313ce5671461024f5780634782f7791461027957806351bc3c85146102a157806370a08231146102b7578063715018a6146102f35761013f565b806306fdde0314610143578063095ea7b31461016d5780630faee56f146101a9578063109daa99146101d357806318160ddd146101e95761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b506101576104cf565b60405161016491906128a0565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e9190612951565b61055b565b6040516101a091906129a9565b60405180910390f35b3480156101b4575f80fd5b506101bd610578565b6040516101ca91906129d1565b60405180910390f35b3480156101de575f80fd5b506101e761057e565b005b3480156101f4575f80fd5b506101fd610652565b60405161020a91906129d1565b60405180910390f35b34801561021e575f80fd5b50610239600480360381019061023491906129ea565b610676565b60405161024691906129a9565b60405180910390f35b34801561025a575f80fd5b5061026361074a565b6040516102709190612a55565b60405180910390f35b348015610284575f80fd5b5061029f600480360381019061029a9190612aa9565b610752565b005b3480156102ac575f80fd5b506102b561083c565b005b3480156102c2575f80fd5b506102dd60048036038101906102d89190612ae7565b6108eb565b6040516102ea91906129d1565b60405180910390f35b3480156102fe575f80fd5b50610307610931565b005b348015610314575f80fd5b5061031d610a7f565b005b34801561032a575f80fd5b50610333610bb1565b60405161034091906129d1565b60405180910390f35b348015610354575f80fd5b5061036f600480360381019061036a9190612951565b610bb7565b005b34801561037c575f80fd5b50610385610d58565b6040516103929190612b21565b60405180910390f35b3480156103a6575f80fd5b506103af610d7f565b6040516103bc91906129d1565b60405180910390f35b3480156103d0575f80fd5b506103d9610d85565b6040516103e691906128a0565b60405180910390f35b3480156103fa575f80fd5b5061041560048036038101906104109190612951565b610e11565b60405161042291906129a9565b60405180910390f35b348015610436575f80fd5b5061043f610e2e565b60405161044c91906129d1565b60405180910390f35b348015610460575f80fd5b50610469610e34565b005b348015610476575f80fd5b50610491600480360381019061048c9190612b3a565b6116f6565b60405161049e91906129d1565b60405180910390f35b3480156104b2575f80fd5b506104cd60048036038101906104c89190612b78565b611778565b005b600e80546104dc90612bd0565b80601f016020809104026020016040519081016040528092919081815260200182805461050890612bd0565b80156105535780601f1061052a57610100808354040283529160200191610553565b820191905f5260205f20905b81548152906001019060200180831161053657829003601f168201915b505050505081565b5f61056e610567611804565b848461180b565b6001905092915050565b60135481565b610586611804565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610612576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060990612c4a565b60405180910390fd5b5f600c819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516106489190612caa565b60405180910390a1565b5f6009600a6106619190612e1f565b6461f313f8806106719190612e69565b905090565b5f6106828484846119ce565b61073f8461068e611804565b61073a8560405180606001604052806028815260200161392b6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106f1611804565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123049092919063ffffffff16565b61180b565b600190509392505050565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610792611804565b73ffffffffffffffffffffffffffffffffffffffff16146107b1575f80fd5b804710156107f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107eb90612ef4565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610837573d5f803e3d5ffd5b505050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661087c611804565b73ffffffffffffffffffffffffffffffffffffffff161461089b575f80fd5b5f6108a5306108eb565b90505f811180156108c25750601560169054906101000a900460ff165b156108d1576108d081612366565b5b5f4790505f8111156108e7576108e6816125cf565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610939611804565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bc90612c4a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a87611804565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0a90612c4a565b60405180910390fd5b6009600a610b219190612e1f565b6461f313f880610b319190612e69565b6010819055506009600a610b459190612e1f565b6461f313f880610b559190612e69565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b8a9190612e1f565b6461f313f880610b9a9190612e69565b604051610ba791906129d1565b60405180910390a1565b60105481565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bf7611804565b73ffffffffffffffffffffffffffffffffffffffff1614610c16575f80fd5b5f610cb46064610ca6848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610c599190612b21565b602060405180830381865afa158015610c74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c989190612f26565b61263790919063ffffffff16565b6126ae90919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610d12929190612fa3565b6020604051808303815f875af1158015610d2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d529190612ff4565b50505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b600f8054610d9290612bd0565b80601f0160208091040260200160405190810160405280929190818152602001828054610dbe90612bd0565b8015610e095780601f10610de057610100808354040283529160200191610e09565b820191905f5260205f20905b815481529060010190602001808311610dec57829003601f168201915b505050505081565b5f610e24610e1d611804565b84846119ce565b6001905092915050565b60125481565b610e3c611804565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ec8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebf90612c4a565b60405180910390fd5b601560149054906101000a900460ff1615610f18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0f90613069565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610fb53060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610fa09190612e1f565b6461f313f880610fb09190612e69565b61180b565b5f73ffffffffffffffffffffffffffffffffffffffff1660145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611036573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061105a919061309b565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390560145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110df573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611103919061309b565b306040518363ffffffff1660e01b81526004016111219291906130c6565b602060405180830381865afa15801561113c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611160919061309b565b73ffffffffffffffffffffffffffffffffffffffff16036113545760145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111e5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611209919061309b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561128f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112b3919061309b565b6040518363ffffffff1660e01b81526004016112d09291906130c6565b6020604051808303815f875af11580156112ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611310919061309b565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611528565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113e2919061309b565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390560145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611467573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061148b919061309b565b306040518363ffffffff1660e01b81526004016114a99291906130c6565b602060405180830381865afa1580156114c4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114e8919061309b565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730611570306108eb565b5f8061157a610d58565b426040518863ffffffff1660e01b815260040161159c969594939291906130ed565b60606040518083038185885af11580156115b8573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906115dd919061314c565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161167d92919061319c565b6020604051808303815f875af1158015611699573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116bd9190612ff4565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117b8611804565b73ffffffffffffffffffffffffffffffffffffffff16146117d7575f80fd5b60075481111580156117eb57506008548111155b6117f3575f80fd5b806007819055508060088190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187090613233565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118de906132c1565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119c191906129d1565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a339061334f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611aaa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa1906133dd565b60405180910390fd5b5f8111611aec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae39061346b565b60405180910390fd5b5f611af5610d58565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611b635750611b33610d58565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611bbc575060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15612054575f600d5403611c0957611c066064611bf8600954600d5411611be557600554611be9565b6007545b8561263790919063ffffffff16565b6126ae90919063ffffffff16565b90505b5f600d541115611c3e57611c3b6064611c2d600c548561263790919063ffffffff16565b6126ae90919063ffffffff16565b90505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611ce7575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d3a575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611e3257601054821115611d84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7b906134d3565b60405180910390fd5b60115482611d91856108eb565b611d9b91906134f1565b1115611ddc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd39061356e565b60405180910390fd5b611e186064611e0a600954600d5411611df757600554611dfb565b6007545b8561263790919063ffffffff16565b6126ae90919063ffffffff16565b9050600d5f815480929190611e2c9061358c565b91905055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611eba57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611efe57611efb6064611eed600a54600d5411611eda57600654611ede565b6008545b8561263790919063ffffffff16565b6126ae90919063ffffffff16565b90505b5f611f08306108eb565b905060158054906101000a900460ff16158015611f71575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611f895750601560169054906101000a900460ff165b8015611f9457505f81115b8015611fa35750600b54600d54115b1561205257601754431115611fba575f6016819055505b600360165410611fff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff69061361d565b60405180910390fd5b61201c61201784612012846013546126f7565b6126f7565b612366565b5f4790505f81111561203257612031476125cf565b5b60165f8154809291906120449061358c565b919050555043601781905550505b505b5f811115612153576120ac8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461270f90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161214a91906129d1565b60405180910390a35b6121a38260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461276c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506122466121fa828461276c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461270f90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6122e9848661276c90919063ffffffff16565b6040516122f691906129d1565b60405180910390a350505050565b5f83831115829061234b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234291906128a0565b60405180910390fd5b505f8385612359919061363b565b9050809150509392505050565b60016015806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561239c5761239b61366e565b5b6040519080825280602002602001820160405280156123ca5781602001602082028036833780820191505090505b50905030815f815181106123e1576123e061369b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612485573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124a9919061309b565b816001815181106124bd576124bc61369b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506125233060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461180b565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161258595949392919061377f565b5f604051808303815f87803b15801561259c575f80fd5b505af11580156125ae573d5f803e3d5ffd5b50505050505f6015806101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612633573d5f803e3d5ffd5b5050565b5f808303612647575f90506126a8565b5f82846126549190612e69565b90508284826126639190613804565b146126a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161269a906138a4565b60405180910390fd5b809150505b92915050565b5f6126ef83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506127b5565b905092915050565b5f8183116127055782612707565b815b905092915050565b5f80828461271d91906134f1565b905083811015612762576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127599061390c565b60405180910390fd5b8091505092915050565b5f6127ad83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612304565b905092915050565b5f80831182906127fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127f291906128a0565b60405180910390fd5b505f83856128099190613804565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561284d578082015181840152602081019050612832565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61287282612816565b61287c8185612820565b935061288c818560208601612830565b61289581612858565b840191505092915050565b5f6020820190508181035f8301526128b88184612868565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6128ed826128c4565b9050919050565b6128fd816128e3565b8114612907575f80fd5b50565b5f81359050612918816128f4565b92915050565b5f819050919050565b6129308161291e565b811461293a575f80fd5b50565b5f8135905061294b81612927565b92915050565b5f8060408385031215612967576129666128c0565b5b5f6129748582860161290a565b92505060206129858582860161293d565b9150509250929050565b5f8115159050919050565b6129a38161298f565b82525050565b5f6020820190506129bc5f83018461299a565b92915050565b6129cb8161291e565b82525050565b5f6020820190506129e45f8301846129c2565b92915050565b5f805f60608486031215612a0157612a006128c0565b5b5f612a0e8682870161290a565b9350506020612a1f8682870161290a565b9250506040612a308682870161293d565b9150509250925092565b5f60ff82169050919050565b612a4f81612a3a565b82525050565b5f602082019050612a685f830184612a46565b92915050565b5f612a78826128c4565b9050919050565b612a8881612a6e565b8114612a92575f80fd5b50565b5f81359050612aa381612a7f565b92915050565b5f8060408385031215612abf57612abe6128c0565b5b5f612acc85828601612a95565b9250506020612add8582860161293d565b9150509250929050565b5f60208284031215612afc57612afb6128c0565b5b5f612b098482850161290a565b91505092915050565b612b1b816128e3565b82525050565b5f602082019050612b345f830184612b12565b92915050565b5f8060408385031215612b5057612b4f6128c0565b5b5f612b5d8582860161290a565b9250506020612b6e8582860161290a565b9150509250929050565b5f60208284031215612b8d57612b8c6128c0565b5b5f612b9a8482850161293d565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612be757607f821691505b602082108103612bfa57612bf9612ba3565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612c34602083612820565b9150612c3f82612c00565b602082019050919050565b5f6020820190508181035f830152612c6181612c28565b9050919050565b5f819050919050565b5f819050919050565b5f612c94612c8f612c8a84612c68565b612c71565b61291e565b9050919050565b612ca481612c7a565b82525050565b5f602082019050612cbd5f830184612c9b565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612d4557808604811115612d2157612d20612cc3565b5b6001851615612d305780820291505b8081029050612d3e85612cf0565b9450612d05565b94509492505050565b5f82612d5d5760019050612e18565b81612d6a575f9050612e18565b8160018114612d805760028114612d8a57612db9565b6001915050612e18565b60ff841115612d9c57612d9b612cc3565b5b8360020a915084821115612db357612db2612cc3565b5b50612e18565b5060208310610133831016604e8410600b8410161715612dee5782820a905083811115612de957612de8612cc3565b5b612e18565b612dfb8484846001612cfc565b92509050818404811115612e1257612e11612cc3565b5b81810290505b9392505050565b5f612e298261291e565b9150612e3483612a3a565b9250612e617fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612d4e565b905092915050565b5f612e738261291e565b9150612e7e8361291e565b9250828202612e8c8161291e565b91508282048414831517612ea357612ea2612cc3565b5b5092915050565b7f496e73756666696369656e74204554482062616c616e636500000000000000005f82015250565b5f612ede601883612820565b9150612ee982612eaa565b602082019050919050565b5f6020820190508181035f830152612f0b81612ed2565b9050919050565b5f81519050612f2081612927565b92915050565b5f60208284031215612f3b57612f3a6128c0565b5b5f612f4884828501612f12565b91505092915050565b5f612f6b612f66612f61846128c4565b612c71565b6128c4565b9050919050565b5f612f7c82612f51565b9050919050565b5f612f8d82612f72565b9050919050565b612f9d81612f83565b82525050565b5f604082019050612fb65f830185612f94565b612fc360208301846129c2565b9392505050565b612fd38161298f565b8114612fdd575f80fd5b50565b5f81519050612fee81612fca565b92915050565b5f60208284031215613009576130086128c0565b5b5f61301684828501612fe0565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f613053601783612820565b915061305e8261301f565b602082019050919050565b5f6020820190508181035f83015261308081613047565b9050919050565b5f81519050613095816128f4565b92915050565b5f602082840312156130b0576130af6128c0565b5b5f6130bd84828501613087565b91505092915050565b5f6040820190506130d95f830185612b12565b6130e66020830184612b12565b9392505050565b5f60c0820190506131005f830189612b12565b61310d60208301886129c2565b61311a6040830187612c9b565b6131276060830186612c9b565b6131346080830185612b12565b61314160a08301846129c2565b979650505050505050565b5f805f60608486031215613163576131626128c0565b5b5f61317086828701612f12565b935050602061318186828701612f12565b925050604061319286828701612f12565b9150509250925092565b5f6040820190506131af5f830185612b12565b6131bc60208301846129c2565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61321d602483612820565b9150613228826131c3565b604082019050919050565b5f6020820190508181035f83015261324a81613211565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6132ab602283612820565b91506132b682613251565b604082019050919050565b5f6020820190508181035f8301526132d88161329f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613339602583612820565b9150613344826132df565b604082019050919050565b5f6020820190508181035f8301526133668161332d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6133c7602383612820565b91506133d28261336d565b604082019050919050565b5f6020820190508181035f8301526133f4816133bb565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613455602983612820565b9150613460826133fb565b604082019050919050565b5f6020820190508181035f83015261348281613449565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6134bd601983612820565b91506134c882613489565b602082019050919050565b5f6020820190508181035f8301526134ea816134b1565b9050919050565b5f6134fb8261291e565b91506135068361291e565b925082820190508082111561351e5761351d612cc3565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613558601a83612820565b915061356382613524565b602082019050919050565b5f6020820190508181035f8301526135858161354c565b9050919050565b5f6135968261291e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036135c8576135c7612cc3565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f613607601783612820565b9150613612826135d3565b602082019050919050565b5f6020820190508181035f830152613634816135fb565b9050919050565b5f6136458261291e565b91506136508361291e565b925082820390508181111561366857613667612cc3565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6136fa816128e3565b82525050565b5f61370b83836136f1565b60208301905092915050565b5f602082019050919050565b5f61372d826136c8565b61373781856136d2565b9350613742836136e2565b805f5b838110156137725781516137598882613700565b975061376483613717565b925050600181019050613745565b5085935050505092915050565b5f60a0820190506137925f8301886129c2565b61379f6020830187612c9b565b81810360408301526137b18186613723565b90506137c06060830185612b12565b6137cd60808301846129c2565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61380e8261291e565b91506138198361291e565b925082613829576138286137d7565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61388e602183612820565b915061389982613834565b604082019050919050565b5f6020820190508181035f8301526138bb81613882565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6138f6601b83612820565b9150613901826138c2565b602082019050919050565b5f6020820190508181035f830152613923816138ea565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204e62e5a9e8152af110f997b5380f25ae5619fbdf27e9021397726e732696a05f64736f6c63430008170033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001c44756e67656f6e2046616d696c79206279204d61747420467572696500000000000000000000000000000000000000000000000000000000000000000000000744554e47454f4e00000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : tokenName (string): Dungeon Family by Matt Furie
Arg [1] : tokenSymbol (string): DUNGEON
-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 000000000000000000000000000000000000000000000000000000000000001c
Arg [3] : 44756e67656f6e2046616d696c79206279204d61747420467572696500000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000007
Arg [5] : 44554e47454f4e00000000000000000000000000000000000000000000000000
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.