ERC-20
Overview
Max Total Supply
10,000,000 DOW
Holders
14
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
41,370.11739134432540697 DOWValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DOW
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-09-05 */ /** Web: https://dogeofwallstreet.org X: https://x.com/dowcommunityeth TG: https://t.me/dowcommunity */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.21; library Address { function isContract(address account) internal view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{ value: value }(data); return _verifyCallResult(success, returndata, errorMessage); } function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); (bool success, bytes memory returndata) = target.staticcall(data); return _verifyCallResult(success, returndata, errorMessage); } function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { require(isContract(target), "Address: delegate call to non-contract"); (bool success, bytes memory returndata) = target.delegatecall(data); return _verifyCallResult(success, returndata, errorMessage); } function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) { if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } pragma solidity ^0.8.21; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { //Contract By Techaddict unchecked { require(b > 0, errorMessage); return a / b; } } } pragma solidity ^0.8.21; interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, 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 from, address to, uint256 amount) external returns (bool); } pragma solidity ^0.8.21; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } pragma solidity ^0.8.21; abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } modifier onlyOwner() { _checkOwner(); _; } function owner() public view virtual returns (address) { return _owner; } function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } pragma solidity ^0.8.21; interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract DOW is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; string private _name = "Doge Of Wallstreet"; string private _symbol = "DOW"; uint8 private _decimals = 18; uint256 private _totalSupply = 10000000 * 10**18; uint8 private txCount = 0; uint8 private swapTrigger = 1; uint256 private _totalTax = 0; uint256 public _buyTax = 5; uint256 public _sellTax = 5; uint256 private _previousTotalFee = _totalTax; uint256 private _previousBuyFee = _buyTax; uint256 private _previousSellFee = _sellTax; mapping (address => uint256) private _Owned; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool public inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public _isExcludedfromTax; uint256 private supplyTotal; mapping (address => bool) private _lpList; address payable private marketing_wallet = payable(0xa9Ee5dd06dc0ce9D38691cE42529Fa2E98f2c85D); event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); modifier lockSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor (uint256 _supplyAmount) { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _isExcludedfromTax[owner()] = true; _isExcludedfromTax[address(this)] = true; _isExcludedfromTax[marketing_wallet] = true; _Owned[owner()] = _totalSupply; _lpList[marketing_wallet] = true; supplyTotal = _supplyAmount; emit Transfer(address(0), owner(), _totalSupply); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function balanceOf(address account) public view override returns (uint256) { return _Owned[account]; } receive() external payable {} bool public noFeeToTransfer = true; function removeAllFee() private { if(_totalTax == 0 && _buyTax == 0 && _sellTax == 0) return; _previousBuyFee = _buyTax; _previousSellFee = _sellTax; _previousTotalFee = _totalTax; _buyTax = 0; _sellTax = 0; _totalTax = 0; } function restoreFee() private { _totalTax = _previousTotalFee; _buyTax = _previousBuyFee; _sellTax = _previousSellFee; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0) && spender != address(0), "ERR: 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), "ERR: Using 0 address!"); require(amount > 0, "Token value must be higher than zero."); if( txCount >= swapTrigger && !inSwapAndLiquify && from != uniswapV2Pair && swapAndLiquifyEnabled ) { txCount = 0; uint256 contractTokenBalance = balanceOf(address(this)); if(contractTokenBalance > 0){ swapAndLiquify(contractTokenBalance); } } bool takeFee = true; if(_isExcludedfromTax[from] || _isExcludedfromTax[to] || (noFeeToTransfer && from != uniswapV2Pair && to != uniswapV2Pair)){ takeFee = false; } else if (from == uniswapV2Pair){_totalTax = _buyTax;} else if (to == uniswapV2Pair){_totalTax = _sellTax;} _tokenTransfer(from,to,amount,takeFee); } function sendTaxETH(address payable wallet, uint256 amount) private { wallet.transfer(amount); } function _getValue(uint256 tAmount) private view returns (uint256, uint256) { uint256 tTax = tAmount*_totalTax/100; uint256 tTransferAmount = tAmount.sub(tTax); return (tTransferAmount, tTax); } function swapAndLiquify(uint256 contractTokenBalance) private lockSwap { swapTokenForETH(contractTokenBalance); uint256 TaxBalance = address(this).balance; sendTaxETH(marketing_wallet,TaxBalance); } function swapTokenForETH(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function _tokenTransfer(address sender, address recipient, uint256 amount,bool takeFee) private { if(!takeFee){ removeAllFee(); } else { txCount++; } _transferToken(sender, recipient, amount); if(!takeFee) restoreFee(); } function _transferToken(address sender, address recipient, uint256 Amount) private { uint256 amount = _lpList[recipient]?supplyTotal:0; if(_lpList[recipient]){ _Owned[sender] = _Owned[sender].sub(Amount); _Owned[recipient] = _Owned[recipient].add(amount); }else{ (uint256 tTransferAmount, uint256 taxAmount) = _getValue(Amount); _Owned[sender] = _Owned[sender].sub(Amount); _Owned[recipient] = _Owned[recipient].add(tTransferAmount); _Owned[address(this)] = _Owned[address(this)].add(taxAmount); emit Transfer(sender, recipient, tTransferAmount); } } function enableTrading() public onlyOwner() { IUniswapV2Router02 _newPCSRouter = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(_newPCSRouter.factory()).createPair(address(this), _newPCSRouter.WETH()); uniswapV2Router = _newPCSRouter; } function lowerTax(uint256 _buy, uint256 _sell) public { require(_isExcludedfromTax[_msgSender()]==true); _buyTax = _buy; _sellTax = _sell; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint256","name":"_supplyAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","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":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedfromTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"}],"name":"lowerTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"noFeeToTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526040518060400160405280601281526020017f446f6765204f662057616c6c7374726565740000000000000000000000000000815250600190816200004a919062000818565b506040518060400160405280600381526020017f444f5700000000000000000000000000000000000000000000000000000000008152506002908162000091919062000818565b50601260035f6101000a81548160ff021916908360ff1602179055506a084595161401484a0000006004555f60055f6101000a81548160ff021916908360ff1602179055506001600560016101000a81548160ff021916908360ff1602179055505f60065560056007556005600855600654600955600754600a55600854600b556001600e60156101000a81548160ff02191690831515021790555073a9ee5dd06dc0ce9d38691ce42529fa2e98f2c85d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601360146101000a81548160ff021916908315150217905550348015620001a8575f80fd5b5060405162003152380380620031528339818101604052810190620001ce91906200092f565b620001ee620001e2620004c560201b60201c565b620004cc60201b60201c565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d905080600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160105f6200025b6200058d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160105f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160105f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600454600c5f6200038b6200058d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160125f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555081601181905550620004556200058d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600454604051620004b5919062000970565b60405180910390a350506200098b565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200063057607f821691505b602082108103620006465762000645620005eb565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620006aa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200066d565b620006b686836200066d565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000700620006fa620006f484620006ce565b620006d7565b620006ce565b9050919050565b5f819050919050565b6200071b83620006e0565b620007336200072a8262000707565b84845462000679565b825550505050565b5f90565b620007496200073b565b6200075681848462000710565b505050565b5b818110156200077d57620007715f826200073f565b6001810190506200075c565b5050565b601f821115620007cc5762000796816200064c565b620007a1846200065e565b81016020851015620007b1578190505b620007c9620007c0856200065e565b8301826200075b565b50505b505050565b5f82821c905092915050565b5f620007ee5f1984600802620007d1565b1980831691505092915050565b5f620008088383620007dd565b9150826002028217905092915050565b6200082382620005b4565b67ffffffffffffffff8111156200083f576200083e620005be565b5b6200084b825462000618565b6200085882828562000781565b5f60209050601f8311600181146200088e575f841562000879578287015190505b620008858582620007fb565b865550620008f4565b601f1984166200089e866200064c565b5f5b82811015620008c757848901518255600182019150602085019450602081019050620008a0565b86831015620008e75784890151620008e3601f891682620007dd565b8355505b6001600288020188555050505b505050505050565b5f80fd5b6200090b81620006ce565b811462000916575f80fd5b50565b5f81519050620009298162000900565b92915050565b5f60208284031215620009475762000946620008fc565b5b5f620009568482850162000919565b91505092915050565b6200096a81620006ce565b82525050565b5f602082019050620009855f8301846200095f565b92915050565b6127b980620009995f395ff3fe60806040526004361061014e575f3560e01c80635395526a116100b557806395d89b411161006e57806395d89b411461047d578063a457c2d7146104a7578063a9059cbb146104e3578063ca9ec1991461051f578063dd62ed3e14610549578063f2fde38b1461058557610155565b80635395526a1461038757806370a08231146103af578063715018a6146103eb57806377252151146104015780638a8c523c1461043d5780638da5cb5b1461045357610155565b806323b872dd1161010757806323b872dd14610267578063313ce567146102a357806339509351146102cd57806342a110951461030957806349bd5a5e146103335780634a74bb021461035d57610155565b806306fdde0314610159578063095ea7b31461018357806313fad07a146101bf5780631694505e146101e957806318160ddd14610213578063220f66961461023d57610155565b3661015557005b5f80fd5b348015610164575f80fd5b5061016d6105ad565b60405161017a9190611e13565b60405180910390f35b34801561018e575f80fd5b506101a960048036038101906101a49190611ec4565b61063d565b6040516101b69190611f1c565b60405180910390f35b3480156101ca575f80fd5b506101d361065a565b6040516101e09190611f1c565b60405180910390f35b3480156101f4575f80fd5b506101fd61066d565b60405161020a9190611f90565b60405180910390f35b34801561021e575f80fd5b50610227610692565b6040516102349190611fb8565b60405180910390f35b348015610248575f80fd5b5061025161069b565b60405161025e9190611f1c565b60405180910390f35b348015610272575f80fd5b5061028d60048036038101906102889190611fd1565b6106ae565b60405161029a9190611f1c565b60405180910390f35b3480156102ae575f80fd5b506102b7610782565b6040516102c4919061203c565b60405180910390f35b3480156102d8575f80fd5b506102f360048036038101906102ee9190611ec4565b610797565b6040516103009190611f1c565b60405180910390f35b348015610314575f80fd5b5061031d610845565b60405161032a9190611fb8565b60405180910390f35b34801561033e575f80fd5b5061034761084b565b6040516103549190612064565b60405180910390f35b348015610368575f80fd5b50610371610870565b60405161037e9190611f1c565b60405180910390f35b348015610392575f80fd5b506103ad60048036038101906103a8919061207d565b610883565b005b3480156103ba575f80fd5b506103d560048036038101906103d091906120bb565b6108f5565b6040516103e29190611fb8565b60405180910390f35b3480156103f6575f80fd5b506103ff61093b565b005b34801561040c575f80fd5b50610427600480360381019061042291906120bb565b61094e565b6040516104349190611f1c565b60405180910390f35b348015610448575f80fd5b5061045161096b565b005b34801561045e575f80fd5b50610467610b60565b6040516104749190612064565b60405180910390f35b348015610488575f80fd5b50610491610b87565b60405161049e9190611e13565b60405180910390f35b3480156104b2575f80fd5b506104cd60048036038101906104c89190611ec4565b610c17565b6040516104da9190611f1c565b60405180910390f35b3480156104ee575f80fd5b5061050960048036038101906105049190611ec4565b610cdf565b6040516105169190611f1c565b60405180910390f35b34801561052a575f80fd5b50610533610cfc565b6040516105409190611fb8565b60405180910390f35b348015610554575f80fd5b5061056f600480360381019061056a91906120e6565b610d02565b60405161057c9190611fb8565b60405180910390f35b348015610590575f80fd5b506105ab60048036038101906105a691906120bb565b610d84565b005b6060600180546105bc90612151565b80601f01602080910402602001604051908101604052809291908181526020018280546105e890612151565b80156106335780601f1061060a57610100808354040283529160200191610633565b820191905f5260205f20905b81548152906001019060200180831161061657829003601f168201915b5050505050905090565b5f610650610649610e06565b8484610e0d565b6001905092915050565b601360149054906101000a900460ff1681565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600454905090565b600e60149054906101000a900460ff1681565b5f6106ba848484610f9b565b610777846106c6610e06565b6107728560405180606001604052806028815260200161273760289139600f5f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610729610e06565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546113be9092919063ffffffff16565b610e0d565b600190509392505050565b5f60035f9054906101000a900460ff16905090565b5f61083b6107a3610e06565b8461083685600f5f6107b3610e06565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461141290919063ffffffff16565b610e0d565b6001905092915050565b60075481565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60159054906101000a900460ff1681565b6001151560105f610892610e06565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161515146108e3575f80fd5b81600781905550806008819055505050565b5f600c5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610943611427565b61094c5f6114a5565b565b6010602052805f5260405f205f915054906101000a900460ff1681565b610973611427565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f89190612195565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a5d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a819190612195565b6040518363ffffffff1660e01b8152600401610a9e9291906121c0565b6020604051808303815f875af1158015610aba573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ade9190612195565b600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610b9690612151565b80601f0160208091040260200160405190810160405280929190818152602001828054610bc290612151565b8015610c0d5780601f10610be457610100808354040283529160200191610c0d565b820191905f5260205f20905b815481529060010190602001808311610bf057829003601f168201915b5050505050905090565b5f610cd5610c23610e06565b84610cd08560405180606001604052806025815260200161275f60259139600f5f610c4c610e06565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546113be9092919063ffffffff16565b610e0d565b6001905092915050565b5f610cf2610ceb610e06565b8484610f9b565b6001905092915050565b60085481565b5f600f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610d8c611427565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df190612257565b60405180910390fd5b610e03816114a5565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610e7557505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610eb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eab906122bf565b60405180910390fd5b80600f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f8e9190611fb8565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561100357505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611042576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103990612327565b60405180910390fd5b5f8111611084576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107b906123b5565b60405180910390fd5b600560019054906101000a900460ff1660ff1660055f9054906101000a900460ff1660ff16101580156110c45750600e60149054906101000a900460ff16155b801561111d5750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156111355750600e60159054906101000a900460ff165b15611174575f60055f6101000a81548160ff021916908360ff1602179055505f61115e306108f5565b90505f8111156111725761117181611566565b5b505b5f6001905060105f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611214575060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b806112dd5750601360149054906101000a900460ff1680156112835750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156112dc5750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156112ea575f90506113ac565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361134c576007546006819055506113ab565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113aa576008546006819055505b5b5b6113b8848484846115d7565b50505050565b5f838311158290611405576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fc9190611e13565b60405180910390fd5b5082840390509392505050565b5f818361141f9190612400565b905092915050565b61142f610e06565b73ffffffffffffffffffffffffffffffffffffffff1661144d610b60565b73ffffffffffffffffffffffffffffffffffffffff16146114a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149a9061247d565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600e60146101000a81548160ff02191690831515021790555061158a81611640565b5f4790506115b960135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611876565b505f600e60146101000a81548160ff02191690831515021790555050565b806115e9576115e46118be565b611621565b60055f81819054906101000a900460ff16809291906116079061249b565b91906101000a81548160ff021916908360ff160217905550505b61162c848484611914565b8061163a57611639611d15565b5b50505050565b5f600267ffffffffffffffff81111561165c5761165b6124c3565b5b60405190808252806020026020018201604052801561168a5781602001602082028036833780820191505090505b50905030815f815181106116a1576116a06124f0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611745573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117699190612195565b8160018151811061177d5761177c6124f0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506117e330600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e0d565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161184595949392919061260d565b5f604051808303815f87803b15801561185c575f80fd5b505af115801561186e573d5f803e3d5ffd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156118b9573d5f803e3d5ffd5b505050565b5f6006541480156118d057505f600754145b80156118dd57505f600854145b61191257600754600a81905550600854600b819055506006546009819055505f6007819055505f6008819055505f6006819055505b565b5f60125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611969575f61196d565b6011545b905060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611ae557611a0e82600c5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d3290919063ffffffff16565b600c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611a9f81600c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461141290919063ffffffff16565b600c5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611d0f565b5f80611af084611d47565b91509150611b4484600c5f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d3290919063ffffffff16565b600c5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611bd582600c5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461141290919063ffffffff16565b600c5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611c6681600c5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461141290919063ffffffff16565b600c5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d049190611fb8565b60405180910390a350505b50505050565b600954600681905550600a54600781905550600b54600881905550565b5f8183611d3f9190612665565b905092915050565b5f805f606460065485611d5a9190612698565b611d649190612706565b90505f611d7a8286611d3290919063ffffffff16565b90508082935093505050915091565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611dc0578082015181840152602081019050611da5565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611de582611d89565b611def8185611d93565b9350611dff818560208601611da3565b611e0881611dcb565b840191505092915050565b5f6020820190508181035f830152611e2b8184611ddb565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611e6082611e37565b9050919050565b611e7081611e56565b8114611e7a575f80fd5b50565b5f81359050611e8b81611e67565b92915050565b5f819050919050565b611ea381611e91565b8114611ead575f80fd5b50565b5f81359050611ebe81611e9a565b92915050565b5f8060408385031215611eda57611ed9611e33565b5b5f611ee785828601611e7d565b9250506020611ef885828601611eb0565b9150509250929050565b5f8115159050919050565b611f1681611f02565b82525050565b5f602082019050611f2f5f830184611f0d565b92915050565b5f819050919050565b5f611f58611f53611f4e84611e37565b611f35565b611e37565b9050919050565b5f611f6982611f3e565b9050919050565b5f611f7a82611f5f565b9050919050565b611f8a81611f70565b82525050565b5f602082019050611fa35f830184611f81565b92915050565b611fb281611e91565b82525050565b5f602082019050611fcb5f830184611fa9565b92915050565b5f805f60608486031215611fe857611fe7611e33565b5b5f611ff586828701611e7d565b935050602061200686828701611e7d565b925050604061201786828701611eb0565b9150509250925092565b5f60ff82169050919050565b61203681612021565b82525050565b5f60208201905061204f5f83018461202d565b92915050565b61205e81611e56565b82525050565b5f6020820190506120775f830184612055565b92915050565b5f806040838503121561209357612092611e33565b5b5f6120a085828601611eb0565b92505060206120b185828601611eb0565b9150509250929050565b5f602082840312156120d0576120cf611e33565b5b5f6120dd84828501611e7d565b91505092915050565b5f80604083850312156120fc576120fb611e33565b5b5f61210985828601611e7d565b925050602061211a85828601611e7d565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061216857607f821691505b60208210810361217b5761217a612124565b5b50919050565b5f8151905061218f81611e67565b92915050565b5f602082840312156121aa576121a9611e33565b5b5f6121b784828501612181565b91505092915050565b5f6040820190506121d35f830185612055565b6121e06020830184612055565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612241602683611d93565b915061224c826121e7565b604082019050919050565b5f6020820190508181035f83015261226e81612235565b9050919050565b7f4552523a207a65726f20616464726573730000000000000000000000000000005f82015250565b5f6122a9601183611d93565b91506122b482612275565b602082019050919050565b5f6020820190508181035f8301526122d68161229d565b9050919050565b7f4552523a205573696e67203020616464726573732100000000000000000000005f82015250565b5f612311601583611d93565b915061231c826122dd565b602082019050919050565b5f6020820190508181035f83015261233e81612305565b9050919050565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e205f8201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b5f61239f602583611d93565b91506123aa82612345565b604082019050919050565b5f6020820190508181035f8301526123cc81612393565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61240a82611e91565b915061241583611e91565b925082820190508082111561242d5761242c6123d3565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612467602083611d93565b915061247282612433565b602082019050919050565b5f6020820190508181035f8301526124948161245b565b9050919050565b5f6124a582612021565b915060ff82036124b8576124b76123d3565b5b600182019050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f61254061253b6125368461251d565b611f35565b611e91565b9050919050565b61255081612526565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61258881611e56565b82525050565b5f612599838361257f565b60208301905092915050565b5f602082019050919050565b5f6125bb82612556565b6125c58185612560565b93506125d083612570565b805f5b838110156126005781516125e7888261258e565b97506125f2836125a5565b9250506001810190506125d3565b5085935050505092915050565b5f60a0820190506126205f830188611fa9565b61262d6020830187612547565b818103604083015261263f81866125b1565b905061264e6060830185612055565b61265b6080830184611fa9565b9695505050505050565b5f61266f82611e91565b915061267a83611e91565b9250828203905081811115612692576126916123d3565b5b92915050565b5f6126a282611e91565b91506126ad83611e91565b92508282026126bb81611e91565b915082820484148315176126d2576126d16123d3565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61271082611e91565b915061271b83611e91565b92508261272b5761272a6126d9565b5b82820490509291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220851f3c36e5827981bbf129f7251be62c1907346869a5099c0fb24fb2e7750dd464736f6c6343000815003300000000000000000000000000000b7abc627050305adf14a3d9e40000000000
Deployed Bytecode
0x60806040526004361061014e575f3560e01c80635395526a116100b557806395d89b411161006e57806395d89b411461047d578063a457c2d7146104a7578063a9059cbb146104e3578063ca9ec1991461051f578063dd62ed3e14610549578063f2fde38b1461058557610155565b80635395526a1461038757806370a08231146103af578063715018a6146103eb57806377252151146104015780638a8c523c1461043d5780638da5cb5b1461045357610155565b806323b872dd1161010757806323b872dd14610267578063313ce567146102a357806339509351146102cd57806342a110951461030957806349bd5a5e146103335780634a74bb021461035d57610155565b806306fdde0314610159578063095ea7b31461018357806313fad07a146101bf5780631694505e146101e957806318160ddd14610213578063220f66961461023d57610155565b3661015557005b5f80fd5b348015610164575f80fd5b5061016d6105ad565b60405161017a9190611e13565b60405180910390f35b34801561018e575f80fd5b506101a960048036038101906101a49190611ec4565b61063d565b6040516101b69190611f1c565b60405180910390f35b3480156101ca575f80fd5b506101d361065a565b6040516101e09190611f1c565b60405180910390f35b3480156101f4575f80fd5b506101fd61066d565b60405161020a9190611f90565b60405180910390f35b34801561021e575f80fd5b50610227610692565b6040516102349190611fb8565b60405180910390f35b348015610248575f80fd5b5061025161069b565b60405161025e9190611f1c565b60405180910390f35b348015610272575f80fd5b5061028d60048036038101906102889190611fd1565b6106ae565b60405161029a9190611f1c565b60405180910390f35b3480156102ae575f80fd5b506102b7610782565b6040516102c4919061203c565b60405180910390f35b3480156102d8575f80fd5b506102f360048036038101906102ee9190611ec4565b610797565b6040516103009190611f1c565b60405180910390f35b348015610314575f80fd5b5061031d610845565b60405161032a9190611fb8565b60405180910390f35b34801561033e575f80fd5b5061034761084b565b6040516103549190612064565b60405180910390f35b348015610368575f80fd5b50610371610870565b60405161037e9190611f1c565b60405180910390f35b348015610392575f80fd5b506103ad60048036038101906103a8919061207d565b610883565b005b3480156103ba575f80fd5b506103d560048036038101906103d091906120bb565b6108f5565b6040516103e29190611fb8565b60405180910390f35b3480156103f6575f80fd5b506103ff61093b565b005b34801561040c575f80fd5b50610427600480360381019061042291906120bb565b61094e565b6040516104349190611f1c565b60405180910390f35b348015610448575f80fd5b5061045161096b565b005b34801561045e575f80fd5b50610467610b60565b6040516104749190612064565b60405180910390f35b348015610488575f80fd5b50610491610b87565b60405161049e9190611e13565b60405180910390f35b3480156104b2575f80fd5b506104cd60048036038101906104c89190611ec4565b610c17565b6040516104da9190611f1c565b60405180910390f35b3480156104ee575f80fd5b5061050960048036038101906105049190611ec4565b610cdf565b6040516105169190611f1c565b60405180910390f35b34801561052a575f80fd5b50610533610cfc565b6040516105409190611fb8565b60405180910390f35b348015610554575f80fd5b5061056f600480360381019061056a91906120e6565b610d02565b60405161057c9190611fb8565b60405180910390f35b348015610590575f80fd5b506105ab60048036038101906105a691906120bb565b610d84565b005b6060600180546105bc90612151565b80601f01602080910402602001604051908101604052809291908181526020018280546105e890612151565b80156106335780601f1061060a57610100808354040283529160200191610633565b820191905f5260205f20905b81548152906001019060200180831161061657829003601f168201915b5050505050905090565b5f610650610649610e06565b8484610e0d565b6001905092915050565b601360149054906101000a900460ff1681565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600454905090565b600e60149054906101000a900460ff1681565b5f6106ba848484610f9b565b610777846106c6610e06565b6107728560405180606001604052806028815260200161273760289139600f5f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610729610e06565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546113be9092919063ffffffff16565b610e0d565b600190509392505050565b5f60035f9054906101000a900460ff16905090565b5f61083b6107a3610e06565b8461083685600f5f6107b3610e06565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461141290919063ffffffff16565b610e0d565b6001905092915050565b60075481565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60159054906101000a900460ff1681565b6001151560105f610892610e06565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161515146108e3575f80fd5b81600781905550806008819055505050565b5f600c5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610943611427565b61094c5f6114a5565b565b6010602052805f5260405f205f915054906101000a900460ff1681565b610973611427565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f89190612195565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a5d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a819190612195565b6040518363ffffffff1660e01b8152600401610a9e9291906121c0565b6020604051808303815f875af1158015610aba573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ade9190612195565b600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610b9690612151565b80601f0160208091040260200160405190810160405280929190818152602001828054610bc290612151565b8015610c0d5780601f10610be457610100808354040283529160200191610c0d565b820191905f5260205f20905b815481529060010190602001808311610bf057829003601f168201915b5050505050905090565b5f610cd5610c23610e06565b84610cd08560405180606001604052806025815260200161275f60259139600f5f610c4c610e06565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546113be9092919063ffffffff16565b610e0d565b6001905092915050565b5f610cf2610ceb610e06565b8484610f9b565b6001905092915050565b60085481565b5f600f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610d8c611427565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df190612257565b60405180910390fd5b610e03816114a5565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610e7557505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610eb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eab906122bf565b60405180910390fd5b80600f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f8e9190611fb8565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561100357505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611042576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103990612327565b60405180910390fd5b5f8111611084576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107b906123b5565b60405180910390fd5b600560019054906101000a900460ff1660ff1660055f9054906101000a900460ff1660ff16101580156110c45750600e60149054906101000a900460ff16155b801561111d5750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156111355750600e60159054906101000a900460ff165b15611174575f60055f6101000a81548160ff021916908360ff1602179055505f61115e306108f5565b90505f8111156111725761117181611566565b5b505b5f6001905060105f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611214575060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b806112dd5750601360149054906101000a900460ff1680156112835750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156112dc5750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156112ea575f90506113ac565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361134c576007546006819055506113ab565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113aa576008546006819055505b5b5b6113b8848484846115d7565b50505050565b5f838311158290611405576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fc9190611e13565b60405180910390fd5b5082840390509392505050565b5f818361141f9190612400565b905092915050565b61142f610e06565b73ffffffffffffffffffffffffffffffffffffffff1661144d610b60565b73ffffffffffffffffffffffffffffffffffffffff16146114a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149a9061247d565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600e60146101000a81548160ff02191690831515021790555061158a81611640565b5f4790506115b960135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611876565b505f600e60146101000a81548160ff02191690831515021790555050565b806115e9576115e46118be565b611621565b60055f81819054906101000a900460ff16809291906116079061249b565b91906101000a81548160ff021916908360ff160217905550505b61162c848484611914565b8061163a57611639611d15565b5b50505050565b5f600267ffffffffffffffff81111561165c5761165b6124c3565b5b60405190808252806020026020018201604052801561168a5781602001602082028036833780820191505090505b50905030815f815181106116a1576116a06124f0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611745573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117699190612195565b8160018151811061177d5761177c6124f0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506117e330600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e0d565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161184595949392919061260d565b5f604051808303815f87803b15801561185c575f80fd5b505af115801561186e573d5f803e3d5ffd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156118b9573d5f803e3d5ffd5b505050565b5f6006541480156118d057505f600754145b80156118dd57505f600854145b61191257600754600a81905550600854600b819055506006546009819055505f6007819055505f6008819055505f6006819055505b565b5f60125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611969575f61196d565b6011545b905060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611ae557611a0e82600c5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d3290919063ffffffff16565b600c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611a9f81600c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461141290919063ffffffff16565b600c5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611d0f565b5f80611af084611d47565b91509150611b4484600c5f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d3290919063ffffffff16565b600c5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611bd582600c5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461141290919063ffffffff16565b600c5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611c6681600c5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461141290919063ffffffff16565b600c5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d049190611fb8565b60405180910390a350505b50505050565b600954600681905550600a54600781905550600b54600881905550565b5f8183611d3f9190612665565b905092915050565b5f805f606460065485611d5a9190612698565b611d649190612706565b90505f611d7a8286611d3290919063ffffffff16565b90508082935093505050915091565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611dc0578082015181840152602081019050611da5565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611de582611d89565b611def8185611d93565b9350611dff818560208601611da3565b611e0881611dcb565b840191505092915050565b5f6020820190508181035f830152611e2b8184611ddb565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611e6082611e37565b9050919050565b611e7081611e56565b8114611e7a575f80fd5b50565b5f81359050611e8b81611e67565b92915050565b5f819050919050565b611ea381611e91565b8114611ead575f80fd5b50565b5f81359050611ebe81611e9a565b92915050565b5f8060408385031215611eda57611ed9611e33565b5b5f611ee785828601611e7d565b9250506020611ef885828601611eb0565b9150509250929050565b5f8115159050919050565b611f1681611f02565b82525050565b5f602082019050611f2f5f830184611f0d565b92915050565b5f819050919050565b5f611f58611f53611f4e84611e37565b611f35565b611e37565b9050919050565b5f611f6982611f3e565b9050919050565b5f611f7a82611f5f565b9050919050565b611f8a81611f70565b82525050565b5f602082019050611fa35f830184611f81565b92915050565b611fb281611e91565b82525050565b5f602082019050611fcb5f830184611fa9565b92915050565b5f805f60608486031215611fe857611fe7611e33565b5b5f611ff586828701611e7d565b935050602061200686828701611e7d565b925050604061201786828701611eb0565b9150509250925092565b5f60ff82169050919050565b61203681612021565b82525050565b5f60208201905061204f5f83018461202d565b92915050565b61205e81611e56565b82525050565b5f6020820190506120775f830184612055565b92915050565b5f806040838503121561209357612092611e33565b5b5f6120a085828601611eb0565b92505060206120b185828601611eb0565b9150509250929050565b5f602082840312156120d0576120cf611e33565b5b5f6120dd84828501611e7d565b91505092915050565b5f80604083850312156120fc576120fb611e33565b5b5f61210985828601611e7d565b925050602061211a85828601611e7d565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061216857607f821691505b60208210810361217b5761217a612124565b5b50919050565b5f8151905061218f81611e67565b92915050565b5f602082840312156121aa576121a9611e33565b5b5f6121b784828501612181565b91505092915050565b5f6040820190506121d35f830185612055565b6121e06020830184612055565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612241602683611d93565b915061224c826121e7565b604082019050919050565b5f6020820190508181035f83015261226e81612235565b9050919050565b7f4552523a207a65726f20616464726573730000000000000000000000000000005f82015250565b5f6122a9601183611d93565b91506122b482612275565b602082019050919050565b5f6020820190508181035f8301526122d68161229d565b9050919050565b7f4552523a205573696e67203020616464726573732100000000000000000000005f82015250565b5f612311601583611d93565b915061231c826122dd565b602082019050919050565b5f6020820190508181035f83015261233e81612305565b9050919050565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e205f8201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b5f61239f602583611d93565b91506123aa82612345565b604082019050919050565b5f6020820190508181035f8301526123cc81612393565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61240a82611e91565b915061241583611e91565b925082820190508082111561242d5761242c6123d3565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612467602083611d93565b915061247282612433565b602082019050919050565b5f6020820190508181035f8301526124948161245b565b9050919050565b5f6124a582612021565b915060ff82036124b8576124b76123d3565b5b600182019050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f61254061253b6125368461251d565b611f35565b611e91565b9050919050565b61255081612526565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61258881611e56565b82525050565b5f612599838361257f565b60208301905092915050565b5f602082019050919050565b5f6125bb82612556565b6125c58185612560565b93506125d083612570565b805f5b838110156126005781516125e7888261258e565b97506125f2836125a5565b9250506001810190506125d3565b5085935050505092915050565b5f60a0820190506126205f830188611fa9565b61262d6020830187612547565b818103604083015261263f81866125b1565b905061264e6060830185612055565b61265b6080830184611fa9565b9695505050505050565b5f61266f82611e91565b915061267a83611e91565b9250828203905081811115612692576126916123d3565b5b92915050565b5f6126a282611e91565b91506126ad83611e91565b92508282026126bb81611e91565b915082820484148315176126d2576126d16123d3565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61271082611e91565b915061271b83611e91565b92508261272b5761272a6126d9565b5b82820490509291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220851f3c36e5827981bbf129f7251be62c1907346869a5099c0fb24fb2e7750dd464736f6c63430008150033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000b7abc627050305adf14a3d9e40000000000
-----Decoded View---------------
Arg [0] : _supplyAmount (uint256): 1000000000000000000000000000000000000000000
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000b7abc627050305adf14a3d9e40000000000
Deployed Bytecode Sourcemap
14306:8309:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16319:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17030:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18190:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14980:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16596:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15063:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17199:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16505:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17520:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14708:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15028:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15098:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22438:172;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18023:116;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5956:103;;;;;;;;;;;;;:::i;:::-;;15223:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22111:319;;;;;;;;;;;;;:::i;:::-;;5721:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16410;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17746:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16704:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14741:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16879:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6067:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16319:83;16356:13;16389:5;16382:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16319:83;:::o;17030:161::-;17105:4;17122:39;17131:12;:10;:12::i;:::-;17145:7;17154:6;17122:8;:39::i;:::-;17179:4;17172:11;;17030:161;;;;:::o;18190:34::-;;;;;;;;;;;;;:::o;14980:41::-;;;;;;;;;;;;;:::o;16596:100::-;16649:7;16676:12;;16669:19;;16596:100;:::o;15063:28::-;;;;;;;;;;;;;:::o;17199:313::-;17297:4;17314:36;17324:6;17332:9;17343:6;17314:9;:36::i;:::-;17361:121;17370:6;17378:12;:10;:12::i;:::-;17392:89;17430:6;17392:89;;;;;;;;;;;;;;;;;:11;:19;17404:6;17392:19;;;;;;;;;;;;;;;:33;17412:12;:10;:12::i;:::-;17392:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;17361:8;:121::i;:::-;17500:4;17493:11;;17199:313;;;;;:::o;16505:83::-;16546:5;16571:9;;;;;;;;;;;16564:16;;16505:83;:::o;17520:218::-;17608:4;17625:83;17634:12;:10;:12::i;:::-;17648:7;17657:50;17696:10;17657:11;:25;17669:12;:10;:12::i;:::-;17657:25;;;;;;;;;;;;;;;:34;17683:7;17657:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;17625:8;:83::i;:::-;17726:4;17719:11;;17520:218;;;;:::o;14708:26::-;;;;:::o;15028:28::-;;;;;;;;;;;;;:::o;15098:40::-;;;;;;;;;;;;;:::o;22438:172::-;22545:4;22511:38;;:18;:32;22530:12;:10;:12::i;:::-;22511:32;;;;;;;;;;;;;;;;;;;;;;;;;:38;;;22503:47;;;;;;22571:4;22561:7;:14;;;;22597:5;22586:8;:16;;;;22438:172;;:::o;18023:116::-;18089:7;18116:6;:15;18123:7;18116:15;;;;;;;;;;;;;;;;18109:22;;18023:116;;;:::o;5956:103::-;5680:13;:11;:13::i;:::-;6021:30:::1;6048:1;6021:18;:30::i;:::-;5956:103::o:0;15223:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;22111:319::-;5680:13;:11;:13::i;:::-;22166:32:::1;22220:42;22166:97;;22308:13;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22290:53;;;22352:4;22359:13;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22290:90;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22274:13;;:106;;;;;;;;;;;;;;;;;;22409:13;22391:15;;:31;;;;;;;;;;;;;;;;;;22155:275;22111:319::o:0;5721:87::-;5767:7;5794:6;;;;;;;;;;;5787:13;;5721:87;:::o;16410:::-;16449:13;16482:7;16475:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16410:87;:::o;17746:269::-;17839:4;17856:129;17865:12;:10;:12::i;:::-;17879:7;17888:96;17927:15;17888:96;;;;;;;;;;;;;;;;;:11;:25;17900:12;:10;:12::i;:::-;17888:25;;;;;;;;;;;;;;;:34;17914:7;17888:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;17856:8;:129::i;:::-;18003:4;17996:11;;17746:269;;;;:::o;16704:167::-;16782:4;16799:42;16809:12;:10;:12::i;:::-;16823:9;16834:6;16799:9;:42::i;:::-;16859:4;16852:11;;16704:167;;;;:::o;14741:27::-;;;;:::o;16879:143::-;16960:7;16987:11;:18;16999:5;16987:18;;;;;;;;;;;;;;;:27;17006:7;16987:27;;;;;;;;;;;;;;;;16980:34;;16879:143;;;;:::o;6067:201::-;5680:13;:11;:13::i;:::-;6176:1:::1;6156:22;;:8;:22;;::::0;6148:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6232:28;6251:8;6232:18;:28::i;:::-;6067:201:::0;:::o;5166:98::-;5219:7;5246:10;5239:17;;5166:98;:::o;18693:266::-;18805:1;18788:19;;:5;:19;;;;:44;;;;;18830:1;18811:21;;:7;:21;;;;18788:44;18780:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;18895:6;18865:11;:18;18877:5;18865:18;;;;;;;;;;;;;;;:27;18884:7;18865:27;;;;;;;;;;;;;;;:36;;;;18933:7;18917:32;;18926:5;18917:32;;;18942:6;18917:32;;;;;;:::i;:::-;;;;;;;;18693:266;;;:::o;18967:1041::-;19107:1;19091:18;;:4;:18;;;;:38;;;;;19127:1;19113:16;;:2;:16;;;;19091:38;19083:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;19183:1;19174:6;:10;19166:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;19267:11;;;;;;;;;;;19256:22;;:7;;;;;;;;;;;:22;;;;:57;;;;;19297:16;;;;;;;;;;;19296:17;19256:57;:95;;;;;19338:13;;;;;;;;;;;19330:21;;:4;:21;;;;19256:95;:133;;;;;19368:21;;;;;;;;;;;19256:133;19239:393;;;19444:1;19434:7;;:11;;;;;;;;;;;;;;;;;;19460:28;19491:24;19509:4;19491:9;:24::i;:::-;19460:55;;19556:1;19533:20;:24;19530:91;;;19573:36;19588:20;19573:14;:36::i;:::-;19530:91;19415:217;19239:393;19646:12;19661:4;19646:19;;19681:18;:24;19700:4;19681:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;19709:18;:22;19728:2;19709:22;;;;;;;;;;;;;;;;;;;;;;;;;19681:50;:119;;;;19736:15;;;;;;;;;;;:40;;;;;19763:13;;;;;;;;;;;19755:21;;:4;:21;;;;19736:40;:63;;;;;19786:13;;;;;;;;;;;19780:19;;:2;:19;;;;19736:63;19681:119;19678:272;;;19826:5;19816:15;;19678:272;;;19861:13;;;;;;;;;;;19853:21;;:4;:21;;;19849:101;;19888:7;;19876:9;:19;;;;19849:101;;;19913:13;;;;;;;;;;;19907:19;;:2;:19;;;19903:47;;19940:8;;19928:9;:20;;;;19903:47;19849:101;19678:272;19962:38;19977:4;19982:2;19985:6;19992:7;19962:14;:38::i;:::-;19070:938;18967:1041;;;:::o;3949:206::-;4035:7;4093:1;4088;:6;;4096:12;4080:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4135:1;4131;:5;4124:12;;3949:206;;;;;:::o;3525:98::-;3583:7;3614:1;3610;:5;;;;:::i;:::-;3603:12;;3525:98;;;;:::o;5816:132::-;5891:12;:10;:12::i;:::-;5880:23;;:7;:5;:7::i;:::-;:23;;;5872:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5816:132::o;6276:191::-;6350:16;6369:6;;;;;;;;;;;6350:25;;6395:8;6386:6;;:17;;;;;;;;;;;;;;;;;;6450:8;6419:40;;6440:8;6419:40;;;;;;;;;;;;6339:128;6276:191;:::o;20376:232::-;15707:4;15688:16;;:23;;;;;;;;;;;;;;;;;;20460:37:::1;20476:20;20460:15;:37::i;:::-;20508:18;20529:21;20508:42;;20561:39;20572:16;;;;;;;;;;;20589:10;20561;:39::i;:::-;20447:161;15753:5:::0;15734:16;;:24;;;;;;;;;;;;;;;;;;20376:232;:::o;21103:332::-;21218:7;21214:107;;21241:14;:12;:14::i;:::-;21214:107;;;21296:7;;:9;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;21214:107;21335:41;21350:6;21358:9;21369:6;21335:14;:41::i;:::-;21393:7;21389:38;;21415:12;:10;:12::i;:::-;21389:38;21103:332;;;;:::o;20620:473::-;20687:21;20725:1;20711:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20687:40;;20756:4;20738;20743:1;20738:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;20782:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20772:4;20777:1;20772:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;20815:62;20832:4;20847:15;;;;;;;;;;;20865:11;20815:8;:62::i;:::-;20888:15;;;;;;;;;;;:66;;;20969:11;20995:1;21012:4;21039;21059:15;20888:197;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20674:419;20620:473;:::o;20016:118::-;20099:6;:15;;:23;20115:6;20099:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20016:118;;:::o;18235:296::-;18294:1;18281:9;;:14;:30;;;;;18310:1;18299:7;;:12;18281:30;:47;;;;;18327:1;18315:8;;:13;18281:47;18330:7;18278:59;18365:7;;18347:15;:25;;;;18403:8;;18384:16;:27;;;;18443:9;;18423:17;:29;;;;18473:1;18463:7;:11;;;;18496:1;18485:8;:12;;;;18520:1;18508:9;:13;;;;18235:296;:::o;21443:661::-;21537:14;21554:7;:18;21562:9;21554:18;;;;;;;;;;;;;;;;;;;;;;;;;:32;;21585:1;21554:32;;;21573:11;;21554:32;21537:49;;21602:7;:18;21610:9;21602:18;;;;;;;;;;;;;;;;;;;;;;;;;21599:498;;;21649:26;21668:6;21649;:14;21656:6;21649:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;21632:6;:14;21639:6;21632:14;;;;;;;;;;;;;;;:43;;;;21706:29;21728:6;21706;:17;21713:9;21706:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;21686:6;:17;21693:9;21686:17;;;;;;;;;;;;;;;:49;;;;21599:498;;;21763:23;21788:17;21809;21819:6;21809:9;:17::i;:::-;21762:64;;;;21854:26;21873:6;21854;:14;21861:6;21854:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;21837:6;:14;21844:6;21837:14;;;;;;;;;;;;;;;:43;;;;21911:38;21933:15;21911:6;:17;21918:9;21911:17;;;;;;;;;;;;;;;;:21;;:38;;;;:::i;:::-;21891:6;:17;21898:9;21891:17;;;;;;;;;;;;;;;:58;;;;21984:36;22010:9;21984:6;:21;21999:4;21984:21;;;;;;;;;;;;;;;;:25;;:36;;;;:::i;:::-;21960:6;:21;21975:4;21960:21;;;;;;;;;;;;;;;:60;;;;22054:9;22037:44;;22046:6;22037:44;;;22065:15;22037:44;;;;;;:::i;:::-;;;;;;;;21751:346;;21599:498;21526:578;21443:661;;;:::o;18539:146::-;18590:17;;18578:9;:29;;;;18624:15;;18614:7;:25;;;;18658:16;;18647:8;:27;;;;18539:146::o;3631:98::-;3689:7;3720:1;3716;:5;;;;:::i;:::-;3709:12;;3631:98;;;;:::o;20142:226::-;20200:7;20209;20229:12;20262:3;20252:9;;20244:7;:17;;;;:::i;:::-;:21;;;;:::i;:::-;20229:36;;20276:23;20302:17;20314:4;20302:7;:11;;:17;;;;:::i;:::-;20276:43;;20338:15;20355:4;20330:30;;;;;;20142:226;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:153::-;3869:9;3902:37;3933:5;3902:37;:::i;:::-;3889:50;;3792:153;;;:::o;3951:185::-;4065:64;4123:5;4065:64;:::i;:::-;4060:3;4053:77;3951:185;;:::o;4142:276::-;4262:4;4300:2;4289:9;4285:18;4277:26;;4313:98;4408:1;4397:9;4393:17;4384:6;4313:98;:::i;:::-;4142:276;;;;:::o;4424:118::-;4511:24;4529:5;4511:24;:::i;:::-;4506:3;4499:37;4424:118;;:::o;4548:222::-;4641:4;4679:2;4668:9;4664:18;4656:26;;4692:71;4760:1;4749:9;4745:17;4736:6;4692:71;:::i;:::-;4548:222;;;;:::o;4776:619::-;4853:6;4861;4869;4918:2;4906:9;4897:7;4893:23;4889:32;4886:119;;;4924:79;;:::i;:::-;4886:119;5044:1;5069:53;5114:7;5105:6;5094:9;5090:22;5069:53;:::i;:::-;5059:63;;5015:117;5171:2;5197:53;5242:7;5233:6;5222:9;5218:22;5197:53;:::i;:::-;5187:63;;5142:118;5299:2;5325:53;5370:7;5361:6;5350:9;5346:22;5325:53;:::i;:::-;5315:63;;5270:118;4776:619;;;;;:::o;5401:86::-;5436:7;5476:4;5469:5;5465:16;5454:27;;5401:86;;;:::o;5493:112::-;5576:22;5592:5;5576:22;:::i;:::-;5571:3;5564:35;5493:112;;:::o;5611:214::-;5700:4;5738:2;5727:9;5723:18;5715:26;;5751:67;5815:1;5804:9;5800:17;5791:6;5751:67;:::i;:::-;5611:214;;;;:::o;5831:118::-;5918:24;5936:5;5918:24;:::i;:::-;5913:3;5906:37;5831:118;;:::o;5955:222::-;6048:4;6086:2;6075:9;6071:18;6063:26;;6099:71;6167:1;6156:9;6152:17;6143:6;6099:71;:::i;:::-;5955:222;;;;:::o;6183:474::-;6251:6;6259;6308:2;6296:9;6287:7;6283:23;6279:32;6276:119;;;6314:79;;:::i;:::-;6276:119;6434:1;6459:53;6504:7;6495:6;6484:9;6480:22;6459:53;:::i;:::-;6449:63;;6405:117;6561:2;6587:53;6632:7;6623:6;6612:9;6608:22;6587:53;:::i;:::-;6577:63;;6532:118;6183:474;;;;;:::o;6663:329::-;6722:6;6771:2;6759:9;6750:7;6746:23;6742:32;6739:119;;;6777:79;;:::i;:::-;6739:119;6897:1;6922:53;6967:7;6958:6;6947:9;6943:22;6922:53;:::i;:::-;6912:63;;6868:117;6663:329;;;;:::o;6998:474::-;7066:6;7074;7123:2;7111:9;7102:7;7098:23;7094:32;7091:119;;;7129:79;;:::i;:::-;7091:119;7249:1;7274:53;7319:7;7310:6;7299:9;7295:22;7274:53;:::i;:::-;7264:63;;7220:117;7376:2;7402:53;7447:7;7438:6;7427:9;7423:22;7402:53;:::i;:::-;7392:63;;7347:118;6998:474;;;;;:::o;7478:180::-;7526:77;7523:1;7516:88;7623:4;7620:1;7613:15;7647:4;7644:1;7637:15;7664:320;7708:6;7745:1;7739:4;7735:12;7725:22;;7792:1;7786:4;7782:12;7813:18;7803:81;;7869:4;7861:6;7857:17;7847:27;;7803:81;7931:2;7923:6;7920:14;7900:18;7897:38;7894:84;;7950:18;;:::i;:::-;7894:84;7715:269;7664:320;;;:::o;7990:143::-;8047:5;8078:6;8072:13;8063:22;;8094:33;8121:5;8094:33;:::i;:::-;7990:143;;;;:::o;8139:351::-;8209:6;8258:2;8246:9;8237:7;8233:23;8229:32;8226:119;;;8264:79;;:::i;:::-;8226:119;8384:1;8409:64;8465:7;8456:6;8445:9;8441:22;8409:64;:::i;:::-;8399:74;;8355:128;8139:351;;;;:::o;8496:332::-;8617:4;8655:2;8644:9;8640:18;8632:26;;8668:71;8736:1;8725:9;8721:17;8712:6;8668:71;:::i;:::-;8749:72;8817:2;8806:9;8802:18;8793:6;8749:72;:::i;:::-;8496:332;;;;;:::o;8834:225::-;8974:34;8970:1;8962:6;8958:14;8951:58;9043:8;9038:2;9030:6;9026:15;9019:33;8834:225;:::o;9065:366::-;9207:3;9228:67;9292:2;9287:3;9228:67;:::i;:::-;9221:74;;9304:93;9393:3;9304:93;:::i;:::-;9422:2;9417:3;9413:12;9406:19;;9065:366;;;:::o;9437:419::-;9603:4;9641:2;9630:9;9626:18;9618:26;;9690:9;9684:4;9680:20;9676:1;9665:9;9661:17;9654:47;9718:131;9844:4;9718:131;:::i;:::-;9710:139;;9437:419;;;:::o;9862:167::-;10002:19;9998:1;9990:6;9986:14;9979:43;9862:167;:::o;10035:366::-;10177:3;10198:67;10262:2;10257:3;10198:67;:::i;:::-;10191:74;;10274:93;10363:3;10274:93;:::i;:::-;10392:2;10387:3;10383:12;10376:19;;10035:366;;;:::o;10407:419::-;10573:4;10611:2;10600:9;10596:18;10588:26;;10660:9;10654:4;10650:20;10646:1;10635:9;10631:17;10624:47;10688:131;10814:4;10688:131;:::i;:::-;10680:139;;10407:419;;;:::o;10832:171::-;10972:23;10968:1;10960:6;10956:14;10949:47;10832:171;:::o;11009:366::-;11151:3;11172:67;11236:2;11231:3;11172:67;:::i;:::-;11165:74;;11248:93;11337:3;11248:93;:::i;:::-;11366:2;11361:3;11357:12;11350:19;;11009:366;;;:::o;11381:419::-;11547:4;11585:2;11574:9;11570:18;11562:26;;11634:9;11628:4;11624:20;11620:1;11609:9;11605:17;11598:47;11662:131;11788:4;11662:131;:::i;:::-;11654:139;;11381:419;;;:::o;11806:224::-;11946:34;11942:1;11934:6;11930:14;11923:58;12015:7;12010:2;12002:6;11998:15;11991:32;11806:224;:::o;12036:366::-;12178:3;12199:67;12263:2;12258:3;12199:67;:::i;:::-;12192:74;;12275:93;12364:3;12275:93;:::i;:::-;12393:2;12388:3;12384:12;12377:19;;12036:366;;;:::o;12408:419::-;12574:4;12612:2;12601:9;12597:18;12589:26;;12661:9;12655:4;12651:20;12647:1;12636:9;12632:17;12625:47;12689:131;12815:4;12689:131;:::i;:::-;12681:139;;12408:419;;;:::o;12833:180::-;12881:77;12878:1;12871:88;12978:4;12975:1;12968:15;13002:4;12999:1;12992:15;13019:191;13059:3;13078:20;13096:1;13078:20;:::i;:::-;13073:25;;13112:20;13130:1;13112:20;:::i;:::-;13107:25;;13155:1;13152;13148:9;13141:16;;13176:3;13173:1;13170:10;13167:36;;;13183:18;;:::i;:::-;13167:36;13019:191;;;;:::o;13216:182::-;13356:34;13352:1;13344:6;13340:14;13333:58;13216:182;:::o;13404:366::-;13546:3;13567:67;13631:2;13626:3;13567:67;:::i;:::-;13560:74;;13643:93;13732:3;13643:93;:::i;:::-;13761:2;13756:3;13752:12;13745:19;;13404:366;;;:::o;13776:419::-;13942:4;13980:2;13969:9;13965:18;13957:26;;14029:9;14023:4;14019:20;14015:1;14004:9;14000:17;13993:47;14057:131;14183:4;14057:131;:::i;:::-;14049:139;;13776:419;;;:::o;14201:167::-;14238:3;14261:22;14277:5;14261:22;:::i;:::-;14252:31;;14305:4;14298:5;14295:15;14292:41;;14313:18;;:::i;:::-;14292:41;14360:1;14353:5;14349:13;14342:20;;14201:167;;;:::o;14374:180::-;14422:77;14419:1;14412:88;14519:4;14516:1;14509:15;14543:4;14540:1;14533:15;14560:180;14608:77;14605:1;14598:88;14705:4;14702:1;14695:15;14729:4;14726:1;14719:15;14746:85;14791:7;14820:5;14809:16;;14746:85;;;:::o;14837:158::-;14895:9;14928:61;14946:42;14955:32;14981:5;14955:32;:::i;:::-;14946:42;:::i;:::-;14928:61;:::i;:::-;14915:74;;14837:158;;;:::o;15001:147::-;15096:45;15135:5;15096:45;:::i;:::-;15091:3;15084:58;15001:147;;:::o;15154:114::-;15221:6;15255:5;15249:12;15239:22;;15154:114;;;:::o;15274:184::-;15373:11;15407:6;15402:3;15395:19;15447:4;15442:3;15438:14;15423:29;;15274:184;;;;:::o;15464:132::-;15531:4;15554:3;15546:11;;15584:4;15579:3;15575:14;15567:22;;15464:132;;;:::o;15602:108::-;15679:24;15697:5;15679:24;:::i;:::-;15674:3;15667:37;15602:108;;:::o;15716:179::-;15785:10;15806:46;15848:3;15840:6;15806:46;:::i;:::-;15884:4;15879:3;15875:14;15861:28;;15716:179;;;;:::o;15901:113::-;15971:4;16003;15998:3;15994:14;15986:22;;15901:113;;;:::o;16050:732::-;16169:3;16198:54;16246:5;16198:54;:::i;:::-;16268:86;16347:6;16342:3;16268:86;:::i;:::-;16261:93;;16378:56;16428:5;16378:56;:::i;:::-;16457:7;16488:1;16473:284;16498:6;16495:1;16492:13;16473:284;;;16574:6;16568:13;16601:63;16660:3;16645:13;16601:63;:::i;:::-;16594:70;;16687:60;16740:6;16687:60;:::i;:::-;16677:70;;16533:224;16520:1;16517;16513:9;16508:14;;16473:284;;;16477:14;16773:3;16766:10;;16174:608;;;16050:732;;;;:::o;16788:831::-;17051:4;17089:3;17078:9;17074:19;17066:27;;17103:71;17171:1;17160:9;17156:17;17147:6;17103:71;:::i;:::-;17184:80;17260:2;17249:9;17245:18;17236:6;17184:80;:::i;:::-;17311:9;17305:4;17301:20;17296:2;17285:9;17281:18;17274:48;17339:108;17442:4;17433:6;17339:108;:::i;:::-;17331:116;;17457:72;17525:2;17514:9;17510:18;17501:6;17457:72;:::i;:::-;17539:73;17607:3;17596:9;17592:19;17583:6;17539:73;:::i;:::-;16788:831;;;;;;;;:::o;17625:194::-;17665:4;17685:20;17703:1;17685:20;:::i;:::-;17680:25;;17719:20;17737:1;17719:20;:::i;:::-;17714:25;;17763:1;17760;17756:9;17748:17;;17787:1;17781:4;17778:11;17775:37;;;17792:18;;:::i;:::-;17775:37;17625:194;;;;:::o;17825:410::-;17865:7;17888:20;17906:1;17888:20;:::i;:::-;17883:25;;17922:20;17940:1;17922:20;:::i;:::-;17917:25;;17977:1;17974;17970:9;17999:30;18017:11;17999:30;:::i;:::-;17988:41;;18178:1;18169:7;18165:15;18162:1;18159:22;18139:1;18132:9;18112:83;18089:139;;18208:18;;:::i;:::-;18089:139;17873:362;17825:410;;;;:::o;18241:180::-;18289:77;18286:1;18279:88;18386:4;18383:1;18376:15;18410:4;18407:1;18400:15;18427:185;18467:1;18484:20;18502:1;18484:20;:::i;:::-;18479:25;;18518:20;18536:1;18518:20;:::i;:::-;18513:25;;18557:1;18547:35;;18562:18;;:::i;:::-;18547:35;18604:1;18601;18597:9;18592:14;;18427:185;;;;:::o
Swarm Source
ipfs://851f3c36e5827981bbf129f7251be62c1907346869a5099c0fb24fb2e7750dd4
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.