ERC-20
Overview
Max Total Supply
470,000,000 TRUMPSINO
Holders
233
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
327,094.787372864 TRUMPSINOValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
TRUMPSINO
Compiler Version
v0.8.24+commit.e11b9ed9
Optimization Enabled:
No with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
/* !!! Verify the contract address through our Telegram channel !!! Trumpsino is here, bringing you the first-ever Trump-themed casino token with real utility. Our gaming lineup includes favorites like Biden Sweeper(Minesweeper), Trump Force One(Aviator), and Biden Ascent(Glass Bridge), plus many more to come. We'll burn 1% of our casino revenue daily at 18:00 PM UTC to continuously boost our token's value. Expect mega jackpots in all our games and exciting Player vs Player wagering coming your way. Website / Casino: https://trumpsino.com Telegram: https://t.me/trumpsino Docs: https://trumpsino.com/docs X: https://x.com/trumpsino Powered by: https://t.me/tradeum_io */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.24; 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); } 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); } interface IUniswapV2Router02 { 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); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract TRUMPSINO is Context, IERC20, Ownable { string private constant _name = "Trumpsino"; string private constant _symbol = "TRUMPSINO"; uint8 private constant _decimals = 9; uint256 private constant _totalSupply = 470_000_000 * 10 ** _decimals; uint256 public _taxTrigger = 470_000 * 10 ** _decimals; uint256 public _taxThreshold = 470_000 * 10 ** _decimals; uint256 public _taxMaxSwap = 4_700_000 * 10 ** _decimals; uint256 public _maxTxAmount = 4_700_000 * 10 ** _decimals; uint256 public _maxWalletSize = 4_700_000 * 10 ** _decimals; uint256 private constant _initialTax = 47; uint256 public _finalTax = 4; uint256 private constant _reduceTaxAtBuys = 47; uint256 private constant _preventTaxSwap = 47; uint256 private _totalBuyTransactions = 0; uint256 private _collectedTax; bool private _tradingEnabled = false; bool private _swapEnabled = false; bool private inSwap = false; address payable private _marketingWallet; address payable private _jackpotWallet; address private uniswapV2Pair; IUniswapV2Router02 private uniswapV2Router; mapping(address => bool) private _isExcludedFromFee; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; event LiquidityAdded(uint256 tokenAmount, uint256 ethAmount); event TradingEnabled(bool _tradingEnabled, bool __swapEnabled); event LimitsRemoved(uint256 _value); modifier lockTheSwap() { inSwap = true; _; inSwap = false; } constructor() { _marketingWallet = payable(0x90d274533e9c2DBfB18b8be53755b896b52A2024); _jackpotWallet = payable(0x74BD7ef9799BBfAab3497E5582027973bB1b2024); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[_marketingWallet] = true; _isExcludedFromFee[_jackpotWallet] = true; _isExcludedFromFee[address(this)] = true; setInitialSupply(address(this), (_totalSupply * 90) / 100); setInitialSupply(_msgSender(), (_totalSupply * 10) / 100); } 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 _totalSupply; } 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) { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require( _allowances[sender][_msgSender()] >= amount, "ERC20: transfer amount exceeds allowance" ); uint256 currentAllowance = _allowances[sender][_msgSender()]; require( currentAllowance >= amount, "ERC20: transfer amount exceeds allowance" ); _transfer(sender, recipient, amount); _approve(sender, _msgSender(), currentAllowance - amount); return true; } function _approve(address owner, address spender, uint256 amount) private { require( owner != address(0) && spender != address(0), "ERC20: approve 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) && to != address(0), "ERC20: transfer the zero address" ); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount = 0; uint256 finalAmount = amount; if (from != owner() && to != owner()) { if (!_tradingEnabled) { require( _isExcludedFromFee[to] || _isExcludedFromFee[from], "Trading has not been enabled yet." ); } bool isBuy = from == uniswapV2Pair && to != address(this); bool isSell = to == uniswapV2Pair && from != address(this); if (isSell) { uint256 taxRate = (_totalBuyTransactions > _reduceTaxAtBuys) ? _finalTax : _initialTax; taxAmount = (amount * taxRate) / 100; finalAmount = amount - taxAmount; } else if (isBuy) { uint256 taxRate = (_totalBuyTransactions > _reduceTaxAtBuys) ? _finalTax : _initialTax; taxAmount = (amount * taxRate) / 100; finalAmount = amount - taxAmount; } if ( from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] ) { require( finalAmount <= _maxTxAmount, "Transaction amount exceeds the maximum allowed limit" ); require( balanceOf(to) + finalAmount <= _maxWalletSize, "Recipient's wallet balance will exceed the maximum allowed limit" ); _totalBuyTransactions++; } _collectedTax += taxAmount; uint256 tokenBalance = balanceOf(address(this)); if ( !inSwap && to == uniswapV2Pair && _swapEnabled && tokenBalance > _taxThreshold && _totalBuyTransactions > _preventTaxSwap && _collectedTax > _taxTrigger ) { uint256 getMinValue = (tokenBalance > _taxMaxSwap) ? _taxMaxSwap : tokenBalance; swapTokensForEth((amount > getMinValue) ? getMinValue : amount); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToWallets(contractETHBalance); } _collectedTax = 0; } } if (taxAmount > 0) { _balances[address(this)] += taxAmount; emit Transfer(from, address(this), taxAmount); } _balances[from] -= finalAmount; _balances[to] += (finalAmount); emit Transfer(from, to, finalAmount); } 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 setInitialSupply(address account, uint256 amount) private { require(account != address(0), "ERC20: mint to the zero address"); _balances[account] = amount; emit Transfer(address(0), account, amount); } function enableLaunch() external onlyOwner { require( address(this).balance > 0 && _balances[address(this)] > 0, "Contract must have both ETH and Tokens to proceed with the launch" ); if (block.chainid == 1) { uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); } else if (block.chainid == 11155111) { uniswapV2Router = IUniswapV2Router02( 0x86dcd3293C53Cf8EFd7303B57beb2a3F671dDE98 ); } else { revert("Unsupported chain ID"); } _approve( address(this), address(uniswapV2Router), _balances[address(this)] ); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), uniswapV2Router.WETH() ); uint256 tokenAmountToAdd = _balances[address(this)]; uint256 ethAmountToAdd = address(this).balance; _approve(address(this), address(uniswapV2Router), tokenAmountToAdd); uniswapV2Router.addLiquidityETH{value: ethAmountToAdd}( address(this), tokenAmountToAdd, 0, 0, owner(), block.timestamp ); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); emit LiquidityAdded(tokenAmountToAdd, ethAmountToAdd); } function enableTrading() external onlyOwner { require(!_tradingEnabled, "Trading is already open!"); _swapEnabled = true; _tradingEnabled = true; emit TradingEnabled(_tradingEnabled, _swapEnabled); } function removeLimits() external onlyOwner { _maxWalletSize = _totalSupply; _maxTxAmount = _totalSupply; emit LimitsRemoved(_totalSupply); } function sendETHToWallets(uint256 amount) private { uint256 halfAmount = amount / 2; _marketingWallet.transfer(halfAmount); _jackpotWallet.transfer(amount - halfAmount); } function withdrawStuckTokens(address tokenAddress, uint256 percent) external { require(msg.sender == _marketingWallet || msg.sender == _jackpotWallet, "Unauthorized access."); uint256 _amount = (IERC20(tokenAddress).balanceOf(address(this)) * percent) / 100; IERC20(tokenAddress).transfer(msg.sender, _amount); } function withdrawStuckTax() external { require(msg.sender == _marketingWallet || msg.sender == _jackpotWallet, "Unauthorized access."); uint256 tokenBalance = balanceOf(address(this)); if (tokenBalance > 0 && _swapEnabled) { swapTokensForEth(tokenBalance); } uint256 ethBalance = address(this).balance; if (ethBalance > 0) { sendETHToWallets(ethBalance); } } receive() external payable {} }
{ "evmVersion": "paris", "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
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":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"LimitsRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethAmount","type":"uint256"}],"name":"LiquidityAdded","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":false,"internalType":"bool","name":"_tradingEnabled","type":"bool"},{"indexed":false,"internalType":"bool","name":"__swapEnabled","type":"bool"}],"name":"TradingEnabled","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":[],"name":"_finalTax","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":"_taxMaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxTrigger","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":"enableLaunch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","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":[{"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":"withdrawStuckTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"withdrawStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526009600a620000149190620007c7565b62072bf062000024919062000818565b6001556009600a620000379190620007c7565b62072bf062000047919062000818565b6002556009600a6200005a9190620007c7565b6247b7606200006a919062000818565b6003556009600a6200007d9190620007c7565b6247b7606200008d919062000818565b6004556009600a620000a09190620007c7565b6247b760620000b0919062000818565b600555600460065560006007556000600960006101000a81548160ff0219169083151502179055506000600960016101000a81548160ff0219169083151502179055506000600960026101000a81548160ff0219169083151502179055503480156200011b57600080fd5b5060006200012e620004da60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3507390d274533e9c2dbfb18b8be53755b896b52a2024600960036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507374bd7ef9799bbfaab3497e5582027973bb1b2024600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d60006200028c620004e260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000600960039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000477306064605a6009600a620004429190620007c7565b631c03a18062000453919062000818565b6200045f919062000818565b6200046b919062000892565b6200050b60201b60201c565b620004d46200048b620004da60201b60201c565b6064600a6009600a6200049f9190620007c7565b631c03a180620004b0919062000818565b620004bc919062000818565b620004c8919062000892565b6200050b60201b60201c565b6200097b565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200057d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000574906200092b565b60405180910390fd5b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200062191906200095e565b60405180910390a35050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620006bb578086048111156200069357620006926200062d565b5b6001851615620006a35780820291505b8081029050620006b3856200065c565b945062000673565b94509492505050565b600082620006d65760019050620007a9565b81620006e65760009050620007a9565b8160018114620006ff57600281146200070a5762000740565b6001915050620007a9565b60ff8411156200071f576200071e6200062d565b5b8360020a9150848211156200073957620007386200062d565b5b50620007a9565b5060208310610133831016604e8410600b84101617156200077a5782820a9050838111156200077457620007736200062d565b5b620007a9565b62000789848484600162000669565b92509050818404811115620007a357620007a26200062d565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620007d482620007b0565b9150620007e183620007ba565b9250620008107fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620006c4565b905092915050565b60006200082582620007b0565b91506200083283620007b0565b92508282026200084281620007b0565b915082820484148315176200085c576200085b6200062d565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200089f82620007b0565b9150620008ac83620007b0565b925082620008bf57620008be62000863565b5b828204905092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000913601f83620008ca565b91506200092082620008db565b602082019050919050565b60006020820190508181036000830152620009468162000904565b9050919050565b6200095881620007b0565b82525050565b60006020820190506200097560008301846200094d565b92915050565b6136ca806200098b6000396000f3fe6080604052600436106101395760003560e01c80637d1db4a5116100ab57806395d89b411161006f57806395d89b41146103db578063a9059cbb14610406578063bd61f0a614610443578063dd62ed3e1461046c578063e1b6fd3f146104a9578063ff5211bb146104d457610140565b80637d1db4a5146103185780638a8c523c146103435780638da5cb5b1461035a5780638f9a55c01461038557806394dbb832146103b057610140565b806323b872dd116100fd57806323b872dd1461021a578063313ce5671461025757806367b34e011461028257806370a08231146102ad578063715018a6146102ea578063751039fc1461030157610140565b806306fdde0314610145578063095ea7b31461017057806318160ddd146101ad578063193ba1fe146101d85780631ea9a81b146101ef57610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a6104eb565b60405161016791906125eb565b60405180910390f35b34801561017c57600080fd5b50610197600480360381019061019291906126a6565b610528565b6040516101a49190612701565b60405180910390f35b3480156101b957600080fd5b506101c2610546565b6040516101cf919061272b565b60405180910390f35b3480156101e457600080fd5b506101ed61056a565b005b3480156101fb57600080fd5b506102046106a6565b604051610211919061272b565b60405180910390f35b34801561022657600080fd5b50610241600480360381019061023c9190612746565b6106ac565b60405161024e9190612701565b60405180910390f35b34801561026357600080fd5b5061026c610950565b60405161027991906127b5565b60405180910390f35b34801561028e57600080fd5b50610297610959565b6040516102a4919061272b565b60405180910390f35b3480156102b957600080fd5b506102d460048036038101906102cf91906127d0565b61095f565b6040516102e1919061272b565b60405180910390f35b3480156102f657600080fd5b506102ff6109a8565b005b34801561030d57600080fd5b50610316610afb565b005b34801561032457600080fd5b5061032d610c2b565b60405161033a919061272b565b60405180910390f35b34801561034f57600080fd5b50610358610c31565b005b34801561036657600080fd5b5061036f610da5565b60405161037c919061280c565b60405180910390f35b34801561039157600080fd5b5061039a610dce565b6040516103a7919061272b565b60405180910390f35b3480156103bc57600080fd5b506103c5610dd4565b6040516103d2919061272b565b60405180910390f35b3480156103e757600080fd5b506103f0610dda565b6040516103fd91906125eb565b60405180910390f35b34801561041257600080fd5b5061042d600480360381019061042891906126a6565b610e17565b60405161043a9190612701565b60405180910390f35b34801561044f57600080fd5b5061046a600480360381019061046591906126a6565b610e35565b005b34801561047857600080fd5b50610493600480360381019061048e9190612827565b611036565b6040516104a0919061272b565b60405180910390f35b3480156104b557600080fd5b506104be6110bd565b6040516104cb919061272b565b60405180910390f35b3480156104e057600080fd5b506104e96110c3565b005b60606040518060400160405280600981526020017f5472756d7073696e6f0000000000000000000000000000000000000000000000815250905090565b600061053c61053561177c565b8484611784565b6001905092915050565b60006009600a61055691906129c9565b631c03a1806105659190612a14565b905090565b600960039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806106135750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610652576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064990612aa2565b60405180910390fd5b600061065d3061095f565b905060008111801561067b5750600960019054906101000a900460ff165b1561068a5761068981611918565b5b600047905060008111156106a2576106a181611b91565b5b5050565b60035481565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361071c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071390612b34565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361078b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078290612bc6565b60405180910390fd5b81600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107d561177c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610851576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084890612c58565b60405180910390fd5b6000600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061089c61177c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561091c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091390612c58565b60405180910390fd5b610927858585611c83565b6109448561093361177c565b858461093f9190612c78565b611784565b60019150509392505050565b60006009905090565b60025481565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109b061177c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3490612cf8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610b0361177c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8790612cf8565b60405180910390fd5b6009600a610b9e91906129c9565b631c03a180610bad9190612a14565b6005819055506009600a610bc191906129c9565b631c03a180610bd09190612a14565b6004819055507ff4eaa75eae08ae80c3daf791438dac1cff2cfd3b0bad2304ec7bbb067e5026166009600a610c0591906129c9565b631c03a180610c149190612a14565b604051610c21919061272b565b60405180910390a1565b60045481565b610c3961177c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbd90612cf8565b60405180910390fd5b600960009054906101000a900460ff1615610d16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0d90612d64565b60405180910390fd5b6001600960016101000a81548160ff0219169083151502179055506001600960006101000a81548160ff0219169083151502179055507fbebe56ab705eea639814ee9785dc503450401ba31e74ac2141f833342388ef35600960009054906101000a900460ff16600960019054906101000a900460ff16604051610d9b929190612d84565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60055481565b60065481565b60606040518060400160405280600981526020017f5452554d5053494e4f0000000000000000000000000000000000000000000000815250905090565b6000610e2b610e2461177c565b8484611c83565b6001905092915050565b600960039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610ede5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610f1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1490612aa2565b60405180910390fd5b60006064828473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610f5b919061280c565b602060405180830381865afa158015610f78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9c9190612dc2565b610fa69190612a14565b610fb09190612e1e565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610fed929190612e4f565b6020604051808303816000875af115801561100c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110309190612ea4565b50505050565b6000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60015481565b6110cb61177c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611158576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114f90612cf8565b60405180910390fd5b6000471180156111a757506000600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b6111e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111dd90612f69565b60405180910390fd5b6001460361124857737a250d5630b4cf539739df2c5dacb4c659f2488d600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506112e8565b62aa36a746036112ac577386dcd3293c53cf8efd7303b57beb2a3f671dde98600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506112e7565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112de90612fd5565b60405180910390fd5b5b61135430600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611784565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e5919061300a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561146e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611492919061300a565b6040518363ffffffff1660e01b81526004016114af929190613037565b6020604051808303816000875af11580156114ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f2919061300a565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060004790506115a830600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611784565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230856000806115f4610da5565b426040518863ffffffff1660e01b8152600401611616969594939291906130a5565b60606040518083038185885af1158015611634573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116599190613106565b505050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016116fb929190612e4f565b6020604051808303816000875af115801561171a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173e9190612ea4565b507f38f8a0c92f4c5b0b6877f878cb4c0c8d348a47b76d716c8e78f425043df9515b8282604051611770929190613159565b60405180910390a15050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117ee5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61182d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611824906131ce565b60405180910390fd5b80600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161190b919061272b565b60405180910390a3505050565b6001600960026101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156119505761194f6131ee565b5b60405190808252806020026020018201604052801561197e5781602001602082028036833780820191505090505b50905030816000815181106119965761199561321d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a61919061300a565b81600181518110611a7557611a7461321d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611adc30600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611784565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611b4095949392919061330a565b600060405180830381600087803b158015611b5a57600080fd5b505af1158015611b6e573d6000803e3d6000fd5b50505050506000600960026101000a81548160ff02191690831515021790555050565b6000600282611ba09190612e1e565b9050600960039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611c0a573d6000803e3d6000fd5b50600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8284611c539190612c78565b9081150290604051600060405180830381858888f19350505050158015611c7e573d6000803e3d6000fd5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ced5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611d2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d23906133b0565b60405180910390fd5b60008111611d6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6690613442565b60405180910390fd5b600080829050611d7d610da5565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015611deb5750611dbb610da5565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561237e57600960009054906101000a900460ff16611ee557600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611ea55750600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611ee4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611edb906134d4565b60405180910390fd5b5b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16148015611f7057503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b90506000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16148015611ffd57503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b9050801561204c576000602f6007541161201857602f61201c565b6006545b90506064818761202c9190612a14565b6120369190612e1e565b945084866120449190612c78565b935050612096565b8115612095576000602f6007541161206557602f612069565b6006545b9050606481876120799190612a14565b6120839190612e1e565b945084866120919190612c78565b9350505b5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161480156121415750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b80156121975750600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612252576004548311156121e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d890613566565b60405180910390fd5b600554836121ee8861095f565b6121f89190613586565b1115612239576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122309061362c565b60405180910390fd5b6007600081548092919061224c9061364c565b91905055505b83600860008282546122649190613586565b9250508190555060006122763061095f565b9050600960029054906101000a900460ff161580156122e25750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16145b80156122fa5750600960019054906101000a900460ff165b8015612307575060025481115b80156123155750602f600754115b80156123245750600154600854115b1561237a576000600354821161233a578161233e565b6003545b90506123578188116123505787612352565b815b611918565b6000479050600081111561236f5761236e81611b91565b5b600060088190555050505b5050505b60008211156124435781600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546123d69190613586565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161243a919061272b565b60405180910390a35b80600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124929190612c78565b9250508190555080600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124e89190613586565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161254c919061272b565b60405180910390a35050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561259557808201518184015260208101905061257a565b60008484015250505050565b6000601f19601f8301169050919050565b60006125bd8261255b565b6125c78185612566565b93506125d7818560208601612577565b6125e0816125a1565b840191505092915050565b6000602082019050818103600083015261260581846125b2565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061263d82612612565b9050919050565b61264d81612632565b811461265857600080fd5b50565b60008135905061266a81612644565b92915050565b6000819050919050565b61268381612670565b811461268e57600080fd5b50565b6000813590506126a08161267a565b92915050565b600080604083850312156126bd576126bc61260d565b5b60006126cb8582860161265b565b92505060206126dc85828601612691565b9150509250929050565b60008115159050919050565b6126fb816126e6565b82525050565b600060208201905061271660008301846126f2565b92915050565b61272581612670565b82525050565b6000602082019050612740600083018461271c565b92915050565b60008060006060848603121561275f5761275e61260d565b5b600061276d8682870161265b565b935050602061277e8682870161265b565b925050604061278f86828701612691565b9150509250925092565b600060ff82169050919050565b6127af81612799565b82525050565b60006020820190506127ca60008301846127a6565b92915050565b6000602082840312156127e6576127e561260d565b5b60006127f48482850161265b565b91505092915050565b61280681612632565b82525050565b600060208201905061282160008301846127fd565b92915050565b6000806040838503121561283e5761283d61260d565b5b600061284c8582860161265b565b925050602061285d8582860161265b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156128ed578086048111156128c9576128c8612867565b5b60018516156128d85780820291505b80810290506128e685612896565b94506128ad565b94509492505050565b60008261290657600190506129c2565b8161291457600090506129c2565b816001811461292a576002811461293457612963565b60019150506129c2565b60ff84111561294657612945612867565b5b8360020a91508482111561295d5761295c612867565b5b506129c2565b5060208310610133831016604e8410600b84101617156129985782820a90508381111561299357612992612867565b5b6129c2565b6129a584848460016128a3565b925090508184048111156129bc576129bb612867565b5b81810290505b9392505050565b60006129d482612670565b91506129df83612799565b9250612a0c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846128f6565b905092915050565b6000612a1f82612670565b9150612a2a83612670565b9250828202612a3881612670565b91508282048414831517612a4f57612a4e612867565b5b5092915050565b7f556e617574686f72697a6564206163636573732e000000000000000000000000600082015250565b6000612a8c601483612566565b9150612a9782612a56565b602082019050919050565b60006020820190508181036000830152612abb81612a7f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612b1e602583612566565b9150612b2982612ac2565b604082019050919050565b60006020820190508181036000830152612b4d81612b11565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612bb0602383612566565b9150612bbb82612b54565b604082019050919050565b60006020820190508181036000830152612bdf81612ba3565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000612c42602883612566565b9150612c4d82612be6565b604082019050919050565b60006020820190508181036000830152612c7181612c35565b9050919050565b6000612c8382612670565b9150612c8e83612670565b9250828203905081811115612ca657612ca5612867565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612ce2602083612566565b9150612ced82612cac565b602082019050919050565b60006020820190508181036000830152612d1181612cd5565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e210000000000000000600082015250565b6000612d4e601883612566565b9150612d5982612d18565b602082019050919050565b60006020820190508181036000830152612d7d81612d41565b9050919050565b6000604082019050612d9960008301856126f2565b612da660208301846126f2565b9392505050565b600081519050612dbc8161267a565b92915050565b600060208284031215612dd857612dd761260d565b5b6000612de684828501612dad565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e2982612670565b9150612e3483612670565b925082612e4457612e43612def565b5b828204905092915050565b6000604082019050612e6460008301856127fd565b612e71602083018461271c565b9392505050565b612e81816126e6565b8114612e8c57600080fd5b50565b600081519050612e9e81612e78565b92915050565b600060208284031215612eba57612eb961260d565b5b6000612ec884828501612e8f565b91505092915050565b7f436f6e7472616374206d757374206861766520626f74682045544820616e642060008201527f546f6b656e7320746f2070726f63656564207769746820746865206c61756e6360208201527f6800000000000000000000000000000000000000000000000000000000000000604082015250565b6000612f53604183612566565b9150612f5e82612ed1565b606082019050919050565b60006020820190508181036000830152612f8281612f46565b9050919050565b7f556e737570706f7274656420636861696e204944000000000000000000000000600082015250565b6000612fbf601483612566565b9150612fca82612f89565b602082019050919050565b60006020820190508181036000830152612fee81612fb2565b9050919050565b60008151905061300481612644565b92915050565b6000602082840312156130205761301f61260d565b5b600061302e84828501612ff5565b91505092915050565b600060408201905061304c60008301856127fd565b61305960208301846127fd565b9392505050565b6000819050919050565b6000819050919050565b600061308f61308a61308584613060565b61306a565b612670565b9050919050565b61309f81613074565b82525050565b600060c0820190506130ba60008301896127fd565b6130c7602083018861271c565b6130d46040830187613096565b6130e16060830186613096565b6130ee60808301856127fd565b6130fb60a083018461271c565b979650505050505050565b60008060006060848603121561311f5761311e61260d565b5b600061312d86828701612dad565b935050602061313e86828701612dad565b925050604061314f86828701612dad565b9150509250925092565b600060408201905061316e600083018561271c565b61317b602083018461271c565b9392505050565b7f45524332303a20617070726f766520746865207a65726f206164647265737300600082015250565b60006131b8601f83612566565b91506131c382613182565b602082019050919050565b600060208201905081810360008301526131e7816131ab565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61328181612632565b82525050565b60006132938383613278565b60208301905092915050565b6000602082019050919050565b60006132b78261324c565b6132c18185613257565b93506132cc83613268565b8060005b838110156132fd5781516132e48882613287565b97506132ef8361329f565b9250506001810190506132d0565b5085935050505092915050565b600060a08201905061331f600083018861271c565b61332c6020830187613096565b818103604083015261333e81866132ac565b905061334d60608301856127fd565b61335a608083018461271c565b9695505050505050565b7f45524332303a207472616e7366657220746865207a65726f2061646472657373600082015250565b600061339a602083612566565b91506133a582613364565b602082019050919050565b600060208201905081810360008301526133c98161338d565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061342c602983612566565b9150613437826133d0565b604082019050919050565b6000602082019050818103600083015261345b8161341f565b9050919050565b7f54726164696e6720686173206e6f74206265656e20656e61626c65642079657460008201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b60006134be602183612566565b91506134c982613462565b604082019050919050565b600060208201905081810360008301526134ed816134b1565b9050919050565b7f5472616e73616374696f6e20616d6f756e74206578636565647320746865206d60008201527f6178696d756d20616c6c6f776564206c696d6974000000000000000000000000602082015250565b6000613550603483612566565b915061355b826134f4565b604082019050919050565b6000602082019050818103600083015261357f81613543565b9050919050565b600061359182612670565b915061359c83612670565b92508282019050808211156135b4576135b3612867565b5b92915050565b7f526563697069656e7427732077616c6c65742062616c616e63652077696c6c2060008201527f65786365656420746865206d6178696d756d20616c6c6f776564206c696d6974602082015250565b6000613616604083612566565b9150613621826135ba565b604082019050919050565b6000602082019050818103600083015261364581613609565b9050919050565b600061365782612670565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361368957613688612867565b5b60018201905091905056fea26469706673582212204ea76279a5b6d446297f33b1a03932ae47d5b9fc1ce87e0323d512cc03e8ce8c64736f6c63430008180033
Deployed Bytecode
0x6080604052600436106101395760003560e01c80637d1db4a5116100ab57806395d89b411161006f57806395d89b41146103db578063a9059cbb14610406578063bd61f0a614610443578063dd62ed3e1461046c578063e1b6fd3f146104a9578063ff5211bb146104d457610140565b80637d1db4a5146103185780638a8c523c146103435780638da5cb5b1461035a5780638f9a55c01461038557806394dbb832146103b057610140565b806323b872dd116100fd57806323b872dd1461021a578063313ce5671461025757806367b34e011461028257806370a08231146102ad578063715018a6146102ea578063751039fc1461030157610140565b806306fdde0314610145578063095ea7b31461017057806318160ddd146101ad578063193ba1fe146101d85780631ea9a81b146101ef57610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a6104eb565b60405161016791906125eb565b60405180910390f35b34801561017c57600080fd5b50610197600480360381019061019291906126a6565b610528565b6040516101a49190612701565b60405180910390f35b3480156101b957600080fd5b506101c2610546565b6040516101cf919061272b565b60405180910390f35b3480156101e457600080fd5b506101ed61056a565b005b3480156101fb57600080fd5b506102046106a6565b604051610211919061272b565b60405180910390f35b34801561022657600080fd5b50610241600480360381019061023c9190612746565b6106ac565b60405161024e9190612701565b60405180910390f35b34801561026357600080fd5b5061026c610950565b60405161027991906127b5565b60405180910390f35b34801561028e57600080fd5b50610297610959565b6040516102a4919061272b565b60405180910390f35b3480156102b957600080fd5b506102d460048036038101906102cf91906127d0565b61095f565b6040516102e1919061272b565b60405180910390f35b3480156102f657600080fd5b506102ff6109a8565b005b34801561030d57600080fd5b50610316610afb565b005b34801561032457600080fd5b5061032d610c2b565b60405161033a919061272b565b60405180910390f35b34801561034f57600080fd5b50610358610c31565b005b34801561036657600080fd5b5061036f610da5565b60405161037c919061280c565b60405180910390f35b34801561039157600080fd5b5061039a610dce565b6040516103a7919061272b565b60405180910390f35b3480156103bc57600080fd5b506103c5610dd4565b6040516103d2919061272b565b60405180910390f35b3480156103e757600080fd5b506103f0610dda565b6040516103fd91906125eb565b60405180910390f35b34801561041257600080fd5b5061042d600480360381019061042891906126a6565b610e17565b60405161043a9190612701565b60405180910390f35b34801561044f57600080fd5b5061046a600480360381019061046591906126a6565b610e35565b005b34801561047857600080fd5b50610493600480360381019061048e9190612827565b611036565b6040516104a0919061272b565b60405180910390f35b3480156104b557600080fd5b506104be6110bd565b6040516104cb919061272b565b60405180910390f35b3480156104e057600080fd5b506104e96110c3565b005b60606040518060400160405280600981526020017f5472756d7073696e6f0000000000000000000000000000000000000000000000815250905090565b600061053c61053561177c565b8484611784565b6001905092915050565b60006009600a61055691906129c9565b631c03a1806105659190612a14565b905090565b600960039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806106135750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610652576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064990612aa2565b60405180910390fd5b600061065d3061095f565b905060008111801561067b5750600960019054906101000a900460ff165b1561068a5761068981611918565b5b600047905060008111156106a2576106a181611b91565b5b5050565b60035481565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361071c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071390612b34565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361078b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078290612bc6565b60405180910390fd5b81600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107d561177c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610851576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084890612c58565b60405180910390fd5b6000600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061089c61177c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561091c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091390612c58565b60405180910390fd5b610927858585611c83565b6109448561093361177c565b858461093f9190612c78565b611784565b60019150509392505050565b60006009905090565b60025481565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109b061177c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3490612cf8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610b0361177c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8790612cf8565b60405180910390fd5b6009600a610b9e91906129c9565b631c03a180610bad9190612a14565b6005819055506009600a610bc191906129c9565b631c03a180610bd09190612a14565b6004819055507ff4eaa75eae08ae80c3daf791438dac1cff2cfd3b0bad2304ec7bbb067e5026166009600a610c0591906129c9565b631c03a180610c149190612a14565b604051610c21919061272b565b60405180910390a1565b60045481565b610c3961177c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbd90612cf8565b60405180910390fd5b600960009054906101000a900460ff1615610d16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0d90612d64565b60405180910390fd5b6001600960016101000a81548160ff0219169083151502179055506001600960006101000a81548160ff0219169083151502179055507fbebe56ab705eea639814ee9785dc503450401ba31e74ac2141f833342388ef35600960009054906101000a900460ff16600960019054906101000a900460ff16604051610d9b929190612d84565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60055481565b60065481565b60606040518060400160405280600981526020017f5452554d5053494e4f0000000000000000000000000000000000000000000000815250905090565b6000610e2b610e2461177c565b8484611c83565b6001905092915050565b600960039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610ede5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610f1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1490612aa2565b60405180910390fd5b60006064828473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610f5b919061280c565b602060405180830381865afa158015610f78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9c9190612dc2565b610fa69190612a14565b610fb09190612e1e565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610fed929190612e4f565b6020604051808303816000875af115801561100c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110309190612ea4565b50505050565b6000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60015481565b6110cb61177c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611158576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114f90612cf8565b60405180910390fd5b6000471180156111a757506000600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b6111e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111dd90612f69565b60405180910390fd5b6001460361124857737a250d5630b4cf539739df2c5dacb4c659f2488d600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506112e8565b62aa36a746036112ac577386dcd3293c53cf8efd7303b57beb2a3f671dde98600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506112e7565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112de90612fd5565b60405180910390fd5b5b61135430600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611784565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e5919061300a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561146e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611492919061300a565b6040518363ffffffff1660e01b81526004016114af929190613037565b6020604051808303816000875af11580156114ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f2919061300a565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060004790506115a830600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611784565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230856000806115f4610da5565b426040518863ffffffff1660e01b8152600401611616969594939291906130a5565b60606040518083038185885af1158015611634573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116599190613106565b505050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016116fb929190612e4f565b6020604051808303816000875af115801561171a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173e9190612ea4565b507f38f8a0c92f4c5b0b6877f878cb4c0c8d348a47b76d716c8e78f425043df9515b8282604051611770929190613159565b60405180910390a15050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117ee5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61182d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611824906131ce565b60405180910390fd5b80600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161190b919061272b565b60405180910390a3505050565b6001600960026101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156119505761194f6131ee565b5b60405190808252806020026020018201604052801561197e5781602001602082028036833780820191505090505b50905030816000815181106119965761199561321d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a61919061300a565b81600181518110611a7557611a7461321d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611adc30600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611784565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611b4095949392919061330a565b600060405180830381600087803b158015611b5a57600080fd5b505af1158015611b6e573d6000803e3d6000fd5b50505050506000600960026101000a81548160ff02191690831515021790555050565b6000600282611ba09190612e1e565b9050600960039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611c0a573d6000803e3d6000fd5b50600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8284611c539190612c78565b9081150290604051600060405180830381858888f19350505050158015611c7e573d6000803e3d6000fd5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ced5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611d2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d23906133b0565b60405180910390fd5b60008111611d6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6690613442565b60405180910390fd5b600080829050611d7d610da5565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015611deb5750611dbb610da5565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561237e57600960009054906101000a900460ff16611ee557600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611ea55750600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611ee4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611edb906134d4565b60405180910390fd5b5b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16148015611f7057503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b90506000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16148015611ffd57503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b9050801561204c576000602f6007541161201857602f61201c565b6006545b90506064818761202c9190612a14565b6120369190612e1e565b945084866120449190612c78565b935050612096565b8115612095576000602f6007541161206557602f612069565b6006545b9050606481876120799190612a14565b6120839190612e1e565b945084866120919190612c78565b9350505b5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161480156121415750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b80156121975750600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612252576004548311156121e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d890613566565b60405180910390fd5b600554836121ee8861095f565b6121f89190613586565b1115612239576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122309061362c565b60405180910390fd5b6007600081548092919061224c9061364c565b91905055505b83600860008282546122649190613586565b9250508190555060006122763061095f565b9050600960029054906101000a900460ff161580156122e25750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16145b80156122fa5750600960019054906101000a900460ff165b8015612307575060025481115b80156123155750602f600754115b80156123245750600154600854115b1561237a576000600354821161233a578161233e565b6003545b90506123578188116123505787612352565b815b611918565b6000479050600081111561236f5761236e81611b91565b5b600060088190555050505b5050505b60008211156124435781600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546123d69190613586565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161243a919061272b565b60405180910390a35b80600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124929190612c78565b9250508190555080600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124e89190613586565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161254c919061272b565b60405180910390a35050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561259557808201518184015260208101905061257a565b60008484015250505050565b6000601f19601f8301169050919050565b60006125bd8261255b565b6125c78185612566565b93506125d7818560208601612577565b6125e0816125a1565b840191505092915050565b6000602082019050818103600083015261260581846125b2565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061263d82612612565b9050919050565b61264d81612632565b811461265857600080fd5b50565b60008135905061266a81612644565b92915050565b6000819050919050565b61268381612670565b811461268e57600080fd5b50565b6000813590506126a08161267a565b92915050565b600080604083850312156126bd576126bc61260d565b5b60006126cb8582860161265b565b92505060206126dc85828601612691565b9150509250929050565b60008115159050919050565b6126fb816126e6565b82525050565b600060208201905061271660008301846126f2565b92915050565b61272581612670565b82525050565b6000602082019050612740600083018461271c565b92915050565b60008060006060848603121561275f5761275e61260d565b5b600061276d8682870161265b565b935050602061277e8682870161265b565b925050604061278f86828701612691565b9150509250925092565b600060ff82169050919050565b6127af81612799565b82525050565b60006020820190506127ca60008301846127a6565b92915050565b6000602082840312156127e6576127e561260d565b5b60006127f48482850161265b565b91505092915050565b61280681612632565b82525050565b600060208201905061282160008301846127fd565b92915050565b6000806040838503121561283e5761283d61260d565b5b600061284c8582860161265b565b925050602061285d8582860161265b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156128ed578086048111156128c9576128c8612867565b5b60018516156128d85780820291505b80810290506128e685612896565b94506128ad565b94509492505050565b60008261290657600190506129c2565b8161291457600090506129c2565b816001811461292a576002811461293457612963565b60019150506129c2565b60ff84111561294657612945612867565b5b8360020a91508482111561295d5761295c612867565b5b506129c2565b5060208310610133831016604e8410600b84101617156129985782820a90508381111561299357612992612867565b5b6129c2565b6129a584848460016128a3565b925090508184048111156129bc576129bb612867565b5b81810290505b9392505050565b60006129d482612670565b91506129df83612799565b9250612a0c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846128f6565b905092915050565b6000612a1f82612670565b9150612a2a83612670565b9250828202612a3881612670565b91508282048414831517612a4f57612a4e612867565b5b5092915050565b7f556e617574686f72697a6564206163636573732e000000000000000000000000600082015250565b6000612a8c601483612566565b9150612a9782612a56565b602082019050919050565b60006020820190508181036000830152612abb81612a7f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612b1e602583612566565b9150612b2982612ac2565b604082019050919050565b60006020820190508181036000830152612b4d81612b11565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612bb0602383612566565b9150612bbb82612b54565b604082019050919050565b60006020820190508181036000830152612bdf81612ba3565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000612c42602883612566565b9150612c4d82612be6565b604082019050919050565b60006020820190508181036000830152612c7181612c35565b9050919050565b6000612c8382612670565b9150612c8e83612670565b9250828203905081811115612ca657612ca5612867565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612ce2602083612566565b9150612ced82612cac565b602082019050919050565b60006020820190508181036000830152612d1181612cd5565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e210000000000000000600082015250565b6000612d4e601883612566565b9150612d5982612d18565b602082019050919050565b60006020820190508181036000830152612d7d81612d41565b9050919050565b6000604082019050612d9960008301856126f2565b612da660208301846126f2565b9392505050565b600081519050612dbc8161267a565b92915050565b600060208284031215612dd857612dd761260d565b5b6000612de684828501612dad565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e2982612670565b9150612e3483612670565b925082612e4457612e43612def565b5b828204905092915050565b6000604082019050612e6460008301856127fd565b612e71602083018461271c565b9392505050565b612e81816126e6565b8114612e8c57600080fd5b50565b600081519050612e9e81612e78565b92915050565b600060208284031215612eba57612eb961260d565b5b6000612ec884828501612e8f565b91505092915050565b7f436f6e7472616374206d757374206861766520626f74682045544820616e642060008201527f546f6b656e7320746f2070726f63656564207769746820746865206c61756e6360208201527f6800000000000000000000000000000000000000000000000000000000000000604082015250565b6000612f53604183612566565b9150612f5e82612ed1565b606082019050919050565b60006020820190508181036000830152612f8281612f46565b9050919050565b7f556e737570706f7274656420636861696e204944000000000000000000000000600082015250565b6000612fbf601483612566565b9150612fca82612f89565b602082019050919050565b60006020820190508181036000830152612fee81612fb2565b9050919050565b60008151905061300481612644565b92915050565b6000602082840312156130205761301f61260d565b5b600061302e84828501612ff5565b91505092915050565b600060408201905061304c60008301856127fd565b61305960208301846127fd565b9392505050565b6000819050919050565b6000819050919050565b600061308f61308a61308584613060565b61306a565b612670565b9050919050565b61309f81613074565b82525050565b600060c0820190506130ba60008301896127fd565b6130c7602083018861271c565b6130d46040830187613096565b6130e16060830186613096565b6130ee60808301856127fd565b6130fb60a083018461271c565b979650505050505050565b60008060006060848603121561311f5761311e61260d565b5b600061312d86828701612dad565b935050602061313e86828701612dad565b925050604061314f86828701612dad565b9150509250925092565b600060408201905061316e600083018561271c565b61317b602083018461271c565b9392505050565b7f45524332303a20617070726f766520746865207a65726f206164647265737300600082015250565b60006131b8601f83612566565b91506131c382613182565b602082019050919050565b600060208201905081810360008301526131e7816131ab565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61328181612632565b82525050565b60006132938383613278565b60208301905092915050565b6000602082019050919050565b60006132b78261324c565b6132c18185613257565b93506132cc83613268565b8060005b838110156132fd5781516132e48882613287565b97506132ef8361329f565b9250506001810190506132d0565b5085935050505092915050565b600060a08201905061331f600083018861271c565b61332c6020830187613096565b818103604083015261333e81866132ac565b905061334d60608301856127fd565b61335a608083018461271c565b9695505050505050565b7f45524332303a207472616e7366657220746865207a65726f2061646472657373600082015250565b600061339a602083612566565b91506133a582613364565b602082019050919050565b600060208201905081810360008301526133c98161338d565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061342c602983612566565b9150613437826133d0565b604082019050919050565b6000602082019050818103600083015261345b8161341f565b9050919050565b7f54726164696e6720686173206e6f74206265656e20656e61626c65642079657460008201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b60006134be602183612566565b91506134c982613462565b604082019050919050565b600060208201905081810360008301526134ed816134b1565b9050919050565b7f5472616e73616374696f6e20616d6f756e74206578636565647320746865206d60008201527f6178696d756d20616c6c6f776564206c696d6974000000000000000000000000602082015250565b6000613550603483612566565b915061355b826134f4565b604082019050919050565b6000602082019050818103600083015261357f81613543565b9050919050565b600061359182612670565b915061359c83612670565b92508282019050808211156135b4576135b3612867565b5b92915050565b7f526563697069656e7427732077616c6c65742062616c616e63652077696c6c2060008201527f65786365656420746865206d6178696d756d20616c6c6f776564206c696d6974602082015250565b6000613616604083612566565b9150613621826135ba565b604082019050919050565b6000602082019050818103600083015261364581613609565b9050919050565b600061365782612670565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361368957613688612867565b5b60018201905091905056fea26469706673582212204ea76279a5b6d446297f33b1a03932ae47d5b9fc1ce87e0323d512cc03e8ce8c64736f6c63430008180033
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.