ERC-20
Overview
Max Total Supply
1,000,000 ERC20 ***
Holders
91
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.000000001 ERC20 ***Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DGI
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity Multiple files format)
// SPDX-License-Identifier: MIT /* Been waiting 9 long years. It's time for me to shine now. I'm coming. Both buy & sell tax will be 1% which will automatically burn our supply to reduce it and raise its value. Been thinking about it 9 long years. The sell tax will be 99% for the first 9 minutes. You will wait as many minutes as the years i waited. I decided to trust the evolution of the crypto world during these years. Will you trust 9 minutes? I'm a solitaire man and i don't like to talk too much. Once the $99.999 whale apes, the process will start. Lp will be locked 9 years once we hit 9M cap. In the meanwhile, 3 months is the set time. */ import "./ERC20.sol"; pragma solidity ^0.8.4; contract DGI is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; string private _name = unicode"Děngdai"; string private _symbol = unicode"等待"; uint8 private _decimals = 9; address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public isExcludedFromFee; mapping (address => bool) public isMarketPair; uint256 public _buyTax = 1; uint256 public _sellTax = 99; uint256 public _totalSupply = 1000000 * 10**_decimals; uint256 public _walletMax = 30000 * 10**_decimals; bool openTrade=false; IUniswapV2Router02 public uniswapV2Router; address public uniswapPair; bool public checkWalletLimit = true; event FeeBurn(uint256 amount); constructor () { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _allowances[address(this)][address(uniswapV2Router)] = _totalSupply; isExcludedFromFee[owner()] = true; isExcludedFromFee[address(this)] = true; isMarketPair[address(uniswapPair)] = true; _balances[_msgSender()] = _totalSupply; emit Transfer(address(0), _msgSender(), _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 balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } 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 approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function openTrading() public onlyOwner { openTrade=true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function setMarketPairStatus(address account, bool newValue) public onlyOwner { isMarketPair[account] = newValue; } function setBuyTaxes(uint256 value) external onlyOwner() { _buyTax=value; } function setSelTaxes(uint256 value) external onlyOwner() { _sellTax=value; } function enableDisableWalletLimit(bool newValue) external onlyOwner { checkWalletLimit = newValue; } function setWalletLimit(uint256 newLimit) external onlyOwner { require(newLimit >= 15000000, "Max Wallet min 15000000."); _walletMax = newLimit; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(deadAddress)); } function changeRouterVersion(address newRouterAddress) public onlyOwner returns(address newPairAddress) { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(newRouterAddress); newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this), _uniswapV2Router.WETH()); if(newPairAddress == address(0)) { newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); } uniswapPair = newPairAddress; uniswapV2Router = _uniswapV2Router; isMarketPair[address(uniswapPair)] = true; } receive() external payable {} function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, 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 _transfer(address sender, address recipient, uint256 amount) private returns (bool) { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); if(!isMarketPair[recipient] && sender != owner()) require(openTrade != false, "Trading is not active."); _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 finalAmount = (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) ? amount : takeFee(sender, recipient, amount); if(checkWalletLimit && !isMarketPair[recipient] && recipient != owner()) require(balanceOf(recipient).add(finalAmount) <= _walletMax); _balances[recipient] = _balances[recipient].add(finalAmount); emit Transfer(sender, recipient, finalAmount); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeAmount = 0; if(isMarketPair[sender]) { feeAmount = amount.mul(_buyTax).div(100); } else if(isMarketPair[recipient]) { feeAmount = amount.mul(_sellTax).div(100); } if(feeAmount > 0) { _balances[address(deadAddress)] = _balances[address(deadAddress)].add(feeAmount); emit FeeBurn(feeAmount); emit Transfer(sender, address(deadAddress), feeAmount); } return amount.sub(feeAmount); } }
pragma solidity ^0.8.4; // SPDX-License-Identifier: none abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } library Address { function isContract(address account) internal view returns (bool) { bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (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"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } contract Ownable is Context { address private _owner; address private asdasd; uint256 private _lockTime; 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 waiveOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0x000000000000000000000000000000000000dEaD)); _owner = address(0x000000000000000000000000000000000000dEaD); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } function getTime() public view returns (uint256) { return block.timestamp; } } 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 Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"FeeBurn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyTax","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":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","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":"address","name":"newRouterAddress","type":"address"}],"name":"changeRouterVersion","outputs":[{"internalType":"address","name":"newPairAddress","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"enableDisableWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setBuyTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setMarketPairStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setSelTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"waiveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60e0604052600860a09081526744c49b6e6764616960c01b60c0526003906200002990826200048d565b50604080518082019091526006815265e7ad89e5be8560d01b60208201526004906200005690826200048d565b506005805460ff1916600990811790915561dead6080526001600a9081556063600b556200008591906200066e565b6200009490620f424062000686565b600c55600554620000aa9060ff16600a6200066e565b620000b89061753062000686565b600d55600e805460ff19169055600f805460ff60a01b1916600160a01b179055348015620000e557600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200017f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a59190620006a0565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002199190620006a0565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000267573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028d9190620006a0565b600f80546001600160a01b0319166001600160a01b03928316179055600e8054610100600160a81b03191661010084841681029190911791829055600c5430600090815260076020908152604080832094909504909516815291909352908120919091556001906008906200030a6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260088452828120805486166001908117909155600f5490921681526009909352908220805490931617909155600c5490600690620003763390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c54604051620003d991815260200190565b60405180910390a350620006cb565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200041357607f821691505b6020821081036200043457634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200048857600081815260208120601f850160051c81016020861015620004635750805b601f850160051c820191505b8181101562000484578281556001016200046f565b5050505b505050565b81516001600160401b03811115620004a957620004a9620003e8565b620004c181620004ba8454620003fe565b846200043a565b602080601f831160018114620004f95760008415620004e05750858301515b600019600386901b1c1916600185901b17855562000484565b600085815260208120601f198616915b828110156200052a5788860151825594840194600190910190840162000509565b5085821015620005495787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005b057816000190482111562000594576200059462000559565b80851615620005a257918102915b93841c939080029062000574565b509250929050565b600082620005c95750600162000668565b81620005d85750600062000668565b8160018114620005f15760028114620005fc576200061c565b600191505062000668565b60ff84111562000610576200061062000559565b50506001821b62000668565b5060208310610133831016604e8410600b841016171562000641575081810a62000668565b6200064d83836200056f565b806000190482111562000664576200066462000559565b0290505b92915050565b60006200067f60ff841683620005b8565b9392505050565b808202811582820484141762000668576200066862000559565b600060208284031215620006b357600080fd5b81516001600160a01b03811681146200067f57600080fd5b6080516119a26200070360003960008181610309015281816107cd0152818161146a015281816114a5015261151401526119a26000f3fe6080604052600436106101f25760003560e01c80635881f3ef1161010d578063a457c2d7116100a0578063ca9ec1991161006f578063ca9ec199146105aa578063dd62ed3e146105c0578063f1d5f51714610606578063f2fde38b14610626578063f872858a1461064657600080fd5b8063a457c2d714610535578063a9059cbb14610555578063c816841b14610575578063c9567bf91461059557600080fd5b80638da5cb5b116100dc5780638da5cb5b146104cd578063914eb66a146104eb57806395d89b4114610500578063a3ca847d1461051557600080fd5b80635881f3ef1461044157806370a0823114610461578063807c2d9c14610497578063844d591c146104ad57600080fd5b8063313ce5671161018557806342a110951161015457806342a11095146103c85780635342acb4146103de5780635453184e1461040e578063557ed1ba1461042e57600080fd5b8063313ce5671461034057806339509351146103625780633eaaf86b146103825780633ecad2711461039857600080fd5b806323b872dd116101c157806323b872dd146102b55780632563ae83146102d557806327c8f835146102f75780632b112e491461032b57600080fd5b806306fdde03146101fe578063095ea7b3146102295780631694505e1461025957806318160ddd1461029657600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b50610213610667565b6040516102209190611677565b60405180910390f35b34801561023557600080fd5b506102496102443660046116dd565b6106f9565b6040519015158152602001610220565b34801561026557600080fd5b50600e5461027e9061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610220565b3480156102a257600080fd5b50600c545b604051908152602001610220565b3480156102c157600080fd5b506102496102d0366004611709565b610710565b3480156102e157600080fd5b506102f56102f036600461175f565b61077a565b005b34801561030357600080fd5b5061027e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561033757600080fd5b506102a76107cb565b34801561034c57600080fd5b5060055460405160ff9091168152602001610220565b34801561036e57600080fd5b5061024961037d3660046116dd565b610815565b34801561038e57600080fd5b506102a7600c5481565b3480156103a457600080fd5b506102496103b336600461177a565b60096020526000908152604090205460ff1681565b3480156103d457600080fd5b506102a7600a5481565b3480156103ea57600080fd5b506102496103f936600461177a565b60086020526000908152604090205460ff1681565b34801561041a57600080fd5b506102f5610429366004611797565b61084b565b34801561043a57600080fd5b50426102a7565b34801561044d57600080fd5b5061027e61045c36600461177a565b61087a565b34801561046d57600080fd5b506102a761047c36600461177a565b6001600160a01b031660009081526006602052604090205490565b3480156104a357600080fd5b506102a7600d5481565b3480156104b957600080fd5b506102f56104c83660046117b0565b610ba0565b3480156104d957600080fd5b506000546001600160a01b031661027e565b3480156104f757600080fd5b506102f5610bf5565b34801561050c57600080fd5b50610213610c6f565b34801561052157600080fd5b506102f5610530366004611797565b610c7e565b34801561054157600080fd5b506102496105503660046116dd565b610cad565b34801561056157600080fd5b506102496105703660046116dd565b610cfc565b34801561058157600080fd5b50600f5461027e906001600160a01b031681565b3480156105a157600080fd5b506102f5610d09565b3480156105b657600080fd5b506102a7600b5481565b3480156105cc57600080fd5b506102a76105db3660046117e5565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561061257600080fd5b506102f5610621366004611797565b610d42565b34801561063257600080fd5b506102f561064136600461177a565b610dc4565b34801561065257600080fd5b50600f5461024990600160a01b900460ff1681565b6060600380546106769061181e565b80601f01602080910402602001604051908101604052809291908181526020018280546106a29061181e565b80156106ef5780601f106106c4576101008083540402835291602001916106ef565b820191906000526020600020905b8154815290600101906020018083116106d257829003601f168201915b5050505050905090565b6000610706338484610eae565b5060015b92915050565b600061071d848484610fd2565b50610770843361076b85604051806060016040528060288152602001611920602891396001600160a01b038a16600090815260076020908152604080832033845290915290205491906112f0565b610eae565b5060019392505050565b6000546001600160a01b031633146107ad5760405162461bcd60e51b81526004016107a490611858565b60405180910390fd5b600f8054911515600160a01b0260ff60a01b19909216919091179055565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316600090815260066020526040812054600c546108109161132a565b905090565b3360008181526007602090815260408083206001600160a01b0387168452909152812054909161070691859061076b9086611373565b6000546001600160a01b031633146108755760405162461bcd60e51b81526004016107a490611858565b600b55565b600080546001600160a01b031633146108a55760405162461bcd60e51b81526004016107a490611858565b6000829050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090c919061188d565b6001600160a01b031663e6a4390530836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610959573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097d919061188d565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa1580156109c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ec919061188d565b91506001600160a01b038216610b4357806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5e919061188d565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acf919061188d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610b1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b40919061188d565b91505b600f80546001600160a01b038085166001600160a01b03199092168217909255600e80549390921661010002610100600160a81b03199093169290921790556000908152600960205260409020805460ff19166001179055919050565b6000546001600160a01b03163314610bca5760405162461bcd60e51b81526004016107a490611858565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610c1f5760405162461bcd60e51b81526004016107a490611858565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6060600480546106769061181e565b6000546001600160a01b03163314610ca85760405162461bcd60e51b81526004016107a490611858565b600a55565b6000610706338461076b85604051806060016040528060258152602001611948602591393360009081526007602090815260408083206001600160a01b038d16845290915290205491906112f0565b6000610770338484610fd2565b6000546001600160a01b03163314610d335760405162461bcd60e51b81526004016107a490611858565b600e805460ff19166001179055565b6000546001600160a01b03163314610d6c5760405162461bcd60e51b81526004016107a490611858565b62e4e1c0811015610dbf5760405162461bcd60e51b815260206004820152601860248201527f4d61782057616c6c6574206d696e2031353030303030302e000000000000000060448201526064016107a4565b600d55565b6000546001600160a01b03163314610dee5760405162461bcd60e51b81526004016107a490611858565b6001600160a01b038116610e535760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107a4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610f105760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107a4565b6001600160a01b038216610f715760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107a4565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166110385760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107a4565b6001600160a01b03831661109a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107a4565b6001600160a01b03831660009081526009602052604090205460ff161580156110d157506000546001600160a01b03858116911614155b1561112657600e5460ff1615156000036111265760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016107a4565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600690915291909120546111789184906112f0565b6001600160a01b038516600090815260066020908152604080832093909355600890529081205460ff16806111c557506001600160a01b03841660009081526008602052604090205460ff165b6111d9576111d48585856113d2565b6111db565b825b600f54909150600160a01b900460ff16801561121057506001600160a01b03841660009081526009602052604090205460ff16155b801561122a57506000546001600160a01b03858116911614155b1561126657600d5461125b82611255876001600160a01b031660009081526006602052604090205490565b90611373565b111561126657600080fd5b6001600160a01b0384166000908152600660205260409020546112899082611373565b6001600160a01b0380861660008181526006602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112dd9085815260200190565b60405180910390a3506001949350505050565b600081848411156113145760405162461bcd60e51b81526004016107a49190611677565b50600061132184866118c0565b95945050505050565b600061136c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112f0565b9392505050565b60008061138083856118d3565b90508381101561136c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016107a4565b6001600160a01b038316600090815260096020526040812054819060ff161561141c57611415606461140f600a548661158a90919063ffffffff16565b9061160c565b905061145a565b6001600160a01b03841660009081526009602052604090205460ff161561145a57611457606461140f600b548661158a90919063ffffffff16565b90505b8015611580576001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166000908152600660205260409020546114a39082611373565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660009081526006602090815260409182902092909255518281527f57062e7b32439d519dac7dc305789d854ff08a3b14878d3f76614e40e994826c910160405180910390a17f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161157791815260200190565b60405180910390a35b611321838261132a565b60008260000361159c5750600061070a565b60006115a883856118e6565b9050826115b585836118fd565b1461136c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016107a4565b600061136c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506000818361166a5760405162461bcd60e51b81526004016107a49190611677565b50600061132184866118fd565b600060208083528351808285015260005b818110156116a457858101830151858201604001528201611688565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146116da57600080fd5b50565b600080604083850312156116f057600080fd5b82356116fb816116c5565b946020939093013593505050565b60008060006060848603121561171e57600080fd5b8335611729816116c5565b92506020840135611739816116c5565b929592945050506040919091013590565b8035801515811461175a57600080fd5b919050565b60006020828403121561177157600080fd5b61136c8261174a565b60006020828403121561178c57600080fd5b813561136c816116c5565b6000602082840312156117a957600080fd5b5035919050565b600080604083850312156117c357600080fd5b82356117ce816116c5565b91506117dc6020840161174a565b90509250929050565b600080604083850312156117f857600080fd5b8235611803816116c5565b91506020830135611813816116c5565b809150509250929050565b600181811c9082168061183257607f821691505b60208210810361185257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561189f57600080fd5b815161136c816116c5565b634e487b7160e01b600052601160045260246000fd5b8181038181111561070a5761070a6118aa565b8082018082111561070a5761070a6118aa565b808202811582820484141761070a5761070a6118aa565b60008261191a57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220652d51a0c4d42afcb78e4aa873fdd91d7f98c7767282d4fcb7dcaf0ad8bc4a7064736f6c63430008110033
Deployed Bytecode
0x6080604052600436106101f25760003560e01c80635881f3ef1161010d578063a457c2d7116100a0578063ca9ec1991161006f578063ca9ec199146105aa578063dd62ed3e146105c0578063f1d5f51714610606578063f2fde38b14610626578063f872858a1461064657600080fd5b8063a457c2d714610535578063a9059cbb14610555578063c816841b14610575578063c9567bf91461059557600080fd5b80638da5cb5b116100dc5780638da5cb5b146104cd578063914eb66a146104eb57806395d89b4114610500578063a3ca847d1461051557600080fd5b80635881f3ef1461044157806370a0823114610461578063807c2d9c14610497578063844d591c146104ad57600080fd5b8063313ce5671161018557806342a110951161015457806342a11095146103c85780635342acb4146103de5780635453184e1461040e578063557ed1ba1461042e57600080fd5b8063313ce5671461034057806339509351146103625780633eaaf86b146103825780633ecad2711461039857600080fd5b806323b872dd116101c157806323b872dd146102b55780632563ae83146102d557806327c8f835146102f75780632b112e491461032b57600080fd5b806306fdde03146101fe578063095ea7b3146102295780631694505e1461025957806318160ddd1461029657600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b50610213610667565b6040516102209190611677565b60405180910390f35b34801561023557600080fd5b506102496102443660046116dd565b6106f9565b6040519015158152602001610220565b34801561026557600080fd5b50600e5461027e9061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610220565b3480156102a257600080fd5b50600c545b604051908152602001610220565b3480156102c157600080fd5b506102496102d0366004611709565b610710565b3480156102e157600080fd5b506102f56102f036600461175f565b61077a565b005b34801561030357600080fd5b5061027e7f000000000000000000000000000000000000000000000000000000000000dead81565b34801561033757600080fd5b506102a76107cb565b34801561034c57600080fd5b5060055460405160ff9091168152602001610220565b34801561036e57600080fd5b5061024961037d3660046116dd565b610815565b34801561038e57600080fd5b506102a7600c5481565b3480156103a457600080fd5b506102496103b336600461177a565b60096020526000908152604090205460ff1681565b3480156103d457600080fd5b506102a7600a5481565b3480156103ea57600080fd5b506102496103f936600461177a565b60086020526000908152604090205460ff1681565b34801561041a57600080fd5b506102f5610429366004611797565b61084b565b34801561043a57600080fd5b50426102a7565b34801561044d57600080fd5b5061027e61045c36600461177a565b61087a565b34801561046d57600080fd5b506102a761047c36600461177a565b6001600160a01b031660009081526006602052604090205490565b3480156104a357600080fd5b506102a7600d5481565b3480156104b957600080fd5b506102f56104c83660046117b0565b610ba0565b3480156104d957600080fd5b506000546001600160a01b031661027e565b3480156104f757600080fd5b506102f5610bf5565b34801561050c57600080fd5b50610213610c6f565b34801561052157600080fd5b506102f5610530366004611797565b610c7e565b34801561054157600080fd5b506102496105503660046116dd565b610cad565b34801561056157600080fd5b506102496105703660046116dd565b610cfc565b34801561058157600080fd5b50600f5461027e906001600160a01b031681565b3480156105a157600080fd5b506102f5610d09565b3480156105b657600080fd5b506102a7600b5481565b3480156105cc57600080fd5b506102a76105db3660046117e5565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561061257600080fd5b506102f5610621366004611797565b610d42565b34801561063257600080fd5b506102f561064136600461177a565b610dc4565b34801561065257600080fd5b50600f5461024990600160a01b900460ff1681565b6060600380546106769061181e565b80601f01602080910402602001604051908101604052809291908181526020018280546106a29061181e565b80156106ef5780601f106106c4576101008083540402835291602001916106ef565b820191906000526020600020905b8154815290600101906020018083116106d257829003601f168201915b5050505050905090565b6000610706338484610eae565b5060015b92915050565b600061071d848484610fd2565b50610770843361076b85604051806060016040528060288152602001611920602891396001600160a01b038a16600090815260076020908152604080832033845290915290205491906112f0565b610eae565b5060019392505050565b6000546001600160a01b031633146107ad5760405162461bcd60e51b81526004016107a490611858565b60405180910390fd5b600f8054911515600160a01b0260ff60a01b19909216919091179055565b7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b0316600090815260066020526040812054600c546108109161132a565b905090565b3360008181526007602090815260408083206001600160a01b0387168452909152812054909161070691859061076b9086611373565b6000546001600160a01b031633146108755760405162461bcd60e51b81526004016107a490611858565b600b55565b600080546001600160a01b031633146108a55760405162461bcd60e51b81526004016107a490611858565b6000829050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090c919061188d565b6001600160a01b031663e6a4390530836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610959573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097d919061188d565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa1580156109c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ec919061188d565b91506001600160a01b038216610b4357806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5e919061188d565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acf919061188d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610b1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b40919061188d565b91505b600f80546001600160a01b038085166001600160a01b03199092168217909255600e80549390921661010002610100600160a81b03199093169290921790556000908152600960205260409020805460ff19166001179055919050565b6000546001600160a01b03163314610bca5760405162461bcd60e51b81526004016107a490611858565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610c1f5760405162461bcd60e51b81526004016107a490611858565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6060600480546106769061181e565b6000546001600160a01b03163314610ca85760405162461bcd60e51b81526004016107a490611858565b600a55565b6000610706338461076b85604051806060016040528060258152602001611948602591393360009081526007602090815260408083206001600160a01b038d16845290915290205491906112f0565b6000610770338484610fd2565b6000546001600160a01b03163314610d335760405162461bcd60e51b81526004016107a490611858565b600e805460ff19166001179055565b6000546001600160a01b03163314610d6c5760405162461bcd60e51b81526004016107a490611858565b62e4e1c0811015610dbf5760405162461bcd60e51b815260206004820152601860248201527f4d61782057616c6c6574206d696e2031353030303030302e000000000000000060448201526064016107a4565b600d55565b6000546001600160a01b03163314610dee5760405162461bcd60e51b81526004016107a490611858565b6001600160a01b038116610e535760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107a4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610f105760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107a4565b6001600160a01b038216610f715760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107a4565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166110385760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107a4565b6001600160a01b03831661109a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107a4565b6001600160a01b03831660009081526009602052604090205460ff161580156110d157506000546001600160a01b03858116911614155b1561112657600e5460ff1615156000036111265760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016107a4565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600690915291909120546111789184906112f0565b6001600160a01b038516600090815260066020908152604080832093909355600890529081205460ff16806111c557506001600160a01b03841660009081526008602052604090205460ff165b6111d9576111d48585856113d2565b6111db565b825b600f54909150600160a01b900460ff16801561121057506001600160a01b03841660009081526009602052604090205460ff16155b801561122a57506000546001600160a01b03858116911614155b1561126657600d5461125b82611255876001600160a01b031660009081526006602052604090205490565b90611373565b111561126657600080fd5b6001600160a01b0384166000908152600660205260409020546112899082611373565b6001600160a01b0380861660008181526006602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112dd9085815260200190565b60405180910390a3506001949350505050565b600081848411156113145760405162461bcd60e51b81526004016107a49190611677565b50600061132184866118c0565b95945050505050565b600061136c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112f0565b9392505050565b60008061138083856118d3565b90508381101561136c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016107a4565b6001600160a01b038316600090815260096020526040812054819060ff161561141c57611415606461140f600a548661158a90919063ffffffff16565b9061160c565b905061145a565b6001600160a01b03841660009081526009602052604090205460ff161561145a57611457606461140f600b548661158a90919063ffffffff16565b90505b8015611580576001600160a01b037f000000000000000000000000000000000000000000000000000000000000dead166000908152600660205260409020546114a39082611373565b7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b031660009081526006602090815260409182902092909255518281527f57062e7b32439d519dac7dc305789d854ff08a3b14878d3f76614e40e994826c910160405180910390a17f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161157791815260200190565b60405180910390a35b611321838261132a565b60008260000361159c5750600061070a565b60006115a883856118e6565b9050826115b585836118fd565b1461136c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016107a4565b600061136c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506000818361166a5760405162461bcd60e51b81526004016107a49190611677565b50600061132184866118fd565b600060208083528351808285015260005b818110156116a457858101830151858201604001528201611688565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146116da57600080fd5b50565b600080604083850312156116f057600080fd5b82356116fb816116c5565b946020939093013593505050565b60008060006060848603121561171e57600080fd5b8335611729816116c5565b92506020840135611739816116c5565b929592945050506040919091013590565b8035801515811461175a57600080fd5b919050565b60006020828403121561177157600080fd5b61136c8261174a565b60006020828403121561178c57600080fd5b813561136c816116c5565b6000602082840312156117a957600080fd5b5035919050565b600080604083850312156117c357600080fd5b82356117ce816116c5565b91506117dc6020840161174a565b90509250929050565b600080604083850312156117f857600080fd5b8235611803816116c5565b91506020830135611813816116c5565b809150509250929050565b600181811c9082168061183257607f821691505b60208210810361185257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561189f57600080fd5b815161136c816116c5565b634e487b7160e01b600052601160045260246000fd5b8181038181111561070a5761070a6118aa565b8082018082111561070a5761070a6118aa565b808202811582820484141761070a5761070a6118aa565b60008261191a57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220652d51a0c4d42afcb78e4aa873fdd91d7f98c7767282d4fcb7dcaf0ad8bc4a7064736f6c63430008110033
Deployed Bytecode Sourcemap
762:7437:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2431:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3597:161;;;;;;;;;;-1:-1:-1;3597:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:2;;1181:22;1163:41;;1151:2;1136:18;3597:161:0;1023:187:2;1581:41:0;;;;;;;;;;-1:-1:-1;1581:41:0;;;;;;;-1:-1:-1;;;;;1581:41:0;;;;;;-1:-1:-1;;;;;1406:32:2;;;1388:51;;1376:2;1361:18;1581:41:0;1215:230:2;2708:100:0;;;;;;;;;;-1:-1:-1;2788:12:0;;2708:100;;;1596:25:2;;;1584:2;1569:18;2708:100:0;1450:177:2;5879:313:0;;;;;;;;;;-1:-1:-1;5879:313:0;;;;;:::i;:::-;;:::i;4536:113::-;;;;;;;;;;-1:-1:-1;4536:113:0;;;;;:::i;:::-;;:::i;:::-;;1011:81;;;;;;;;;;;;;;;4841:128;;;;;;;;;;;;;:::i;2617:83::-;;;;;;;;;;-1:-1:-1;2683:9:0;;2617:83;;2683:9;;;;2793:36:2;;2781:2;2766:18;2617:83:0;2651:184:2;3094:218:0;;;;;;;;;;-1:-1:-1;3094:218:0;;;;;:::i;:::-;;:::i;1419:54::-;;;;;;;;;;;;;;;;1295:45;;;;;;;;;;-1:-1:-1;1295:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;1349:26;;;;;;;;;;;;;;;;1238:50;;;;;;;;;;-1:-1:-1;1238:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4428:90;;;;;;;;;;-1:-1:-1;4428:90:0;;;;;:::i;:::-;;:::i;5994::1:-;;;;;;;;;;-1:-1:-1;6061:15:1;5994:90;;4979:678:0;;;;;;;;;;-1:-1:-1;4979:678:0;;;;;:::i;:::-;;:::i;2816:119::-;;;;;;;;;;-1:-1:-1;2816:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;2909:18:0;2882:7;2909:18;;;:9;:18;;;;;;;2816:119;1484:53;;;;;;;;;;;;;;;;4192:129;;;;;;;;;;-1:-1:-1;4192:129:0;;;;;:::i;:::-;;:::i;5278:79:1:-;;;;;;;;;;-1:-1:-1;5316:7:1;5343:6;-1:-1:-1;;;;;5343:6:1;5278:79;;5503:227;;;;;;;;;;;;;:::i;2522:87:0:-;;;;;;;;;;;;;:::i;4331:89::-;;;;;;;;;;-1:-1:-1;4331:89:0;;;;;:::i;:::-;;:::i;3320:269::-;;;;;;;;;;-1:-1:-1;3320:269:0;;;;;:::i;:::-;;:::i;5704:167::-;;;;;;;;;;-1:-1:-1;5704:167:0;;;;;:::i;:::-;;:::i;1629:26::-;;;;;;;;;;-1:-1:-1;1629:26:0;;;;-1:-1:-1;;;;;1629:26:0;;;3766:73;;;;;;;;;;;;;:::i;1382:28::-;;;;;;;;;;;;;;;;2943:143;;;;;;;;;;-1:-1:-1;2943:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;3051:18:0;;;3024:7;3051:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2943:143;4659:170;;;;;;;;;;-1:-1:-1;4659:170:0;;;;;:::i;:::-;;:::i;5738:244:1:-;;;;;;;;;;-1:-1:-1;5738:244:1;;;;;:::i;:::-;;:::i;1668:35:0:-;;;;;;;;;;-1:-1:-1;1668:35:0;;;;-1:-1:-1;;;1668:35:0;;;;;;2431:83;2468:13;2501:5;2494:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2431:83;:::o;3597:161::-;3672:4;3689:39;192:10:1;3712:7:0;3721:6;3689:8;:39::i;:::-;-1:-1:-1;3746:4:0;3597:161;;;;;:::o;5879:313::-;5977:4;5994:36;6004:6;6012:9;6023:6;5994:9;:36::i;:::-;-1:-1:-1;6041:121:0;6050:6;192:10:1;6072:89:0;6110:6;6072:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6072:19:0;;;;;;:11;:19;;;;;;;;192:10:1;6072:33:0;;;;;;;;;;:37;:89::i;:::-;6041:8;:121::i;:::-;-1:-1:-1;6180:4:0;5879:313;;;;;:::o;4536:113::-;5412:6:1;;-1:-1:-1;;;;;5412:6:1;192:10;5412:22;5404:67;;;;-1:-1:-1;;;5404:67:1;;;;;;;:::i;:::-;;;;;;;;;4614:16:0::1;:27:::0;;;::::1;;-1:-1:-1::0;;;4614:27:0::1;-1:-1:-1::0;;;;4614:27:0;;::::1;::::0;;;::::1;::::0;;4536:113::o;4841:128::-;4948:11;-1:-1:-1;;;;;2909:18:0;4894:7;2909:18;;;:9;:18;;;;;;4921:12;;:40;;:16;:40::i;:::-;4914:47;;4841:128;:::o;3094:218::-;192:10:1;3182:4:0;3231:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;3231:34:0;;;;;;;;;;3182:4;;3199:83;;3222:7;;3231:50;;3270:10;3231:38;:50::i;4428:90::-;5412:6:1;;-1:-1:-1;;;;;5412:6:1;192:10;5412:22;5404:67;;;;-1:-1:-1;;;5404:67:1;;;;;;;:::i;:::-;4496:8:0::1;:14:::0;4428:90::o;4979:678::-;5059:22;5412:6:1;;-1:-1:-1;;;;;5412:6:1;192:10;5412:22;5404:67;;;;-1:-1:-1;;;5404:67:1;;;;;;;:::i;:::-;5096:35:0::1;5153:16;5096:74;;5219:16;-1:-1:-1::0;;;;;5219:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5201:53:0::1;;5263:4;5270:16;-1:-1:-1::0;;;;;5270:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5201:93;::::0;-1:-1:-1;;;;;;5201:93:0::1;::::0;;;;;;-1:-1:-1;;;;;5222:15:2;;;5201:93:0::1;::::0;::::1;5204:34:2::0;5274:15;;5254:18;;;5247:43;5139:18;;5201:93:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5184:110:::0;-1:-1:-1;;;;;;5310:28:0;::::1;5307:201;;5400:16;-1:-1:-1::0;;;;;5400:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5382:74:0::1;;5465:4;5472:16;-1:-1:-1::0;;;;;5472:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5382:114;::::0;-1:-1:-1;;;;;;5382:114:0::1;::::0;;;;;;-1:-1:-1;;;;;5222:15:2;;;5382:114:0::1;::::0;::::1;5204:34:2::0;5274:15;;5254:18;;;5247:43;5139:18;;5382:114:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5365:131;;5307:201;5520:11;:28:::0;;-1:-1:-1;;;;;5520:28:0;;::::1;-1:-1:-1::0;;;;;;5520:28:0;;::::1;::::0;::::1;::::0;;;5560:15:::1;:34:::0;;;;;::::1;5520:28;5560:34;-1:-1:-1::0;;;;;;5560:34:0;;::::1;::::0;;;::::1;::::0;;5520:11:::1;5608:34:::0;;;:12:::1;:34;::::0;;;;:41;;-1:-1:-1;;5608:41:0::1;5520:28:::0;5608:41:::1;::::0;;5534:14;4979:678;-1:-1:-1;4979:678:0:o;4192:129::-;5412:6:1;;-1:-1:-1;;;;;5412:6:1;192:10;5412:22;5404:67;;;;-1:-1:-1;;;5404:67:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;4281:21:0;;;::::1;;::::0;;;:12:::1;:21;::::0;;;;:32;;-1:-1:-1;;4281:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;4192:129::o;5503:227:1:-;5412:6;;-1:-1:-1;;;;;5412:6:1;192:10;5412:22;5404:67;;;;-1:-1:-1;;;5404:67:1;;;;;;;:::i;:::-;5591:6:::1;::::0;;5570:81:::1;::::0;5607:42:::1;::::0;-1:-1:-1;;;;;5591:6:1;;::::1;::::0;5570:81:::1;::::0;::::1;5662:6;:60:::0;;-1:-1:-1;;;;;;5662:60:1::1;5679:42;5662:60;::::0;;5503:227::o;2522:87:0:-;2561:13;2594:7;2587:14;;;;;:::i;4331:89::-;5412:6:1;;-1:-1:-1;;;;;5412:6:1;192:10;5412:22;5404:67;;;;-1:-1:-1;;;5404:67:1;;;;;;;:::i;:::-;4399:7:0::1;:13:::0;4331:89::o;3320:269::-;3413:4;3430:129;192:10:1;3453:7:0;3462:96;3501:15;3462:96;;;;;;;;;;;;;;;;;192:10:1;3462:25:0;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;3462:34:0;;;;;;;;;;;;:38;:96::i;5704:167::-;5782:4;5799:42;192:10:1;5823:9:0;5834:6;5799:9;:42::i;3766:73::-;5412:6:1;;-1:-1:-1;;;;;5412:6:1;192:10;5412:22;5404:67;;;;-1:-1:-1;;;5404:67:1;;;;;;;:::i;:::-;3817:9:0::1;:14:::0;;-1:-1:-1;;3817:14:0::1;3827:4;3817:14;::::0;;3766:73::o;4659:170::-;5412:6:1;;-1:-1:-1;;;;;5412:6:1;192:10;5412:22;5404:67;;;;-1:-1:-1;;;5404:67:1;;;;;;;:::i;:::-;4751:8:0::1;4739;:20;;4731:57;;;::::0;-1:-1:-1;;;4731:57:0;;5503:2:2;4731:57:0::1;::::0;::::1;5485:21:2::0;5542:2;5522:18;;;5515:30;5581:26;5561:18;;;5554:54;5625:18;;4731:57:0::1;5301:348:2::0;4731:57:0::1;4799:10;:22:::0;4659:170::o;5738:244:1:-;5412:6;;-1:-1:-1;;;;;5412:6:1;192:10;5412:22;5404:67;;;;-1:-1:-1;;;5404:67:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;5827:22:1;::::1;5819:73;;;::::0;-1:-1:-1;;;5819:73:1;;5856:2:2;5819:73:1::1;::::0;::::1;5838:21:2::0;5895:2;5875:18;;;5868:30;5934:34;5914:18;;;5907:62;-1:-1:-1;;;5985:18:2;;;5978:36;6031:19;;5819:73:1::1;5654:402:2::0;5819:73:1::1;5929:6;::::0;;5908:38:::1;::::0;-1:-1:-1;;;;;5908:38:1;;::::1;::::0;5929:6;::::1;::::0;5908:38:::1;::::0;::::1;5957:6;:17:::0;;-1:-1:-1;;;;;;5957:17:1::1;-1:-1:-1::0;;;;;5957:17:1;;;::::1;::::0;;;::::1;::::0;;5738:244::o;3847:337:0:-;-1:-1:-1;;;;;3940:19:0;;3932:68;;;;-1:-1:-1;;;3932:68:0;;6263:2:2;3932:68:0;;;6245:21:2;6302:2;6282:18;;;6275:30;6341:34;6321:18;;;6314:62;-1:-1:-1;;;6392:18:2;;;6385:34;6436:19;;3932:68:0;6061:400:2;3932:68:0;-1:-1:-1;;;;;4019:21:0;;4011:68;;;;-1:-1:-1;;;4011:68:0;;6668:2:2;4011:68:0;;;6650:21:2;6707:2;6687:18;;;6680:30;6746:34;6726:18;;;6719:62;-1:-1:-1;;;6797:18:2;;;6790:32;6839:19;;4011:68:0;6466:398:2;4011:68:0;-1:-1:-1;;;;;4092:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;4144:32;;1596:25:2;;;4144:32:0;;1569:18:2;4144:32:0;;;;;;;3847:337;;;:::o;6200:978::-;6287:4;-1:-1:-1;;;;;6312:20:0;;6304:70;;;;-1:-1:-1;;;6304:70:0;;7071:2:2;6304:70:0;;;7053:21:2;7110:2;7090:18;;;7083:30;7149:34;7129:18;;;7122:62;-1:-1:-1;;;7200:18:2;;;7193:35;7245:19;;6304:70:0;6869:401:2;6304:70:0;-1:-1:-1;;;;;6393:23:0;;6385:71;;;;-1:-1:-1;;;6385:71:0;;7477:2:2;6385:71:0;;;7459:21:2;7516:2;7496:18;;;7489:30;7555:34;7535:18;;;7528:62;-1:-1:-1;;;7606:18:2;;;7599:33;7649:19;;6385:71:0;7275:399:2;6385:71:0;-1:-1:-1;;;;;6471:23:0;;;;;;:12;:23;;;;;;;;6470:24;:45;;;;-1:-1:-1;5316:7:1;5343:6;-1:-1:-1;;;;;6498:17:0;;;5343:6:1;;6498:17:0;;6470:45;6467:116;;;6538:9;;;;:18;;:9;:18;6530:53;;;;-1:-1:-1;;;6530:53:0;;7881:2:2;6530:53:0;;;7863:21:2;7920:2;7900:18;;;7893:30;-1:-1:-1;;;7939:18:2;;;7932:52;8001:18;;6530:53:0;7679:346:2;6530:53:0;6625;;;;;;;;;;;-1:-1:-1;;;6625:53:0;;;;;;;;-1:-1:-1;;;;;6625:17:0;;-1:-1:-1;6625:17:0;;;:9;:17;;;;;;;;:53;;6647:6;;6625:21;:53::i;:::-;-1:-1:-1;;;;;6605:17:0;;;;;;:9;:17;;;;;;;;:73;;;;6714:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;6743:28:0;;;;;;:17;:28;;;;;;;;6714:57;6713:147;;6826:34;6834:6;6842:9;6853:6;6826:7;:34::i;:::-;6713:147;;;6817:6;6713:147;6876:16;;6691:169;;-1:-1:-1;;;;6876:16:0;;;;:44;;;;-1:-1:-1;;;;;;6897:23:0;;;;;;:12;:23;;;;;;;;6896:24;6876:44;:68;;;;-1:-1:-1;5316:7:1;5343:6;-1:-1:-1;;;;;6924:20:0;;;5343:6:1;;6924:20:0;;6876:68;6873:146;;;7008:10;;6967:37;6992:11;6967:20;6977:9;-1:-1:-1;;;;;2909:18:0;2882:7;2909:18;;;:9;:18;;;;;;;2816:119;6967:20;:24;;:37::i;:::-;:51;;6959:60;;;;;;-1:-1:-1;;;;;7055:20:0;;;;;;:9;:20;;;;;;:37;;7080:11;7055:24;:37::i;:::-;-1:-1:-1;;;;;7032:20:0;;;;;;;:9;:20;;;;;;;:60;;;;7108:40;;;;;;;;;;7136:11;1596:25:2;;1584:2;1569:18;;1450:177;7108:40:0;;;;;;;;-1:-1:-1;7166:4:0;;6200:978;-1:-1:-1;;;;6200:978:0:o;1378:192:1:-;1464:7;1500:12;1492:6;;;;1484:29;;;;-1:-1:-1;;;1484:29:1;;;;;;;;:::i;:::-;-1:-1:-1;1524:9:1;1536:5;1540:1;1536;:5;:::i;:::-;1524:17;1378:192;-1:-1:-1;;;;;1378:192:1:o;1234:136::-;1292:7;1319:43;1323:1;1326;1319:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1312:50;1234:136;-1:-1:-1;;;1234:136:1:o;1045:181::-;1103:7;;1135:5;1139:1;1135;:5;:::i;:::-;1123:17;;1164:1;1159;:6;;1151:46;;;;-1:-1:-1;;;1151:46:1;;8627:2:2;1151:46:1;;;8609:21:2;8666:2;8646:18;;;8639:30;8705:29;8685:18;;;8678:57;8752:18;;1151:46:1;8425:351:2;7530:662:0;-1:-1:-1;;;;;7691:20:0;;7616:7;7691:20;;;:12;:20;;;;;;7616:7;;7691:20;;7688:204;;;7740:28;7764:3;7740:19;7751:7;;7740:6;:10;;:19;;;;:::i;:::-;:23;;:28::i;:::-;7728:40;;7688:204;;;-1:-1:-1;;;;;7799:23:0;;;;;;:12;:23;;;;;;;;7796:96;;;7851:29;7876:3;7851:20;7862:8;;7851:6;:10;;:20;;;;:::i;:29::-;7839:41;;7796:96;7915:13;;7912:232;;-1:-1:-1;;;;;7997:11:0;7979:31;;;;;:9;:31;;;;;;:46;;8015:9;7979:35;:46::i;:::-;7963:11;-1:-1:-1;;;;;7945:31:0;;;;;:9;:31;;;;;;;;;:80;;;;8045:18;1596:25:2;;;8045:18:0;;1569::2;8045::0;;;;;;;8108:11;-1:-1:-1;;;;;8083:49:0;8092:6;-1:-1:-1;;;;;8083:49:0;;8122:9;8083:49;;;;1596:25:2;;1584:2;1569:18;;1450:177;8083:49:0;;;;;;;;7912:232;8163:21;:6;8174:9;8163:10;:21::i;1578:250:1:-;1636:7;1660:1;1665;1660:6;1656:47;;-1:-1:-1;1690:1:1;1683:8;;1656:47;1715:9;1727:5;1731:1;1727;:5;:::i;:::-;1715:17;-1:-1:-1;1760:1:1;1751:5;1755:1;1715:17;1751:5;:::i;:::-;:10;1743:56;;;;-1:-1:-1;;;1743:56:1;;9378:2:2;1743:56:1;;;9360:21:2;9417:2;9397:18;;;9390:30;9456:34;9436:18;;;9429:62;-1:-1:-1;;;9507:18:2;;;9500:31;9548:19;;1743:56:1;9176:397:2;1836:132:1;1894:7;1921:39;1925:1;1928;1921:39;;;;;;;;;;;;;;;;;2062:7;2097:12;2090:5;2082:28;;;;-1:-1:-1;;;2082:28:1;;;;;;;;:::i;:::-;-1:-1:-1;2121:9:1;2133:5;2137:1;2133;:5;:::i;14:548:2:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:2;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:2:o;1632:456::-;1709:6;1717;1725;1778:2;1766:9;1757:7;1753:23;1749:32;1746:52;;;1794:1;1791;1784:12;1746:52;1833:9;1820:23;1852:31;1877:5;1852:31;:::i;:::-;1902:5;-1:-1:-1;1959:2:2;1944:18;;1931:32;1972:33;1931:32;1972:33;:::i;:::-;1632:456;;2024:7;;-1:-1:-1;;;2078:2:2;2063:18;;;;2050:32;;1632:456::o;2093:160::-;2158:20;;2214:13;;2207:21;2197:32;;2187:60;;2243:1;2240;2233:12;2187:60;2093:160;;;:::o;2258:180::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2406:26;2422:9;2406:26;:::i;2840:247::-;2899:6;2952:2;2940:9;2931:7;2927:23;2923:32;2920:52;;;2968:1;2965;2958:12;2920:52;3007:9;2994:23;3026:31;3051:5;3026:31;:::i;3092:180::-;3151:6;3204:2;3192:9;3183:7;3179:23;3175:32;3172:52;;;3220:1;3217;3210:12;3172:52;-1:-1:-1;3243:23:2;;3092:180;-1:-1:-1;3092:180:2:o;3277:315::-;3342:6;3350;3403:2;3391:9;3382:7;3378:23;3374:32;3371:52;;;3419:1;3416;3409:12;3371:52;3458:9;3445:23;3477:31;3502:5;3477:31;:::i;:::-;3527:5;-1:-1:-1;3551:35:2;3582:2;3567:18;;3551:35;:::i;:::-;3541:45;;3277:315;;;;;:::o;3597:388::-;3665:6;3673;3726:2;3714:9;3705:7;3701:23;3697:32;3694:52;;;3742:1;3739;3732:12;3694:52;3781:9;3768:23;3800:31;3825:5;3800:31;:::i;:::-;3850:5;-1:-1:-1;3907:2:2;3892:18;;3879:32;3920:33;3879:32;3920:33;:::i;:::-;3972:7;3962:17;;;3597:388;;;;;:::o;3990:380::-;4069:1;4065:12;;;;4112;;;4133:61;;4187:4;4179:6;4175:17;4165:27;;4133:61;4240:2;4232:6;4229:14;4209:18;4206:38;4203:161;;4286:10;4281:3;4277:20;4274:1;4267:31;4321:4;4318:1;4311:15;4349:4;4346:1;4339:15;4203:161;;3990:380;;;:::o;4375:356::-;4577:2;4559:21;;;4596:18;;;4589:30;4655:34;4650:2;4635:18;;4628:62;4722:2;4707:18;;4375:356::o;4736:251::-;4806:6;4859:2;4847:9;4838:7;4834:23;4830:32;4827:52;;;4875:1;4872;4865:12;4827:52;4907:9;4901:16;4926:31;4951:5;4926:31;:::i;8030:127::-;8091:10;8086:3;8082:20;8079:1;8072:31;8122:4;8119:1;8112:15;8146:4;8143:1;8136:15;8162:128;8229:9;;;8250:11;;;8247:37;;;8264:18;;:::i;8295:125::-;8360:9;;;8381:10;;;8378:36;;;8394:18;;:::i;8781:168::-;8854:9;;;8885;;8902:15;;;8896:22;;8882:37;8872:71;;8923:18;;:::i;8954:217::-;8994:1;9020;9010:132;;9064:10;9059:3;9055:20;9052:1;9045:31;9099:4;9096:1;9089:15;9127:4;9124:1;9117:15;9010:132;-1:-1:-1;9156:9:2;;8954:217::o
Swarm Source
ipfs://652d51a0c4d42afcb78e4aa873fdd91d7f98c7767282d4fcb7dcaf0ad8bc4a70
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.