ERC-20
Overview
Max Total Supply
100,000,000 SKY
Holders
1,056
Market
Price
$0.00 @ 0.000000 ETH
Onchain Market Cap
$59,230.00
Circulating Supply Market Cap
$0.00
Other Info
Token Contract (WITH 18 Decimals)
Balance
1,012.861609447826835503 SKYValue
$0.60 ( ~0.000180416593900543 Eth) [0.0010%]Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
SKY
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)
// SPDX-License-Identifier: MIT /* # Sky Raiders Enter a world transformed by a cosmic event, where the past of humankind is a distant story. The 2040 meteor impact birthed a world of clouds and floating islands. This marks the dawn of the Skyward Isles, a place where the sky is the ultimate adventure. You, a Sky Raider, crash back to Earth in 3169, surviving against all odds to find yourself on a deserted outpost, accompanied by a jet-pack. Your journey in the celestial realms begins here. But remember, the vast sky is just the beginning of what lies beyond. # Craft, Combat, Conquer Begin your adventure in a massive open-world, third-person universe, where creativity meets adventure. From a simple outpost, build your stronghold by crafting, looting, and building. Navigate through mysterious skies—either solo or with friends—engaging foes in both PvP and PvE zones. Participate in events and tournaments for rewards or become a seasoned merchant by trading on the marketplace, where you can buy or sell items with $SKY tokens between other players. # Links Play Online: https://skyraiders.app Docs: https://docs.skyraiders.app Telegram: https://t.me/skyraiders_game YouTube: https://www.youtube.com/@skyraiders_game X: https://x.com/skyraiders_game */ 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 swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity); } interface IArbitrumBridge { function bridgeTokens(uint256 amount) external; function unbridgeTokens(address recipient, uint256 amount) external; function setL2ContractAddress(address _l2ContractAddress) external; } contract SKY is Context, IERC20, Ownable, IArbitrumBridge { string private constant _name = "Sky Raiders"; string private constant _symbol = "SKY"; uint8 private constant _decimals = 18; uint256 private constant _totalSupply = 100_000_000 * 10 ** _decimals; uint256 public _maxTransactionAmount = 800_000 * 10 ** _decimals; uint256 public _maxWalletSize = 800_000 * 10 ** _decimals; uint256 public _taxTrigger = 100_000 * 10 ** _decimals; uint256 public _taxThreshold = 100_000 * 10 ** _decimals; uint256 public _taxMaxSwap = 1_000_000 * 10 ** _decimals; uint256 private constant _initialBuyTax = 40; uint256 private constant _initialSellTax = 40; uint256 private constant _reduceTaxAtBuys = 40; uint256 private _totalBuyTransactions = 0; uint256 public _buyTax = 5; uint256 public _sellTax = 5; uint256 private _accumulatedTax; uint256 private constant _preventTaxSwapBefore = 40; bool private didLaunch = false; bool private tradingEnabled = false; bool private swapEnabled = false; bool private inSwap = false; bool public liquifyEnabled = false; address payable private _marketingWallet; address payable private _gameWallet; address payable private _deployerWallet; mapping(address => bool) private _isExcludedFromFee; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; address private uniswapV2Pair; IUniswapV2Router02 private uniswapV2Router; event LaunchExecuted(uint256 tokenAmount, uint256 ethAmount, uint256 timestamp); event TradingEnabled(bool _tradingEnabled, bool _swapEnabled); event LimitsLifted(uint256 _value); event LiquidityAdded(uint256 tokenAmount, uint256 ethAmount); event SetTax(uint256 _valueBuy, uint256 _valueSell); event SetTaxParameters(uint256 taxTrigger, uint256 taxThreshold); modifier lockTheSwap() { inSwap = true; _; inSwap = false; } /** * @dev Bridges tokens from L1 to L2 for Sky Raiders, boosting transaction speed and reducing costs. * This supports our move towards a partly decentralized Sky Raiders universe where players can own, * trade, or sell their game assets like characters, crafted items and skins on the blockchain. Designed for quick * and cheap in-game actions, it’s ideal for managing assets in Sky Raiders' marketplace. */ address private l2ContractAddress; mapping(address => uint256) private _bridgedTokens; event L2AddressSet(address indexed l2ContractAddress); event TokensBridged(address indexed user, uint256 amount); event TokensUnbridged(address indexed recipient, uint256 amount); function setL2ContractAddress( address _l2ContractAddress ) external onlyOwner { require(_l2ContractAddress != address(0), "Invalid contract address"); l2ContractAddress = _l2ContractAddress; emit L2AddressSet(_l2ContractAddress); } function bridgeTokens(uint256 amount) external { require( amount <= _balances[msg.sender], "Insufficient balance to bridge" ); _bridgedTokens[msg.sender] += amount; _balances[msg.sender] -= amount; emit TokensBridged(msg.sender, amount); } function unbridgeTokens( address recipient, uint256 amount ) external onlyOwner lockTheSwap { require( _bridgedTokens[recipient] >= amount, "Unlock amount exceeds bridged balance" ); _transfer(address(this), recipient, amount); _bridgedTokens[recipient] -= amount; emit TokensUnbridged(recipient, amount); } constructor() { _marketingWallet = payable(0x4ac258D5e923bCA959eAa9D75725260d9C368F85); _gameWallet = payable(0x4af267D55a676024A7d4A967dF153cfE62Da600a); _deployerWallet = payable(0x3B311AA18C7ECBcA957f36cA018b8a4B407E5B55); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[_marketingWallet] = true; _isExcludedFromFee[_gameWallet] = true; _isExcludedFromFee[_deployerWallet] = true; _isExcludedFromFee[address(this)] = true; setInitialSupply(address(this), (_totalSupply * 80) / 100); setInitialSupply(_msgSender(), (_totalSupply * 20) / 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) ? _sellTax : _initialSellTax; taxAmount = (amount * taxRate) / 100; finalAmount = amount - taxAmount; } else if (isBuy) { uint256 taxRate = (_totalBuyTransactions > _reduceTaxAtBuys) ? _buyTax : _initialBuyTax; taxAmount = (amount * taxRate) / 100; finalAmount = amount - taxAmount; } if ( from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] ) { require( finalAmount <= _maxTransactionAmount, "Transaction amount exceeds the maximum allowed limit" ); require( balanceOf(to) + finalAmount <= _maxWalletSize, "Recipient's wallet balance will exceed the maximum allowed limit" ); _totalBuyTransactions++; } _accumulatedTax += taxAmount; uint256 tokenBalance = balanceOf(address(this)); if ( !inSwap && to == uniswapV2Pair && swapEnabled && tokenBalance > _taxThreshold && _totalBuyTransactions > _preventTaxSwapBefore && _accumulatedTax > _taxTrigger ) { uint256 getMinValue = (tokenBalance > _taxMaxSwap) ? _taxMaxSwap : tokenBalance; swapTokensForEth((amount > getMinValue) ? getMinValue : amount); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { distributeFees(contractETHBalance); } _accumulatedTax = 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 addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, 0, owner(), block.timestamp ); emit LiquidityAdded(tokenAmount, ethAmount); } function toggleAddLiquidity() external onlyOwner { liquifyEnabled = !liquifyEnabled; } function distributeFees(uint256 amount) private lockTheSwap { uint256 half = amount / 2; _gameWallet.transfer(half); if (liquifyEnabled) { uint256 totalTokens = balanceOf(address(this)); addLiquidity(totalTokens, half); } else { _marketingWallet.transfer(half); } } 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 launch() external onlyOwner { require(!didLaunch, "Launch already called"); 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; addLiquidity(tokenAmountToAdd, ethAmountToAdd); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); didLaunch = true; } function start() external onlyOwner { require(!tradingEnabled, "Trading already opened"); swapEnabled = true; tradingEnabled = true; emit TradingEnabled(tradingEnabled, swapEnabled); } function liftLimits() external onlyOwner { _maxTransactionAmount = _totalSupply; _maxWalletSize = _totalSupply; emit LimitsLifted(_totalSupply); } function setTax(uint256 _valueBuy, uint256 _valueSell) external onlyOwner { require( _valueBuy <= 12 && _valueSell <= 12 && tradingEnabled, "Exceeds value" ); _buyTax = _valueBuy; _sellTax = _valueSell; emit SetTax(_valueBuy, _valueSell); } function setTaxParameters( uint256 taxTrigger, uint256 taxThreshold ) external onlyOwner { require(tradingEnabled, "Trading is not enabled"); // You can add more validation as needed _taxTrigger = taxTrigger * 10 ** _decimals; _taxThreshold = taxThreshold * 10 ** _decimals; emit SetTaxParameters(taxTrigger, taxThreshold); } function withdrawStuckTax() external onlyOwner { uint256 taxAmount = _accumulatedTax; require(taxAmount > 0, "No tax to withdraw"); uint256 tokenBalance = balanceOf(address(this)); require(tokenBalance >= taxAmount, "Insufficient tokens in contract"); _transfer(address(this), _gameWallet, taxAmount); _accumulatedTax = 0; } function withdrawStuckEther(uint256 amount) external onlyOwner { require(tradingEnabled, "Trading must be enabled"); require(didLaunch, "Liquidity must be added"); require(amount <= address(this).balance, "Insufficient balance"); payable(owner()).transfer(amount); } function withdrawStuckTokens( address tokenAddress, uint256 amount ) external onlyOwner { require(tradingEnabled, "Trading must be enabled"); require(didLaunch, "Liquidity must be added"); require( tokenAddress != address(this), "The contract's native tokens remain locked for security purposes" ); IERC20 tokenContract = IERC20(tokenAddress); uint256 contractBalance = tokenContract.balanceOf(address(this)); require(amount <= contractBalance, "Insufficient balance"); tokenContract.transfer(owner(), amount); } 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":true,"internalType":"address","name":"l2ContractAddress","type":"address"}],"name":"L2AddressSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"LaunchExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"LimitsLifted","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":"uint256","name":"_valueBuy","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_valueSell","type":"uint256"}],"name":"SetTax","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"taxTrigger","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"taxThreshold","type":"uint256"}],"name":"SetTaxParameters","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokensBridged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokensUnbridged","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":"_buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTransactionAmount","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":"_sellTax","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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"bridgeTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"liftLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"liquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_l2ContractAddress","type":"address"}],"name":"setL2ContractAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_valueBuy","type":"uint256"},{"internalType":"uint256","name":"_valueSell","type":"uint256"}],"name":"setTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxTrigger","type":"uint256"},{"internalType":"uint256","name":"taxThreshold","type":"uint256"}],"name":"setTaxParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"start","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"toggleAddLiquidity","outputs":[],"stateMutability":"nonpayable","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","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"unbridgeTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawStuckEther","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawStuckTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526012600a620000149190620008d1565b620c350062000024919062000922565b6001556012600a620000379190620008d1565b620c350062000047919062000922565b6002556012600a6200005a9190620008d1565b620186a06200006a919062000922565b6003556012600a6200007d9190620008d1565b620186a06200008d919062000922565b6004556012600a620000a09190620008d1565b620f4240620000b0919062000922565b6005556000600655600560075560056008556000600a60006101000a81548160ff0219169083151502179055506000600a60016101000a81548160ff0219169083151502179055506000600a60026101000a81548160ff0219169083151502179055506000600a60036101000a81548160ff0219169083151502179055506000600a60046101000a81548160ff0219169083151502179055503480156200015657600080fd5b50600062000169620005e460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350734ac258d5e923bca959eaa9d75725260d9c368f85600a60056101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734af267d55a676024a7d4a967df153cfe62da600a600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550733b311aa18c7ecbca957f36ca018b8a4b407e5b55600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d60006200031c620005ec60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000600a60059054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200058130606460506012600a6200054c9190620008d1565b6305f5e1006200055d919062000922565b62000569919062000922565b6200057591906200099c565b6200061560201b60201c565b620005de62000595620005e460201b60201c565b606460146012600a620005a99190620008d1565b6305f5e100620005ba919062000922565b620005c6919062000922565b620005d291906200099c565b6200061560201b60201c565b62000a85565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000687576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200067e9062000a35565b60405180910390fd5b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200072b919062000a68565b60405180910390a35050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620007c5578086048111156200079d576200079c62000737565b5b6001851615620007ad5780820291505b8081029050620007bd8562000766565b94506200077d565b94509492505050565b600082620007e05760019050620008b3565b81620007f05760009050620008b3565b816001811462000809576002811462000814576200084a565b6001915050620008b3565b60ff84111562000829576200082862000737565b5b8360020a91508482111562000843576200084262000737565b5b50620008b3565b5060208310610133831016604e8410600b8410161715620008845782820a9050838111156200087e576200087d62000737565b5b620008b3565b62000893848484600162000773565b92509050818404811115620008ad57620008ac62000737565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620008de82620008ba565b9150620008eb83620008c4565b92506200091a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620007ce565b905092915050565b60006200092f82620008ba565b91506200093c83620008ba565b92508282026200094c81620008ba565b9150828204841483151762000966576200096562000737565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620009a982620008ba565b9150620009b683620008ba565b925082620009c957620009c86200096d565b5b828204905092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000a1d601f83620009d4565b915062000a2a82620009e5565b602082019050919050565b6000602082019050818103600083015262000a508162000a0e565b9050919050565b62000a6281620008ba565b82525050565b600060208201905062000a7f600083018462000a57565b92915050565b614a758062000a956000396000f3fe6080604052600436106101dc5760003560e01c806370a0823111610102578063b01efe4e11610095578063dd62ed3e11610064578063dd62ed3e14610647578063e1b6fd3f14610684578063ed5792d7146106af578063f60b3d6d146106da576101e3565b8063b01efe4e146105b3578063bd61f0a6146105dc578063be9a655514610605578063ca9ec1991461061c576101e3565b80638da5cb5b116100d15780638da5cb5b146104f55780638f9a55c01461052057806395d89b411461054b578063a9059cbb14610576576101e3565b806370a082311461044f57806370e5a8981461048c578063715018a6146104b55780638bc73b07146104cc576101e3565b80631ea9a81b1161017a57806338ca95201161014957806338ca9520146103a757806342a11095146103d0578063667f6526146103fb57806367b34e0114610424576101e3565b80631ea9a81b146102fd57806323b872dd14610328578063268b35a414610365578063313ce5671461037c576101e3565b8063095ea7b3116101b6578063095ea7b31461025557806313c99f6d1461029257806318160ddd146102bb578063193ba1fe146102e6576101e3565b806301339c21146101e857806304beaeb8146101ff57806306fdde031461022a576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd6106f1565b005b34801561020b57600080fd5b50610214610d05565b60405161022191906133c2565b60405180910390f35b34801561023657600080fd5b5061023f610d0b565b60405161024c919061346d565b60405180910390f35b34801561026157600080fd5b5061027c6004803603810190610277919061351e565b610d48565b6040516102899190613579565b60405180910390f35b34801561029e57600080fd5b506102b960048036038101906102b49190613594565b610d66565b005b3480156102c757600080fd5b506102d0610ec5565b6040516102dd91906133c2565b60405180910390f35b3480156102f257600080fd5b506102fb610ee9565b005b34801561030957600080fd5b50610312611051565b60405161031f91906133c2565b60405180910390f35b34801561033457600080fd5b5061034f600480360381019061034a91906135d4565b611057565b60405161035c9190613579565b60405180910390f35b34801561037157600080fd5b5061037a6112fb565b005b34801561038857600080fd5b506103916113bc565b60405161039e9190613643565b60405180910390f35b3480156103b357600080fd5b506103ce60048036038101906103c9919061365e565b6113c5565b005b3480156103dc57600080fd5b506103e5611550565b6040516103f291906133c2565b60405180910390f35b34801561040757600080fd5b50610422600480360381019061041d9190613594565b611556565b005b34801561043057600080fd5b5061043961169f565b60405161044691906133c2565b60405180910390f35b34801561045b57600080fd5b506104766004803603810190610471919061365e565b6116a5565b60405161048391906133c2565b60405180910390f35b34801561049857600080fd5b506104b360048036038101906104ae919061368b565b6116ee565b005b3480156104c157600080fd5b506104ca61186d565b005b3480156104d857600080fd5b506104f360048036038101906104ee919061368b565b6119c0565b005b34801561050157600080fd5b5061050a611b87565b60405161051791906136c7565b60405180910390f35b34801561052c57600080fd5b50610535611bb0565b60405161054291906133c2565b60405180910390f35b34801561055757600080fd5b50610560611bb6565b60405161056d919061346d565b60405180910390f35b34801561058257600080fd5b5061059d6004803603810190610598919061351e565b611bf3565b6040516105aa9190613579565b60405180910390f35b3480156105bf57600080fd5b506105da60048036038101906105d5919061351e565b611c11565b005b3480156105e857600080fd5b5061060360048036038101906105fe919061351e565b611e11565b005b34801561061157600080fd5b5061061a612104565b005b34801561062857600080fd5b50610631612278565b60405161063e91906133c2565b60405180910390f35b34801561065357600080fd5b5061066e600480360381019061066991906136e2565b61227e565b60405161067b91906133c2565b60405180910390f35b34801561069057600080fd5b50610699612305565b6040516106a691906133c2565b60405180910390f35b3480156106bb57600080fd5b506106c461230b565b6040516106d19190613579565b60405180910390f35b3480156106e657600080fd5b506106ef61231e565b005b6106f961244e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077d9061376e565b60405180910390fd5b600a60009054906101000a900460ff16156107d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cd906137da565b60405180910390fd5b60004711801561082557506000600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b610864576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085b90613892565b60405180910390fd5b600146036108c657737a250d5630b4cf539739df2c5dacb4c659f2488d601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610966565b62aa36a7460361092a577386dcd3293c53cf8efd7303b57beb2a3f671dde98601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610965565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095c906138fe565b60405180910390fd5b5b6109d230601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612456565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a639190613933565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b109190613933565b6040518363ffffffff1660e01b8152600401610b2d929190613960565b6020604051808303816000875af1158015610b4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b709190613933565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000479050610c0382826125ea565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ca2929190613989565b6020604051808303816000875af1158015610cc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce591906139de565b506001600a60006101000a81548160ff0219169083151502179055505050565b60015481565b60606040518060400160405280600b81526020017f536b792052616964657273000000000000000000000000000000000000000000815250905090565b6000610d5c610d5561244e565b8484612456565b6001905092915050565b610d6e61244e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df29061376e565b60405180910390fd5b600a60019054906101000a900460ff16610e4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4190613a57565b60405180910390fd5b6012600a610e589190613bd9565b82610e639190613c24565b6003819055506012600a610e779190613bd9565b81610e829190613c24565b6004819055507f4b10de075985dbfe0837c1aa0a3a94a08bed06d840aa856cfef6917bd3c1180c8282604051610eb9929190613c66565b60405180910390a15050565b60006012600a610ed59190613bd9565b6305f5e100610ee49190613c24565b905090565b610ef161244e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f759061376e565b60405180910390fd5b6000600954905060008111610fc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbf90613cdb565b60405180910390fd5b6000610fd3306116a5565b905081811015611018576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100f90613d47565b60405180910390fd5b61104530600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612708565b60006009819055505050565b60055481565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036110c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110be90613dd9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611136576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112d90613e6b565b60405180910390fd5b81600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061118061244e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156111fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f390613efd565b60405180910390fd5b6000600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061124761244e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156112c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112be90613efd565b60405180910390fd5b6112d2858585612708565b6112ef856112de61244e565b85846112ea9190613f1d565b612456565b60019150509392505050565b61130361244e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611390576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113879061376e565b60405180910390fd5b600a60049054906101000a900460ff1615600a60046101000a81548160ff021916908315150217905550565b60006012905090565b6113cd61244e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461145a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114519061376e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c090613f9d565b60405180910390fd5b80601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f98f60c252b1fee917ef623437f02f2299b998a6238683c03cc8f30ddacf7677c60405160405180910390a250565b60075481565b61155e61244e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e29061376e565b60405180910390fd5b600c82111580156115fd5750600c8111155b80156116155750600a60019054906101000a900460ff165b611654576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164b90614009565b60405180910390fd5b81600781905550806008819055507f066acf8dc86fdf444456fd1e73b5e50347cdef064ca99b9e5b59964463730da88282604051611693929190613c66565b60405180910390a15050565b60045481565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115611770576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176790614075565b60405180910390fd5b80601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117bf9190614095565b9250508190555080600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118159190613f1d565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f3e77913f86654953c55557af20108ef6f7adfb983794638bab0a40f2578376168260405161186291906133c2565b60405180910390a250565b61187561244e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611902576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f99061376e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6119c861244e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4c9061376e565b60405180910390fd5b600a60019054906101000a900460ff16611aa4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9b90614115565b60405180910390fd5b600a60009054906101000a900460ff16611af3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aea90614181565b60405180910390fd5b47811115611b36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2d906141ed565b60405180910390fd5b611b3e611b87565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b83573d6000803e3d6000fd5b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60025481565b60606040518060400160405280600381526020017f534b590000000000000000000000000000000000000000000000000000000000815250905090565b6000611c07611c0061244e565b8484612708565b6001905092915050565b611c1961244e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9d9061376e565b60405180910390fd5b6001600a60036101000a81548160ff02191690831515021790555080601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611d43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3a9061427f565b60405180910390fd5b611d4e308383612708565b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d9d9190613f1d565b925050819055508173ffffffffffffffffffffffffffffffffffffffff167f81cee822cd6a67d798da21452c1e8ad7f0935315d8b042b141cf9c39e6ed1ebe82604051611dea91906133c2565b60405180910390a26000600a60036101000a81548160ff0219169083151502179055505050565b611e1961244e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ea6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9d9061376e565b60405180910390fd5b600a60019054906101000a900460ff16611ef5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eec90614115565b60405180910390fd5b600a60009054906101000a900460ff16611f44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3b90614181565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611fb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa990614311565b60405180910390fd5b600082905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611ff291906136c7565b602060405180830381865afa15801561200f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120339190614346565b905080831115612078576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206f906141ed565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61209c611b87565b856040518363ffffffff1660e01b81526004016120ba929190613989565b6020604051808303816000875af11580156120d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120fd91906139de565b5050505050565b61210c61244e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612199576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121909061376e565b60405180910390fd5b600a60019054906101000a900460ff16156121e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e0906143bf565b60405180910390fd5b6001600a60026101000a81548160ff0219169083151502179055506001600a60016101000a81548160ff0219169083151502179055507fbebe56ab705eea639814ee9785dc503450401ba31e74ac2141f833342388ef35600a60019054906101000a900460ff16600a60029054906101000a900460ff1660405161226e9291906143df565b60405180910390a1565b60085481565b6000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60035481565b600a60049054906101000a900460ff1681565b61232661244e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146123b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123aa9061376e565b60405180910390fd5b6012600a6123c19190613bd9565b6305f5e1006123d09190613c24565b6001819055506012600a6123e49190613bd9565b6305f5e1006123f39190613c24565b6002819055507f7ac6c2129c6ab1e95e812f58e86eecb07f1cac9cc31ccd7d02ce68da6cefa4d66012600a6124289190613bd9565b6305f5e1006124379190613c24565b60405161244491906133c2565b60405180910390a1565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156124c05750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6124ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f690614454565b60405180910390fd5b80600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516125dd91906133c2565b60405180910390a3505050565b61261730601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612456565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080612663611b87565b426040518863ffffffff1660e01b8152600401612685969594939291906144b9565b60606040518083038185885af11580156126a3573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906126c8919061451a565b5050507f38f8a0c92f4c5b0b6877f878cb4c0c8d348a47b76d716c8e78f425043df9515b82826040516126fc929190613c66565b60405180910390a15050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156127725750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6127b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127a8906145b9565b60405180910390fd5b600081116127f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127eb9061464b565b60405180910390fd5b600080829050612802611b87565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156128705750612840611b87565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612e0357600a60019054906101000a900460ff1661296a57600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061292a5750600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612969576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612960906146dd565b60405180910390fd5b5b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161480156129f557503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b90506000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16148015612a8257503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b90508015612ad1576000602860065411612a9d576028612aa1565b6008545b905060648187612ab19190613c24565b612abb919061472c565b94508486612ac99190613f1d565b935050612b1b565b8115612b1a576000602860065411612aea576028612aee565b6007545b905060648187612afe9190613c24565b612b08919061472c565b94508486612b169190613f1d565b9350505b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16148015612bc65750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b8015612c1c5750600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612cd757600154831115612c66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c5d906147cf565b60405180910390fd5b60025483612c73886116a5565b612c7d9190614095565b1115612cbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cb590614861565b60405180910390fd5b60066000815480929190612cd190614881565b91905055505b8360096000828254612ce99190614095565b925050819055506000612cfb306116a5565b9050600a60039054906101000a900460ff16158015612d675750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16145b8015612d7f5750600a60029054906101000a900460ff165b8015612d8c575060045481115b8015612d9a57506028600654115b8015612da95750600354600954115b15612dff5760006005548211612dbf5781612dc3565b6005545b9050612ddc818811612dd55787612dd7565b815b612fe0565b60004790506000811115612df457612df381613259565b5b600060098190555050505b5050505b6000821115612ec85781600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612e5b9190614095565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612ebf91906133c2565b60405180910390a35b80600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612f179190613f1d565b9250508190555080600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612f6d9190614095565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612fd191906133c2565b60405180910390a35050505050565b6001600a60036101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115613018576130176148c9565b5b6040519080825280602002602001820160405280156130465781602001602082028036833780820191505090505b509050308160008151811061305e5761305d6148f8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613105573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131299190613933565b8160018151811061313d5761313c6148f8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506131a430601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612456565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016132089594939291906149e5565b600060405180830381600087803b15801561322257600080fd5b505af1158015613236573d6000803e3d6000fd5b50505050506000600a60036101000a81548160ff02191690831515021790555050565b6001600a60036101000a81548160ff0219169083151502179055506000600282613283919061472c565b9050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156132ed573d6000803e3d6000fd5b50600a60049054906101000a900460ff161561332057600061330e306116a5565b905061331a81836125ea565b5061338a565b600a60059054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613388573d6000803e3d6000fd5b505b506000600a60036101000a81548160ff02191690831515021790555050565b6000819050919050565b6133bc816133a9565b82525050565b60006020820190506133d760008301846133b3565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156134175780820151818401526020810190506133fc565b60008484015250505050565b6000601f19601f8301169050919050565b600061343f826133dd565b61344981856133e8565b93506134598185602086016133f9565b61346281613423565b840191505092915050565b600060208201905081810360008301526134878184613434565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006134bf82613494565b9050919050565b6134cf816134b4565b81146134da57600080fd5b50565b6000813590506134ec816134c6565b92915050565b6134fb816133a9565b811461350657600080fd5b50565b600081359050613518816134f2565b92915050565b600080604083850312156135355761353461348f565b5b6000613543858286016134dd565b925050602061355485828601613509565b9150509250929050565b60008115159050919050565b6135738161355e565b82525050565b600060208201905061358e600083018461356a565b92915050565b600080604083850312156135ab576135aa61348f565b5b60006135b985828601613509565b92505060206135ca85828601613509565b9150509250929050565b6000806000606084860312156135ed576135ec61348f565b5b60006135fb868287016134dd565b935050602061360c868287016134dd565b925050604061361d86828701613509565b9150509250925092565b600060ff82169050919050565b61363d81613627565b82525050565b60006020820190506136586000830184613634565b92915050565b6000602082840312156136745761367361348f565b5b6000613682848285016134dd565b91505092915050565b6000602082840312156136a1576136a061348f565b5b60006136af84828501613509565b91505092915050565b6136c1816134b4565b82525050565b60006020820190506136dc60008301846136b8565b92915050565b600080604083850312156136f9576136f861348f565b5b6000613707858286016134dd565b9250506020613718858286016134dd565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006137586020836133e8565b915061376382613722565b602082019050919050565b600060208201905081810360008301526137878161374b565b9050919050565b7f4c61756e636820616c72656164792063616c6c65640000000000000000000000600082015250565b60006137c46015836133e8565b91506137cf8261378e565b602082019050919050565b600060208201905081810360008301526137f3816137b7565b9050919050565b7f436f6e7472616374206d757374206861766520626f74682045544820616e642060008201527f546f6b656e7320746f2070726f63656564207769746820746865206c61756e6360208201527f6800000000000000000000000000000000000000000000000000000000000000604082015250565b600061387c6041836133e8565b9150613887826137fa565b606082019050919050565b600060208201905081810360008301526138ab8161386f565b9050919050565b7f556e737570706f7274656420636861696e204944000000000000000000000000600082015250565b60006138e86014836133e8565b91506138f3826138b2565b602082019050919050565b60006020820190508181036000830152613917816138db565b9050919050565b60008151905061392d816134c6565b92915050565b6000602082840312156139495761394861348f565b5b60006139578482850161391e565b91505092915050565b600060408201905061397560008301856136b8565b61398260208301846136b8565b9392505050565b600060408201905061399e60008301856136b8565b6139ab60208301846133b3565b9392505050565b6139bb8161355e565b81146139c657600080fd5b50565b6000815190506139d8816139b2565b92915050565b6000602082840312156139f4576139f361348f565b5b6000613a02848285016139c9565b91505092915050565b7f54726164696e67206973206e6f7420656e61626c656400000000000000000000600082015250565b6000613a416016836133e8565b9150613a4c82613a0b565b602082019050919050565b60006020820190508181036000830152613a7081613a34565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115613afd57808604811115613ad957613ad8613a77565b5b6001851615613ae85780820291505b8081029050613af685613aa6565b9450613abd565b94509492505050565b600082613b165760019050613bd2565b81613b245760009050613bd2565b8160018114613b3a5760028114613b4457613b73565b6001915050613bd2565b60ff841115613b5657613b55613a77565b5b8360020a915084821115613b6d57613b6c613a77565b5b50613bd2565b5060208310610133831016604e8410600b8410161715613ba85782820a905083811115613ba357613ba2613a77565b5b613bd2565b613bb58484846001613ab3565b92509050818404811115613bcc57613bcb613a77565b5b81810290505b9392505050565b6000613be4826133a9565b9150613bef83613627565b9250613c1c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613b06565b905092915050565b6000613c2f826133a9565b9150613c3a836133a9565b9250828202613c48816133a9565b91508282048414831517613c5f57613c5e613a77565b5b5092915050565b6000604082019050613c7b60008301856133b3565b613c8860208301846133b3565b9392505050565b7f4e6f2074617820746f2077697468647261770000000000000000000000000000600082015250565b6000613cc56012836133e8565b9150613cd082613c8f565b602082019050919050565b60006020820190508181036000830152613cf481613cb8565b9050919050565b7f496e73756666696369656e7420746f6b656e7320696e20636f6e747261637400600082015250565b6000613d31601f836133e8565b9150613d3c82613cfb565b602082019050919050565b60006020820190508181036000830152613d6081613d24565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613dc36025836133e8565b9150613dce82613d67565b604082019050919050565b60006020820190508181036000830152613df281613db6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613e556023836133e8565b9150613e6082613df9565b604082019050919050565b60006020820190508181036000830152613e8481613e48565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000613ee76028836133e8565b9150613ef282613e8b565b604082019050919050565b60006020820190508181036000830152613f1681613eda565b9050919050565b6000613f28826133a9565b9150613f33836133a9565b9250828203905081811115613f4b57613f4a613a77565b5b92915050565b7f496e76616c696420636f6e747261637420616464726573730000000000000000600082015250565b6000613f876018836133e8565b9150613f9282613f51565b602082019050919050565b60006020820190508181036000830152613fb681613f7a565b9050919050565b7f457863656564732076616c756500000000000000000000000000000000000000600082015250565b6000613ff3600d836133e8565b9150613ffe82613fbd565b602082019050919050565b6000602082019050818103600083015261402281613fe6565b9050919050565b7f496e73756666696369656e742062616c616e636520746f206272696467650000600082015250565b600061405f601e836133e8565b915061406a82614029565b602082019050919050565b6000602082019050818103600083015261408e81614052565b9050919050565b60006140a0826133a9565b91506140ab836133a9565b92508282019050808211156140c3576140c2613a77565b5b92915050565b7f54726164696e67206d75737420626520656e61626c6564000000000000000000600082015250565b60006140ff6017836133e8565b915061410a826140c9565b602082019050919050565b6000602082019050818103600083015261412e816140f2565b9050919050565b7f4c6971756964697479206d757374206265206164646564000000000000000000600082015250565b600061416b6017836133e8565b915061417682614135565b602082019050919050565b6000602082019050818103600083015261419a8161415e565b9050919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b60006141d76014836133e8565b91506141e2826141a1565b602082019050919050565b60006020820190508181036000830152614206816141ca565b9050919050565b7f556e6c6f636b20616d6f756e742065786365656473206272696467656420626160008201527f6c616e6365000000000000000000000000000000000000000000000000000000602082015250565b60006142696025836133e8565b91506142748261420d565b604082019050919050565b600060208201905081810360008301526142988161425c565b9050919050565b7f54686520636f6e74726163742773206e617469766520746f6b656e732072656d60008201527f61696e206c6f636b656420666f7220736563757269747920707572706f736573602082015250565b60006142fb6040836133e8565b91506143068261429f565b604082019050919050565b6000602082019050818103600083015261432a816142ee565b9050919050565b600081519050614340816134f2565b92915050565b60006020828403121561435c5761435b61348f565b5b600061436a84828501614331565b91505092915050565b7f54726164696e6720616c7265616479206f70656e656400000000000000000000600082015250565b60006143a96016836133e8565b91506143b482614373565b602082019050919050565b600060208201905081810360008301526143d88161439c565b9050919050565b60006040820190506143f4600083018561356a565b614401602083018461356a565b9392505050565b7f45524332303a20617070726f766520746865207a65726f206164647265737300600082015250565b600061443e601f836133e8565b915061444982614408565b602082019050919050565b6000602082019050818103600083015261446d81614431565b9050919050565b6000819050919050565b6000819050919050565b60006144a361449e61449984614474565b61447e565b6133a9565b9050919050565b6144b381614488565b82525050565b600060c0820190506144ce60008301896136b8565b6144db60208301886133b3565b6144e860408301876144aa565b6144f560608301866144aa565b61450260808301856136b8565b61450f60a08301846133b3565b979650505050505050565b6000806000606084860312156145335761453261348f565b5b600061454186828701614331565b935050602061455286828701614331565b925050604061456386828701614331565b9150509250925092565b7f45524332303a207472616e7366657220746865207a65726f2061646472657373600082015250565b60006145a36020836133e8565b91506145ae8261456d565b602082019050919050565b600060208201905081810360008301526145d281614596565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006146356029836133e8565b9150614640826145d9565b604082019050919050565b6000602082019050818103600083015261466481614628565b9050919050565b7f54726164696e6720686173206e6f74206265656e20656e61626c65642079657460008201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b60006146c76021836133e8565b91506146d28261466b565b604082019050919050565b600060208201905081810360008301526146f6816146ba565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614737826133a9565b9150614742836133a9565b925082614752576147516146fd565b5b828204905092915050565b7f5472616e73616374696f6e20616d6f756e74206578636565647320746865206d60008201527f6178696d756d20616c6c6f776564206c696d6974000000000000000000000000602082015250565b60006147b96034836133e8565b91506147c48261475d565b604082019050919050565b600060208201905081810360008301526147e8816147ac565b9050919050565b7f526563697069656e7427732077616c6c65742062616c616e63652077696c6c2060008201527f65786365656420746865206d6178696d756d20616c6c6f776564206c696d6974602082015250565b600061484b6040836133e8565b9150614856826147ef565b604082019050919050565b6000602082019050818103600083015261487a8161483e565b9050919050565b600061488c826133a9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036148be576148bd613a77565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61495c816134b4565b82525050565b600061496e8383614953565b60208301905092915050565b6000602082019050919050565b600061499282614927565b61499c8185614932565b93506149a783614943565b8060005b838110156149d85781516149bf8882614962565b97506149ca8361497a565b9250506001810190506149ab565b5085935050505092915050565b600060a0820190506149fa60008301886133b3565b614a0760208301876144aa565b8181036040830152614a198186614987565b9050614a2860608301856136b8565b614a3560808301846133b3565b969550505050505056fea2646970667358221220ada720b9014f654597d7f72f37b25128567237486ffb5a684832a3c1c6933b1b64736f6c63430008180033
Deployed Bytecode
0x6080604052600436106101dc5760003560e01c806370a0823111610102578063b01efe4e11610095578063dd62ed3e11610064578063dd62ed3e14610647578063e1b6fd3f14610684578063ed5792d7146106af578063f60b3d6d146106da576101e3565b8063b01efe4e146105b3578063bd61f0a6146105dc578063be9a655514610605578063ca9ec1991461061c576101e3565b80638da5cb5b116100d15780638da5cb5b146104f55780638f9a55c01461052057806395d89b411461054b578063a9059cbb14610576576101e3565b806370a082311461044f57806370e5a8981461048c578063715018a6146104b55780638bc73b07146104cc576101e3565b80631ea9a81b1161017a57806338ca95201161014957806338ca9520146103a757806342a11095146103d0578063667f6526146103fb57806367b34e0114610424576101e3565b80631ea9a81b146102fd57806323b872dd14610328578063268b35a414610365578063313ce5671461037c576101e3565b8063095ea7b3116101b6578063095ea7b31461025557806313c99f6d1461029257806318160ddd146102bb578063193ba1fe146102e6576101e3565b806301339c21146101e857806304beaeb8146101ff57806306fdde031461022a576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd6106f1565b005b34801561020b57600080fd5b50610214610d05565b60405161022191906133c2565b60405180910390f35b34801561023657600080fd5b5061023f610d0b565b60405161024c919061346d565b60405180910390f35b34801561026157600080fd5b5061027c6004803603810190610277919061351e565b610d48565b6040516102899190613579565b60405180910390f35b34801561029e57600080fd5b506102b960048036038101906102b49190613594565b610d66565b005b3480156102c757600080fd5b506102d0610ec5565b6040516102dd91906133c2565b60405180910390f35b3480156102f257600080fd5b506102fb610ee9565b005b34801561030957600080fd5b50610312611051565b60405161031f91906133c2565b60405180910390f35b34801561033457600080fd5b5061034f600480360381019061034a91906135d4565b611057565b60405161035c9190613579565b60405180910390f35b34801561037157600080fd5b5061037a6112fb565b005b34801561038857600080fd5b506103916113bc565b60405161039e9190613643565b60405180910390f35b3480156103b357600080fd5b506103ce60048036038101906103c9919061365e565b6113c5565b005b3480156103dc57600080fd5b506103e5611550565b6040516103f291906133c2565b60405180910390f35b34801561040757600080fd5b50610422600480360381019061041d9190613594565b611556565b005b34801561043057600080fd5b5061043961169f565b60405161044691906133c2565b60405180910390f35b34801561045b57600080fd5b506104766004803603810190610471919061365e565b6116a5565b60405161048391906133c2565b60405180910390f35b34801561049857600080fd5b506104b360048036038101906104ae919061368b565b6116ee565b005b3480156104c157600080fd5b506104ca61186d565b005b3480156104d857600080fd5b506104f360048036038101906104ee919061368b565b6119c0565b005b34801561050157600080fd5b5061050a611b87565b60405161051791906136c7565b60405180910390f35b34801561052c57600080fd5b50610535611bb0565b60405161054291906133c2565b60405180910390f35b34801561055757600080fd5b50610560611bb6565b60405161056d919061346d565b60405180910390f35b34801561058257600080fd5b5061059d6004803603810190610598919061351e565b611bf3565b6040516105aa9190613579565b60405180910390f35b3480156105bf57600080fd5b506105da60048036038101906105d5919061351e565b611c11565b005b3480156105e857600080fd5b5061060360048036038101906105fe919061351e565b611e11565b005b34801561061157600080fd5b5061061a612104565b005b34801561062857600080fd5b50610631612278565b60405161063e91906133c2565b60405180910390f35b34801561065357600080fd5b5061066e600480360381019061066991906136e2565b61227e565b60405161067b91906133c2565b60405180910390f35b34801561069057600080fd5b50610699612305565b6040516106a691906133c2565b60405180910390f35b3480156106bb57600080fd5b506106c461230b565b6040516106d19190613579565b60405180910390f35b3480156106e657600080fd5b506106ef61231e565b005b6106f961244e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077d9061376e565b60405180910390fd5b600a60009054906101000a900460ff16156107d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cd906137da565b60405180910390fd5b60004711801561082557506000600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b610864576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085b90613892565b60405180910390fd5b600146036108c657737a250d5630b4cf539739df2c5dacb4c659f2488d601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610966565b62aa36a7460361092a577386dcd3293c53cf8efd7303b57beb2a3f671dde98601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610965565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095c906138fe565b60405180910390fd5b5b6109d230601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612456565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a639190613933565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b109190613933565b6040518363ffffffff1660e01b8152600401610b2d929190613960565b6020604051808303816000875af1158015610b4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b709190613933565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000479050610c0382826125ea565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ca2929190613989565b6020604051808303816000875af1158015610cc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce591906139de565b506001600a60006101000a81548160ff0219169083151502179055505050565b60015481565b60606040518060400160405280600b81526020017f536b792052616964657273000000000000000000000000000000000000000000815250905090565b6000610d5c610d5561244e565b8484612456565b6001905092915050565b610d6e61244e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df29061376e565b60405180910390fd5b600a60019054906101000a900460ff16610e4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4190613a57565b60405180910390fd5b6012600a610e589190613bd9565b82610e639190613c24565b6003819055506012600a610e779190613bd9565b81610e829190613c24565b6004819055507f4b10de075985dbfe0837c1aa0a3a94a08bed06d840aa856cfef6917bd3c1180c8282604051610eb9929190613c66565b60405180910390a15050565b60006012600a610ed59190613bd9565b6305f5e100610ee49190613c24565b905090565b610ef161244e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f759061376e565b60405180910390fd5b6000600954905060008111610fc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbf90613cdb565b60405180910390fd5b6000610fd3306116a5565b905081811015611018576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100f90613d47565b60405180910390fd5b61104530600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612708565b60006009819055505050565b60055481565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036110c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110be90613dd9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611136576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112d90613e6b565b60405180910390fd5b81600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061118061244e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156111fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f390613efd565b60405180910390fd5b6000600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061124761244e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156112c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112be90613efd565b60405180910390fd5b6112d2858585612708565b6112ef856112de61244e565b85846112ea9190613f1d565b612456565b60019150509392505050565b61130361244e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611390576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113879061376e565b60405180910390fd5b600a60049054906101000a900460ff1615600a60046101000a81548160ff021916908315150217905550565b60006012905090565b6113cd61244e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461145a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114519061376e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c090613f9d565b60405180910390fd5b80601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f98f60c252b1fee917ef623437f02f2299b998a6238683c03cc8f30ddacf7677c60405160405180910390a250565b60075481565b61155e61244e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e29061376e565b60405180910390fd5b600c82111580156115fd5750600c8111155b80156116155750600a60019054906101000a900460ff165b611654576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164b90614009565b60405180910390fd5b81600781905550806008819055507f066acf8dc86fdf444456fd1e73b5e50347cdef064ca99b9e5b59964463730da88282604051611693929190613c66565b60405180910390a15050565b60045481565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115611770576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176790614075565b60405180910390fd5b80601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117bf9190614095565b9250508190555080600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118159190613f1d565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f3e77913f86654953c55557af20108ef6f7adfb983794638bab0a40f2578376168260405161186291906133c2565b60405180910390a250565b61187561244e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611902576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f99061376e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6119c861244e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4c9061376e565b60405180910390fd5b600a60019054906101000a900460ff16611aa4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9b90614115565b60405180910390fd5b600a60009054906101000a900460ff16611af3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aea90614181565b60405180910390fd5b47811115611b36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2d906141ed565b60405180910390fd5b611b3e611b87565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b83573d6000803e3d6000fd5b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60025481565b60606040518060400160405280600381526020017f534b590000000000000000000000000000000000000000000000000000000000815250905090565b6000611c07611c0061244e565b8484612708565b6001905092915050565b611c1961244e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9d9061376e565b60405180910390fd5b6001600a60036101000a81548160ff02191690831515021790555080601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611d43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3a9061427f565b60405180910390fd5b611d4e308383612708565b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d9d9190613f1d565b925050819055508173ffffffffffffffffffffffffffffffffffffffff167f81cee822cd6a67d798da21452c1e8ad7f0935315d8b042b141cf9c39e6ed1ebe82604051611dea91906133c2565b60405180910390a26000600a60036101000a81548160ff0219169083151502179055505050565b611e1961244e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ea6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9d9061376e565b60405180910390fd5b600a60019054906101000a900460ff16611ef5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eec90614115565b60405180910390fd5b600a60009054906101000a900460ff16611f44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3b90614181565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611fb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa990614311565b60405180910390fd5b600082905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611ff291906136c7565b602060405180830381865afa15801561200f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120339190614346565b905080831115612078576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206f906141ed565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61209c611b87565b856040518363ffffffff1660e01b81526004016120ba929190613989565b6020604051808303816000875af11580156120d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120fd91906139de565b5050505050565b61210c61244e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612199576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121909061376e565b60405180910390fd5b600a60019054906101000a900460ff16156121e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e0906143bf565b60405180910390fd5b6001600a60026101000a81548160ff0219169083151502179055506001600a60016101000a81548160ff0219169083151502179055507fbebe56ab705eea639814ee9785dc503450401ba31e74ac2141f833342388ef35600a60019054906101000a900460ff16600a60029054906101000a900460ff1660405161226e9291906143df565b60405180910390a1565b60085481565b6000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60035481565b600a60049054906101000a900460ff1681565b61232661244e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146123b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123aa9061376e565b60405180910390fd5b6012600a6123c19190613bd9565b6305f5e1006123d09190613c24565b6001819055506012600a6123e49190613bd9565b6305f5e1006123f39190613c24565b6002819055507f7ac6c2129c6ab1e95e812f58e86eecb07f1cac9cc31ccd7d02ce68da6cefa4d66012600a6124289190613bd9565b6305f5e1006124379190613c24565b60405161244491906133c2565b60405180910390a1565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156124c05750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6124ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f690614454565b60405180910390fd5b80600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516125dd91906133c2565b60405180910390a3505050565b61261730601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612456565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080612663611b87565b426040518863ffffffff1660e01b8152600401612685969594939291906144b9565b60606040518083038185885af11580156126a3573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906126c8919061451a565b5050507f38f8a0c92f4c5b0b6877f878cb4c0c8d348a47b76d716c8e78f425043df9515b82826040516126fc929190613c66565b60405180910390a15050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156127725750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6127b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127a8906145b9565b60405180910390fd5b600081116127f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127eb9061464b565b60405180910390fd5b600080829050612802611b87565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156128705750612840611b87565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612e0357600a60019054906101000a900460ff1661296a57600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061292a5750600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612969576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612960906146dd565b60405180910390fd5b5b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161480156129f557503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b90506000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16148015612a8257503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b90508015612ad1576000602860065411612a9d576028612aa1565b6008545b905060648187612ab19190613c24565b612abb919061472c565b94508486612ac99190613f1d565b935050612b1b565b8115612b1a576000602860065411612aea576028612aee565b6007545b905060648187612afe9190613c24565b612b08919061472c565b94508486612b169190613f1d565b9350505b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16148015612bc65750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b8015612c1c5750600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612cd757600154831115612c66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c5d906147cf565b60405180910390fd5b60025483612c73886116a5565b612c7d9190614095565b1115612cbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cb590614861565b60405180910390fd5b60066000815480929190612cd190614881565b91905055505b8360096000828254612ce99190614095565b925050819055506000612cfb306116a5565b9050600a60039054906101000a900460ff16158015612d675750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16145b8015612d7f5750600a60029054906101000a900460ff165b8015612d8c575060045481115b8015612d9a57506028600654115b8015612da95750600354600954115b15612dff5760006005548211612dbf5781612dc3565b6005545b9050612ddc818811612dd55787612dd7565b815b612fe0565b60004790506000811115612df457612df381613259565b5b600060098190555050505b5050505b6000821115612ec85781600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612e5b9190614095565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612ebf91906133c2565b60405180910390a35b80600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612f179190613f1d565b9250508190555080600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612f6d9190614095565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612fd191906133c2565b60405180910390a35050505050565b6001600a60036101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115613018576130176148c9565b5b6040519080825280602002602001820160405280156130465781602001602082028036833780820191505090505b509050308160008151811061305e5761305d6148f8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613105573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131299190613933565b8160018151811061313d5761313c6148f8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506131a430601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612456565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016132089594939291906149e5565b600060405180830381600087803b15801561322257600080fd5b505af1158015613236573d6000803e3d6000fd5b50505050506000600a60036101000a81548160ff02191690831515021790555050565b6001600a60036101000a81548160ff0219169083151502179055506000600282613283919061472c565b9050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156132ed573d6000803e3d6000fd5b50600a60049054906101000a900460ff161561332057600061330e306116a5565b905061331a81836125ea565b5061338a565b600a60059054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613388573d6000803e3d6000fd5b505b506000600a60036101000a81548160ff02191690831515021790555050565b6000819050919050565b6133bc816133a9565b82525050565b60006020820190506133d760008301846133b3565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156134175780820151818401526020810190506133fc565b60008484015250505050565b6000601f19601f8301169050919050565b600061343f826133dd565b61344981856133e8565b93506134598185602086016133f9565b61346281613423565b840191505092915050565b600060208201905081810360008301526134878184613434565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006134bf82613494565b9050919050565b6134cf816134b4565b81146134da57600080fd5b50565b6000813590506134ec816134c6565b92915050565b6134fb816133a9565b811461350657600080fd5b50565b600081359050613518816134f2565b92915050565b600080604083850312156135355761353461348f565b5b6000613543858286016134dd565b925050602061355485828601613509565b9150509250929050565b60008115159050919050565b6135738161355e565b82525050565b600060208201905061358e600083018461356a565b92915050565b600080604083850312156135ab576135aa61348f565b5b60006135b985828601613509565b92505060206135ca85828601613509565b9150509250929050565b6000806000606084860312156135ed576135ec61348f565b5b60006135fb868287016134dd565b935050602061360c868287016134dd565b925050604061361d86828701613509565b9150509250925092565b600060ff82169050919050565b61363d81613627565b82525050565b60006020820190506136586000830184613634565b92915050565b6000602082840312156136745761367361348f565b5b6000613682848285016134dd565b91505092915050565b6000602082840312156136a1576136a061348f565b5b60006136af84828501613509565b91505092915050565b6136c1816134b4565b82525050565b60006020820190506136dc60008301846136b8565b92915050565b600080604083850312156136f9576136f861348f565b5b6000613707858286016134dd565b9250506020613718858286016134dd565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006137586020836133e8565b915061376382613722565b602082019050919050565b600060208201905081810360008301526137878161374b565b9050919050565b7f4c61756e636820616c72656164792063616c6c65640000000000000000000000600082015250565b60006137c46015836133e8565b91506137cf8261378e565b602082019050919050565b600060208201905081810360008301526137f3816137b7565b9050919050565b7f436f6e7472616374206d757374206861766520626f74682045544820616e642060008201527f546f6b656e7320746f2070726f63656564207769746820746865206c61756e6360208201527f6800000000000000000000000000000000000000000000000000000000000000604082015250565b600061387c6041836133e8565b9150613887826137fa565b606082019050919050565b600060208201905081810360008301526138ab8161386f565b9050919050565b7f556e737570706f7274656420636861696e204944000000000000000000000000600082015250565b60006138e86014836133e8565b91506138f3826138b2565b602082019050919050565b60006020820190508181036000830152613917816138db565b9050919050565b60008151905061392d816134c6565b92915050565b6000602082840312156139495761394861348f565b5b60006139578482850161391e565b91505092915050565b600060408201905061397560008301856136b8565b61398260208301846136b8565b9392505050565b600060408201905061399e60008301856136b8565b6139ab60208301846133b3565b9392505050565b6139bb8161355e565b81146139c657600080fd5b50565b6000815190506139d8816139b2565b92915050565b6000602082840312156139f4576139f361348f565b5b6000613a02848285016139c9565b91505092915050565b7f54726164696e67206973206e6f7420656e61626c656400000000000000000000600082015250565b6000613a416016836133e8565b9150613a4c82613a0b565b602082019050919050565b60006020820190508181036000830152613a7081613a34565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115613afd57808604811115613ad957613ad8613a77565b5b6001851615613ae85780820291505b8081029050613af685613aa6565b9450613abd565b94509492505050565b600082613b165760019050613bd2565b81613b245760009050613bd2565b8160018114613b3a5760028114613b4457613b73565b6001915050613bd2565b60ff841115613b5657613b55613a77565b5b8360020a915084821115613b6d57613b6c613a77565b5b50613bd2565b5060208310610133831016604e8410600b8410161715613ba85782820a905083811115613ba357613ba2613a77565b5b613bd2565b613bb58484846001613ab3565b92509050818404811115613bcc57613bcb613a77565b5b81810290505b9392505050565b6000613be4826133a9565b9150613bef83613627565b9250613c1c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613b06565b905092915050565b6000613c2f826133a9565b9150613c3a836133a9565b9250828202613c48816133a9565b91508282048414831517613c5f57613c5e613a77565b5b5092915050565b6000604082019050613c7b60008301856133b3565b613c8860208301846133b3565b9392505050565b7f4e6f2074617820746f2077697468647261770000000000000000000000000000600082015250565b6000613cc56012836133e8565b9150613cd082613c8f565b602082019050919050565b60006020820190508181036000830152613cf481613cb8565b9050919050565b7f496e73756666696369656e7420746f6b656e7320696e20636f6e747261637400600082015250565b6000613d31601f836133e8565b9150613d3c82613cfb565b602082019050919050565b60006020820190508181036000830152613d6081613d24565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613dc36025836133e8565b9150613dce82613d67565b604082019050919050565b60006020820190508181036000830152613df281613db6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613e556023836133e8565b9150613e6082613df9565b604082019050919050565b60006020820190508181036000830152613e8481613e48565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000613ee76028836133e8565b9150613ef282613e8b565b604082019050919050565b60006020820190508181036000830152613f1681613eda565b9050919050565b6000613f28826133a9565b9150613f33836133a9565b9250828203905081811115613f4b57613f4a613a77565b5b92915050565b7f496e76616c696420636f6e747261637420616464726573730000000000000000600082015250565b6000613f876018836133e8565b9150613f9282613f51565b602082019050919050565b60006020820190508181036000830152613fb681613f7a565b9050919050565b7f457863656564732076616c756500000000000000000000000000000000000000600082015250565b6000613ff3600d836133e8565b9150613ffe82613fbd565b602082019050919050565b6000602082019050818103600083015261402281613fe6565b9050919050565b7f496e73756666696369656e742062616c616e636520746f206272696467650000600082015250565b600061405f601e836133e8565b915061406a82614029565b602082019050919050565b6000602082019050818103600083015261408e81614052565b9050919050565b60006140a0826133a9565b91506140ab836133a9565b92508282019050808211156140c3576140c2613a77565b5b92915050565b7f54726164696e67206d75737420626520656e61626c6564000000000000000000600082015250565b60006140ff6017836133e8565b915061410a826140c9565b602082019050919050565b6000602082019050818103600083015261412e816140f2565b9050919050565b7f4c6971756964697479206d757374206265206164646564000000000000000000600082015250565b600061416b6017836133e8565b915061417682614135565b602082019050919050565b6000602082019050818103600083015261419a8161415e565b9050919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b60006141d76014836133e8565b91506141e2826141a1565b602082019050919050565b60006020820190508181036000830152614206816141ca565b9050919050565b7f556e6c6f636b20616d6f756e742065786365656473206272696467656420626160008201527f6c616e6365000000000000000000000000000000000000000000000000000000602082015250565b60006142696025836133e8565b91506142748261420d565b604082019050919050565b600060208201905081810360008301526142988161425c565b9050919050565b7f54686520636f6e74726163742773206e617469766520746f6b656e732072656d60008201527f61696e206c6f636b656420666f7220736563757269747920707572706f736573602082015250565b60006142fb6040836133e8565b91506143068261429f565b604082019050919050565b6000602082019050818103600083015261432a816142ee565b9050919050565b600081519050614340816134f2565b92915050565b60006020828403121561435c5761435b61348f565b5b600061436a84828501614331565b91505092915050565b7f54726164696e6720616c7265616479206f70656e656400000000000000000000600082015250565b60006143a96016836133e8565b91506143b482614373565b602082019050919050565b600060208201905081810360008301526143d88161439c565b9050919050565b60006040820190506143f4600083018561356a565b614401602083018461356a565b9392505050565b7f45524332303a20617070726f766520746865207a65726f206164647265737300600082015250565b600061443e601f836133e8565b915061444982614408565b602082019050919050565b6000602082019050818103600083015261446d81614431565b9050919050565b6000819050919050565b6000819050919050565b60006144a361449e61449984614474565b61447e565b6133a9565b9050919050565b6144b381614488565b82525050565b600060c0820190506144ce60008301896136b8565b6144db60208301886133b3565b6144e860408301876144aa565b6144f560608301866144aa565b61450260808301856136b8565b61450f60a08301846133b3565b979650505050505050565b6000806000606084860312156145335761453261348f565b5b600061454186828701614331565b935050602061455286828701614331565b925050604061456386828701614331565b9150509250925092565b7f45524332303a207472616e7366657220746865207a65726f2061646472657373600082015250565b60006145a36020836133e8565b91506145ae8261456d565b602082019050919050565b600060208201905081810360008301526145d281614596565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006146356029836133e8565b9150614640826145d9565b604082019050919050565b6000602082019050818103600083015261466481614628565b9050919050565b7f54726164696e6720686173206e6f74206265656e20656e61626c65642079657460008201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b60006146c76021836133e8565b91506146d28261466b565b604082019050919050565b600060208201905081810360008301526146f6816146ba565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614737826133a9565b9150614742836133a9565b925082614752576147516146fd565b5b828204905092915050565b7f5472616e73616374696f6e20616d6f756e74206578636565647320746865206d60008201527f6178696d756d20616c6c6f776564206c696d6974000000000000000000000000602082015250565b60006147b96034836133e8565b91506147c48261475d565b604082019050919050565b600060208201905081810360008301526147e8816147ac565b9050919050565b7f526563697069656e7427732077616c6c65742062616c616e63652077696c6c2060008201527f65786365656420746865206d6178696d756d20616c6c6f776564206c696d6974602082015250565b600061484b6040836133e8565b9150614856826147ef565b604082019050919050565b6000602082019050818103600083015261487a8161483e565b9050919050565b600061488c826133a9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036148be576148bd613a77565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61495c816134b4565b82525050565b600061496e8383614953565b60208301905092915050565b6000602082019050919050565b600061499282614927565b61499c8185614932565b93506149a783614943565b8060005b838110156149d85781516149bf8882614962565b97506149ca8361497a565b9250506001810190506149ab565b5085935050505092915050565b600060a0820190506149fa60008301886133b3565b614a0760208301876144aa565b8181036040830152614a198186614987565b9050614a2860608301856136b8565b614a3560808301846133b3565b969550505050505056fea2646970667358221220ada720b9014f654597d7f72f37b25128567237486ffb5a684832a3c1c6933b1b64736f6c63430008180033
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.