ERC-20
Overview
Max Total Supply
1,000,000,000 STRIDE
Holders
55
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
69,238.497129829057257561 STRIDEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
STRIDE
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-04-25 */ //STRIDE FORWARD //https://twitter.com/StrideToken //SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.7; library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } 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 mod(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) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } interface ERC20 { function totalSupply() external view returns (uint _totalSupply); function balanceOf(address _owner) external view returns (uint balance); function transfer(address _to, uint _value) external returns (bool success); function transferFrom(address _from, address _to, uint _value) external returns (bool success); function approve(address _spender, uint _value) external returns (bool success); function allowance(address _owner, address _spender) external view returns (uint remaining); event Transfer(address indexed _from, address indexed _to, uint _value); event Approval(address indexed _owner, address indexed _spender, uint _value); } interface IUniswapFactory { 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 IUniswapRouter01 { 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 factory() external pure returns (address); function WETH() external pure returns (address); 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 IUniswapRouter02 is IUniswapRouter01 { 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; } 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 Mint(address indexed sender, uint amount0, uint amount1); 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 mint(address to) external returns (uint liquidity); 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; } contract smart { using SafeMath for uint; address public router_address = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; IUniswapRouter02 public router = IUniswapRouter02(router_address); function create_weth_pair(address token) private returns (address, IUniswapV2Pair) { address pair_address = IUniswapFactory(router.factory()).createPair(token, router.WETH()); return (pair_address, IUniswapV2Pair(pair_address)); } function get_weth_reserve(address pair_address) private view returns(uint, uint) { IUniswapV2Pair pair = IUniswapV2Pair(pair_address); uint112 token_reserve; uint112 native_reserve; uint32 last_timestamp; (token_reserve, native_reserve, last_timestamp) = pair.getReserves(); return (token_reserve, native_reserve); } function get_weth_price_impact(address token, uint amount, bool sell) private view returns(uint) { address pair_address = IUniswapFactory(router.factory()).getPair(token, router.WETH()); (uint res_token, uint res_weth) = get_weth_reserve(pair_address); uint impact; if(sell) { impact = (amount.mul(100)).div(res_token); } else { impact = (amount.mul(100)).div(res_weth); } return impact; } } contract protected { bool public bot_smasher = false; bool public trade_enabled = false; mapping (address => bool) public is_auth; function authorized(address addy) public view returns(bool) { return is_auth[addy]; } function set_authorized(address addy, bool booly) public onlyAuth { is_auth[addy] = booly; } modifier onlyAuth() { require( is_auth[msg.sender] || msg.sender==owner, "not owner"); _; } address public owner; address public developer; modifier onlyDev { require(msg.sender==developer); _; } modifier onlyOwner() { require(msg.sender==owner, "not owner"); _; } bool public locked; modifier safe() { require(!locked, "reentrant"); locked = true; _; locked = false; } receive() external payable {} fallback() external payable {} } contract STRIDE is smart, protected, ERC20 { using SafeMath for uint; using SafeMath for uint8; mapping(address => bool) public tax_free; mapping(address => bool) public lock_free; mapping(address => bool) public is_black; mapping(address => bool) public is_free_from_max_tx; mapping(address => bool) public is_free_from_max_wallet; string public constant _name = 'Stride Forward'; string public constant _symbol = 'STRIDE'; uint8 public constant _decimals = 18; uint256 public constant InitialSupply= 1 * (10**9) * (10**_decimals); uint256 public _circulatingSupply= InitialSupply; address public constant UniswapRouter= 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; address public constant Dead = 0x000000000000000000000000000000000000dEaD; address public marketing = payable(0x9e7cf1DeBeC83C3ac8b1a080860e7A84A9a3FDA2); mapping(address => uint) public last_tx; bool public pegged = true; bool public manual_swap = false; uint8 public buy_tax = 0; uint8 public sell_tax = 5; uint8 public transfer_tax = 0; uint16 public max_wallet = 100; uint16 public max_perK = 1000; uint256 public startTime; uint8 devShare = 1; uint8 marketingShare = 9; uint8 total_share = devShare + marketingShare; uint public swap_treshold = (_circulatingSupply.div(300)); mapping (address => uint256) public _balances; mapping (address => mapping (address => uint256)) public _allowances; address public pair_address; IUniswapV2Pair public pair; constructor() { owner = payable(msg.sender); developer = payable(msg.sender); is_auth[owner] = true; pair_address = IUniswapFactory(router.factory()).createPair(address(this), router.WETH()); pair = IUniswapV2Pair(pair_address); tax_free[msg.sender] = true; tax_free[marketing] = true; is_free_from_max_wallet[marketing] = true; is_free_from_max_wallet[pair_address] = true; is_free_from_max_tx[marketing] = true; _balances[developer] = _circulatingSupply; emit Transfer(Dead, msg.sender, _circulatingSupply); _approve(address(this), address(router), _circulatingSupply); _approve(address(owner), address(router), _circulatingSupply); } function _transfer(address sender, address recipient, uint amount) private { bool isExcluded = (tax_free[sender] || tax_free[recipient] || is_auth[sender] || is_auth[recipient]); bool isContractTransfer=(sender==address(this) || recipient==address(this)); bool isLiquidityTransfer = ((sender == pair_address && recipient == UniswapRouter) || (recipient == pair_address && sender == UniswapRouter)); if (isExcluded || isContractTransfer || isLiquidityTransfer) { _feelessTransfer(sender, recipient, amount); } else { _taxedTransfer(sender, recipient, amount); } } function max_tx() public view returns (uint) { return ((_circulatingSupply * max_perK).div(1000)); } function _taxedTransfer(address sender, address recipient, uint amount) private { require(!is_black[sender] && !is_black[recipient], "Blacklisted"); if(!bot_smasher) { require(trade_enabled, "STOP"); } else { if(!trade_enabled) { emit Transfer(sender, recipient, 0); return; } } if(!is_free_from_max_tx[sender]) { require(amount <= max_tx()); } if(!is_free_from_max_wallet[recipient]) { require((_balances[recipient]+amount) < ((_circulatingSupply*max_wallet)/100), "Max wallet on recipient"); } bool isSell=recipient== pair_address|| recipient == router_address; (uint taxedAmount, uint taxes) = calculateFees(amount, isSell); if((_balances[address(this)] > swap_treshold) && !manual_swap && !locked) { if(isSell && !manual_swap) { swap_taxes(amount); } } _balances[sender] = _balances[sender].sub(amount); _balances[recipient] = _balances[recipient].add(taxedAmount); _balances[address(this)] = _balances[address(this)].add(taxes); emit Transfer(sender, address(this), taxes); emit Transfer(sender, recipient, taxedAmount); } function calculateFees(uint amount, bool isSell) private view returns (uint taxedAmount_, uint taxes_) { uint8 tax; if(isSell) { tax = sell_tax; } else { tax = buy_tax; } uint taxes_coin = (amount*tax)/100; uint taxed_amount = amount - taxes_coin; return (taxed_amount, taxes_coin); } function swap_taxes(uint256 tx_amount) private safe{ uint256 contractBalance = _balances[address(this)]; uint256 amount_to_swap = (swap_treshold.mul(75)).div(100); if(amount_to_swap > tx_amount) { if(pegged) { amount_to_swap = tx_amount; } } if(contractBalance<amount_to_swap){ return; } uint256 initialETHBalance = address(this).balance; address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); router.swapExactTokensForETHSupportingFeeOnTransferTokens( amount_to_swap, 0, path, address(this), block.timestamp ); uint256 newETH=(address(this).balance - initialETHBalance); uint256 marketingSplit = newETH.mul(marketingShare).div(total_share); uint256 devSplit = newETH - marketingSplit; payable(developer).transfer(devSplit); payable(marketing).transfer(marketingSplit); } function _feelessTransfer(address sender, address recipient, uint amount) private { _balances[sender] -= amount; _balances[recipient] += amount; emit Transfer(sender, recipient, amount); } function lfg() public onlyDev { require(trade_enabled == false); bot_smasher = false; trade_enabled = true; } function emergency_withdraw() public onlyAuth { uint256 balance = address(this).balance; payable(developer).transfer(balance); } function set_shares(uint8 dev, uint8 market) public onlyAuth { devShare = dev; marketingShare = market; } function set_taxes(uint8 buy, uint8 sell) public onlyAuth { buy_tax = buy; sell_tax = sell; require(buy > 0 && sell > 0, "At least 1"); require(buy< 15 && sell < 15, "No honeypot"); } function set_manual_swap(bool booly) public onlyAuth { manual_swap = booly; } function totalSupply() external view override returns (uint256) { return _circulatingSupply; } function execute_manual_swap(uint256 amount) public onlyAuth { require(amount < _balances[address(this)], "dude there are not enough token"); swap_taxes(amount); } function rescue_tokens(address tknAddress) public onlyAuth { ERC20 token = ERC20(tknAddress); uint256 ourBalance = token.balanceOf(address(this)); require(ourBalance>0, "No tokens in our balance"); token.transfer(msg.sender, ourBalance); } function set_max_tx(uint16 maxtx) public onlyAuth { max_perK = maxtx; require(maxtx >= 5, "At least 5, remember that it's /1000, so 5 = 0.5%"); } function set_max_wallet(uint16 maxwallet) public onlyAuth { max_wallet = maxwallet; require(maxwallet >= 1, "At least 1, remember that it's /100, so 1 = 1%"); } function set_free_from_max_tx(address addy, bool booly) public onlyAuth { is_free_from_max_tx[addy] = booly; } function set_free_from_max_wallet(address addy, bool booly) public onlyAuth { is_free_from_max_wallet[addy] = booly; } function set_free_tax(address addy, bool booly) public onlyAuth { tax_free[addy] = booly; } function set_owner(address newowner) public onlyDev { owner = newowner; is_auth[newowner] = true; } function control_blacklist(address to_control, bool booly) public onlyAuth { require(!(to_control==developer)); is_black[to_control] = booly; } function fire_unleashed(uint256 amount) public onlyAuth { require(_balances[msg.sender] >= amount); _balances[msg.sender] -= amount; _circulatingSupply -= amount; emit Transfer(address(this), Dead, amount); } function minZero(uint a, uint b) private pure returns(uint) { if (a > b) { return a - b; } else { return 0; } } function set_pegged_swap(bool booly) public onlyAuth { pegged = booly; } function getOwner() external view returns (address) { return owner; } function name() external pure returns (string memory) { return _name; } function symbol() external pure returns (string memory) { return _symbol; } function decimals() external pure returns (uint8) { return _decimals; } function balanceOf(address account) external view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) external override returns (bool) { _transfer(msg.sender, recipient, amount); return true; } function allowance(address _owner, address spender) external view override returns (uint256) { return _allowances[_owner][spender]; } function approve(address spender, uint256 amount) external override returns (bool) { _approve(msg.sender, spender, amount); return true; } function _approve(address _owner, address spender, uint256 amount) private { require(_owner != address(0), "Approve from zero"); require(spender != address(0), "Approve to zero"); _allowances[_owner][spender] = amount; emit Approval(_owner, spender, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][msg.sender]; require(currentAllowance >= amount, "Transfer > allowance"); _approve(sender, msg.sender, currentAllowance - amount); return true; } function increaseAllowance(address spender, uint256 addedValue) external returns (bool) { _approve(msg.sender, spender, _allowances[msg.sender][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) external returns (bool) { uint256 currentAllowance = _allowances[msg.sender][spender]; require(currentAllowance >= subtractedValue, "<0 allowance"); _approve(msg.sender, spender, currentAllowance - subtractedValue); return true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"Dead","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"InitialSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UniswapRouter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"_allowances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_circulatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"addy","type":"address"}],"name":"authorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bot_smasher","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buy_tax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to_control","type":"address"},{"internalType":"bool","name":"booly","type":"bool"}],"name":"control_blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"developer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emergency_withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"execute_manual_swap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"fire_unleashed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"is_auth","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"is_black","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"is_free_from_max_tx","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"is_free_from_max_wallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"last_tx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lfg","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lock_free","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"locked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manual_swap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketing","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"max_perK","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"max_tx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"max_wallet","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"contract IUniswapV2Pair","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair_address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pegged","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tknAddress","type":"address"}],"name":"rescue_tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapRouter02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router_address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sell_tax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addy","type":"address"},{"internalType":"bool","name":"booly","type":"bool"}],"name":"set_authorized","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addy","type":"address"},{"internalType":"bool","name":"booly","type":"bool"}],"name":"set_free_from_max_tx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addy","type":"address"},{"internalType":"bool","name":"booly","type":"bool"}],"name":"set_free_from_max_wallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addy","type":"address"},{"internalType":"bool","name":"booly","type":"bool"}],"name":"set_free_tax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"booly","type":"bool"}],"name":"set_manual_swap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"maxtx","type":"uint16"}],"name":"set_max_tx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"maxwallet","type":"uint16"}],"name":"set_max_wallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newowner","type":"address"}],"name":"set_owner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"booly","type":"bool"}],"name":"set_pegged_swap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"dev","type":"uint8"},{"internalType":"uint8","name":"market","type":"uint8"}],"name":"set_shares","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"buy","type":"uint8"},{"internalType":"uint8","name":"sell","type":"uint8"}],"name":"set_taxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swap_treshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"tax_free","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"trade_enabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"transfer_tax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155600180546001600160b01b03191690911790556200004e6012600a620005ed565b6200005e90633b9aca00620006ac565b600a55600b8054739e7cf1debec83c3ac8b1a080860e7a84a9a3fda26001600160a01b0319909116179055600d80546001600160481b0319166803e800640005000001179055600f805461ffff19166109011790819055620000cb9060ff61010090910416600162000559565b600f60026101000a81548160ff021916908360ff1602179055506200010361012c600a546200041560201b620019291790919060201c565b6010553480156200011357600080fd5b5060038054336001600160a01b031991821681179092556004805490911682178155600091825260026020908152604092839020805460ff1916600190811790915554835163c45a015560e01b815293516001600160a01b039091169363c45a015593818101939291829003018186803b1580156200019157600080fd5b505afa158015620001a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001cc919062000527565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200022a57600080fd5b505afa1580156200023f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000265919062000527565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015620002ae57600080fd5b505af1158015620002c3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e9919062000527565b601380546001600160a01b039283166001600160a01b03199182168117835560148054909216179055336000818152600560209081526040808320805460ff199081166001908117909255600b8054891686528386208054831684179055805489168652600985528386208054831684179055965488168552828520805482168317905595548716845260088352818420805490961617909455600a546004549095168252601181529083902084905591519283529161dead917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600154600a54620003ed9130916001600160a01b03909116906200042c565b600354600154600a546200040f926001600160a01b039081169216906200042c565b620006e4565b600062000423828462000581565b90505b92915050565b6001600160a01b0383166200047c5760405162461bcd60e51b8152602060048201526011602482015270417070726f76652066726f6d207a65726f60781b60448201526064015b60405180910390fd5b6001600160a01b038216620004c65760405162461bcd60e51b815260206004820152600f60248201526e417070726f766520746f207a65726f60881b604482015260640162000473565b6001600160a01b0383811660008181526012602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000602082840312156200053a57600080fd5b81516001600160a01b03811681146200055257600080fd5b9392505050565b600060ff821660ff84168060ff03821115620005795762000579620006ce565b019392505050565b6000826200059f57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115620005e5578160001904821115620005c957620005c9620006ce565b80851615620005d757918102915b93841c9390800290620005a9565b509250929050565b60006200042360ff841683600082620006095750600162000426565b81620006185750600062000426565b81600181146200063157600281146200063c576200065c565b600191505062000426565b60ff841115620006505762000650620006ce565b50506001821b62000426565b5060208310610133831016604e8410600b841016171562000681575081810a62000426565b6200068d8383620005a4565b8060001904821115620006a457620006a4620006ce565b029392505050565b6000816000190483118215151615620006c957620006c9620006ce565b500290565b634e487b7160e01b600052601160045260246000fd5b6127fd80620006f46000396000f3fe6080604052600436106103ad5760003560e01c8063893d20e8116101e5578063b91816111161010c578063cf309012116100a5578063e717fc3011610077578063e717fc3014610c75578063f4ea55ab14610c99578063f887ea4014610cc9578063fab2e05414610ce9578063fafab66514610d0957005b8063cf30901214610bb4578063d28d885214610bd5578063d46f2f6614610c0f578063dd62ed3e14610c2f57005b8063c78dc6fd116100de578063c78dc6fd14610b3f578063ca4b208b14610b5e578063cbc1cfd214610b7e578063cbe7003014610b9357005b8063b918161114610a9b578063c01bb48b14610ad4578063c664c31d14610af5578063c7639d8014610b1757005b8063a457c2d71161017e578063af1bb5c011610150578063af1bb5c0146109f4578063b09f126614610a14578063b0ef593714610a46578063b544d2e614610a6657005b8063a457c2d714610964578063a8aa1b3114610984578063a9059cbb146109a4578063ad95fc8f146109c457005b8063952eb8a7116101b7578063952eb8a7146108cf57806395d89b41146108ff578063a201b2a71461092e578063a253c06e1461094e57005b8063893d20e81461085b5780638da5cb5b146108795780638f793cb91461089957806393505052146108ae57005b806339509351116102d45780635bd263e71161026d57806370fbc7121161023f57806370fbc712146107ca57806378e97925146107df5780637cb97b2b146107f5578063826c89bd1461081557806382c4767b1461084557005b80635bd263e7146107275780636ebcf6071461074757806370a082311461077457806370bfcf40146107aa57005b80634147c6a7116102a65780634147c6a7146106975780634edebbba146106b7578063569ff644146106d757806357d8ae82146106f757005b8063395093511461060a5780633a32fea81461062a5780633f27cc481461064a5780633fe7e33c1461066a57005b806323b872dd116103465780632f575b4e116103185780632f575b4e14610593578063313ce567146105b357806332424aa3146105d557806334184e26146105ea57005b806323b872dd146104fb57806326e766131461051b5780632bfe87421461053b5780632d3e474a1461055b57005b806313f273831161037f57806313f273831461048b57806317668f1b146104a157806318160ddd146104d15780631eb25d13146104e657005b8063024c2ddd146103b657806306fdde03146104015780630907861314610441578063095ea7b31461046b57005b366103b457005b005b3480156103c257600080fd5b506103ee6103d136600461237a565b601260209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b34801561040d57600080fd5b5060408051808201909152600e81526d14dd1c9a591948119bdc9dd85c9960921b60208201525b6040516103f89190612511565b34801561044d57600080fd5b50600d5461045b9060ff1681565b60405190151581526020016103f8565b34801561047757600080fd5b5061045b610486366004612422565b610d29565b34801561049757600080fd5b506103ee60105481565b3480156104ad57600080fd5b5061045b6104bc366004612340565b60056020526000908152604090205460ff1681565b3480156104dd57600080fd5b50600a546103ee565b3480156104f257600080fd5b506103ee610d40565b34801561050757600080fd5b5061045b6105163660046123b3565b610d5d565b34801561052757600080fd5b506103b46105363660046124de565b610df9565b34801561054757600080fd5b506103b46105563660046123f4565b610e61565b34801561056757600080fd5b50600b5461057b906001600160a01b031681565b6040516001600160a01b0390911681526020016103f8565b34801561059f57600080fd5b506103b46105ae366004612488565b610ed0565b3480156105bf57600080fd5b5060125b60405160ff90911681526020016103f8565b3480156105e157600080fd5b506105c3601281565b3480156105f657600080fd5b5060135461057b906001600160a01b031681565b34801561061657600080fd5b5061045b610625366004612422565b610fa5565b34801561063657600080fd5b506103b46106453660046123f4565b610fdc565b34801561065657600080fd5b506103b46106653660046123f4565b61104b565b34801561067657600080fd5b506103ee610685366004612340565b600c6020526000908152604090205481565b3480156106a357600080fd5b50600d546105c39062010000900460ff1681565b3480156106c357600080fd5b506103b46106d236600461244e565b6110ba565b3480156106e357600080fd5b506103b46106f2366004612488565b611111565b34801561070357600080fd5b5061045b610712366004612340565b60096020526000908152604090205460ff1681565b34801561073357600080fd5b506103b46107423660046123f4565b6111e0565b34801561075357600080fd5b506103ee610762366004612340565b60116020526000908152604090205481565b34801561078057600080fd5b506103ee61078f366004612340565b6001600160a01b031660009081526011602052604090205490565b3480156107b657600080fd5b506103b46107c536600461244e565b61126a565b3480156107d657600080fd5b506103ee6112c8565b3480156107eb57600080fd5b506103ee600e5481565b34801561080157600080fd5b506103b4610810366004612340565b6112fd565b34801561082157600080fd5b5061045b610830366004612340565b60076020526000908152604090205460ff1681565b34801561085157600080fd5b5061057b61dead81565b34801561086757600080fd5b506003546001600160a01b031661057b565b34801561088557600080fd5b5060035461057b906001600160a01b031681565b3480156108a557600080fd5b506103b461134e565b3480156108ba57600080fd5b50600d546105c3906301000000900460ff1681565b3480156108db57600080fd5b5061045b6108ea366004612340565b60086020526000908152604090205460ff1681565b34801561090b57600080fd5b5060408051808201909152600681526553545249444560d01b6020820152610434565b34801561093a57600080fd5b506103b46109493660046124ac565b611392565b34801561095a57600080fd5b506103ee600a5481565b34801561097057600080fd5b5061045b61097f366004612422565b611459565b34801561099057600080fd5b5060145461057b906001600160a01b031681565b3480156109b057600080fd5b5061045b6109bf366004612422565b6114d5565b3480156109d057600080fd5b5061045b6109df366004612340565b60066020526000908152604090205460ff1681565b348015610a0057600080fd5b506103b4610a0f366004612340565b6114e2565b348015610a2057600080fd5b506104346040518060400160405280600681526020016553545249444560d01b81525081565b348015610a5257600080fd5b506103b4610a613660046124de565b61167a565b348015610a7257600080fd5b50600d54610a8890600160381b900461ffff1681565b60405161ffff90911681526020016103f8565b348015610aa757600080fd5b5061045b610ab6366004612340565b6001600160a01b031660009081526002602052604090205460ff1690565b348015610ae057600080fd5b5060015461045b90600160a81b900460ff1681565b348015610b0157600080fd5b50600d546105c390640100000000900460ff1681565b348015610b2357600080fd5b5061057b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b348015610b4b57600080fd5b50600d5461045b90610100900460ff1681565b348015610b6a57600080fd5b5060045461057b906001600160a01b031681565b348015610b8a57600080fd5b506103b4611791565b348015610b9f57600080fd5b5060015461045b90600160a01b900460ff1681565b348015610bc057600080fd5b5060045461045b90600160a01b900460ff1681565b348015610be157600080fd5b506104346040518060400160405280600e81526020016d14dd1c9a591948119bdc9dd85c9960921b81525081565b348015610c1b57600080fd5b5060005461057b906001600160a01b031681565b348015610c3b57600080fd5b506103ee610c4a36600461237a565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b348015610c8157600080fd5b50600d54610a889065010000000000900461ffff1681565b348015610ca557600080fd5b5061045b610cb4366004612340565b60026020526000908152604090205460ff1681565b348015610cd557600080fd5b5060015461057b906001600160a01b031681565b348015610cf557600080fd5b506103b4610d043660046124ac565b61180f565b348015610d1557600080fd5b506103b4610d243660046123f4565b6118ba565b6000610d3633848461193c565b5060015b92915050565b610d4c6012600a612677565b610d5a90633b9aca00612722565b81565b6000610d6a848484611a30565b6001600160a01b038416600090815260126020908152604080832033845290915290205482811015610dda5760405162461bcd60e51b81526020600482015260146024820152735472616e73666572203e20616c6c6f77616e636560601b60448201526064015b60405180910390fd5b610dee8533610de98685612741565b61193c565b506001949350505050565b3360009081526002602052604090205460ff1680610e2157506003546001600160a01b031633145b610e3d5760405162461bcd60e51b8152600401610dd190612566565b600f805460ff9283166101000261ffff199091169290931691909117919091179055565b3360009081526002602052604090205460ff1680610e8957506003546001600160a01b031633145b610ea55760405162461bcd60e51b8152600401610dd190612566565b6001600160a01b03919091166000908152600260205260409020805460ff1916911515919091179055565b3360009081526002602052604090205460ff1680610ef857506003546001600160a01b031633145b610f145760405162461bcd60e51b8152600401610dd190612566565b600d805468ffff000000000000001916600160381b61ffff84169081029190911790915560051115610fa25760405162461bcd60e51b815260206004820152603160248201527f4174206c6561737420352c2072656d656d62657220746861742069742773202f604482015270313030302c20736f2035203d20302e352560781b6064820152608401610dd1565b50565b3360008181526012602090815260408083206001600160a01b03871684529091528120549091610d36918590610de99086906125fa565b3360009081526002602052604090205460ff168061100457506003546001600160a01b031633145b6110205760405162461bcd60e51b8152600401610dd190612566565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b3360009081526002602052604090205460ff168061107357506003546001600160a01b031633145b61108f5760405162461bcd60e51b8152600401610dd190612566565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b3360009081526002602052604090205460ff16806110e257506003546001600160a01b031633145b6110fe5760405162461bcd60e51b8152600401610dd190612566565b600d805460ff1916911515919091179055565b3360009081526002602052604090205460ff168061113957506003546001600160a01b031633145b6111555760405162461bcd60e51b8152600401610dd190612566565b600d805466ffff000000000019166501000000000061ffff84169081029190911790915560011115610fa25760405162461bcd60e51b815260206004820152602e60248201527f4174206c6561737420312c2072656d656d62657220746861742069742773202f60448201526d3130302c20736f2031203d20312560901b6064820152608401610dd1565b3360009081526002602052604090205460ff168061120857506003546001600160a01b031633145b6112245760405162461bcd60e51b8152600401610dd190612566565b6004546001600160a01b038381169116141561123f57600080fd5b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b3360009081526002602052604090205460ff168061129257506003546001600160a01b031633145b6112ae5760405162461bcd60e51b8152600401610dd190612566565b600d80549115156101000261ff0019909216919091179055565b60006112f86103e8600d60079054906101000a900461ffff1661ffff16600a546112f29190612722565b90611929565b905090565b6004546001600160a01b0316331461131457600080fd5b600380546001600160a01b039092166001600160a01b0319909216821790556000908152600260205260409020805460ff19166001179055565b6004546001600160a01b0316331461136557600080fd5b600154600160a81b900460ff161561137c57600080fd5b6001805461ffff60a01b1916600160a81b179055565b3360009081526002602052604090205460ff16806113ba57506003546001600160a01b031633145b6113d65760405162461bcd60e51b8152600401610dd190612566565b336000908152601160205260409020548111156113f257600080fd5b3360009081526011602052604081208054839290611411908490612741565b9250508190555080600a600082825461142a9190612741565b909155505060405181815261dead9030906000805160206127a88339815191529060200160405180910390a350565b3360009081526012602090815260408083206001600160a01b0386168452909152812054828110156114bc5760405162461bcd60e51b815260206004820152600c60248201526b3c3020616c6c6f77616e636560a01b6044820152606401610dd1565b6114cb3385610de98685612741565b5060019392505050565b6000610d36338484611a30565b3360009081526002602052604090205460ff168061150a57506003546001600160a01b031633145b6115265760405162461bcd60e51b8152600401610dd190612566565b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a082319060240160206040518083038186803b15801561156a57600080fd5b505afa15801561157e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a291906124c5565b9050600081116115f45760405162461bcd60e51b815260206004820152601860248201527f4e6f20746f6b656e7320696e206f75722062616c616e636500000000000000006044820152606401610dd1565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb90604401602060405180830381600087803b15801561163c57600080fd5b505af1158015611650573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611674919061246b565b50505050565b3360009081526002602052604090205460ff16806116a257506003546001600160a01b031633145b6116be5760405162461bcd60e51b8152600401610dd190612566565b600d805463ffff000019166201000060ff85811691820263ff0000001916929092176301000000928516929092029190911790915515801590611704575060008160ff16115b61173d5760405162461bcd60e51b815260206004820152600a6024820152694174206c65617374203160b01b6044820152606401610dd1565b600f8260ff161080156117535750600f8160ff16105b61178d5760405162461bcd60e51b815260206004820152600b60248201526a139bc81a1bdb995e5c1bdd60aa1b6044820152606401610dd1565b5050565b3360009081526002602052604090205460ff16806117b957506003546001600160a01b031633145b6117d55760405162461bcd60e51b8152600401610dd190612566565b60045460405147916001600160a01b03169082156108fc029083906000818181858888f1935050505015801561178d573d6000803e3d6000fd5b3360009081526002602052604090205460ff168061183757506003546001600160a01b031633145b6118535760405162461bcd60e51b8152600401610dd190612566565b3060009081526011602052604090205481106118b15760405162461bcd60e51b815260206004820152601f60248201527f6475646520746865726520617265206e6f7420656e6f75676820746f6b656e006044820152606401610dd1565b610fa281611b91565b3360009081526002602052604090205460ff16806118e257506003546001600160a01b031633145b6118fe5760405162461bcd60e51b8152600401610dd190612566565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b60006119358284612612565b9392505050565b6001600160a01b0383166119865760405162461bcd60e51b8152602060048201526011602482015270417070726f76652066726f6d207a65726f60781b6044820152606401610dd1565b6001600160a01b0382166119ce5760405162461bcd60e51b815260206004820152600f60248201526e417070726f766520746f207a65726f60881b6044820152606401610dd1565b6001600160a01b0383811660008181526012602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831660009081526005602052604081205460ff1680611a6f57506001600160a01b03831660009081526005602052604090205460ff165b80611a9257506001600160a01b03841660009081526002602052604090205460ff165b80611ab557506001600160a01b03831660009081526002602052604090205460ff165b905060006001600160a01b038516301480611ad857506001600160a01b03841630145b6013549091506000906001600160a01b038781169116148015611b1757506001600160a01b038516737a250d5630b4cf539739df2c5dacb4c659f2488d145b80611b5657506013546001600160a01b038681169116148015611b5657506001600160a01b038616737a250d5630b4cf539739df2c5dacb4c659f2488d145b90508280611b615750815b80611b695750805b15611b7e57611b79868686611e5d565b611b89565b611b89868686611eec565b505050505050565b600454600160a01b900460ff1615611bd75760405162461bcd60e51b81526020600482015260096024820152681c99595b9d1c985b9d60ba1b6044820152606401610dd1565b6004805460ff60a01b1916600160a01b17905530600090815260116020526040812054601054909190611c12906064906112f290604b6122a4565b905082811115611c2a57600d5460ff1615611c2a5750815b80821015611c39575050611e4d565b604080516002808252606082018352479260009291906020830190803683370190505090503081600081518110611c7257611c7261276e565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611cc657600080fd5b505afa158015611cda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfe919061235d565b81600181518110611d1157611d1161276e565b6001600160a01b03928316602091820292909201015260015460405163791ac94760e01b815291169063791ac94790611d57908690600090869030904290600401612589565b600060405180830381600087803b158015611d7157600080fd5b505af1158015611d85573d6000803e3d6000fd5b5050505060008247611d979190612741565b600f54909150600090611dc09060ff6201000082048116916112f29186916101009004166122a4565b90506000611dce8284612741565b6004546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611e09573d6000803e3d6000fd5b50600b546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611e44573d6000803e3d6000fd5b50505050505050505b506004805460ff60a01b19169055565b6001600160a01b03831660009081526011602052604081208054839290611e85908490612741565b90915550506001600160a01b03821660009081526011602052604081208054839290611eb29084906125fa565b92505081905550816001600160a01b0316836001600160a01b03166000805160206127a883398151915283604051611a2391815260200190565b6001600160a01b03831660009081526007602052604090205460ff16158015611f2e57506001600160a01b03821660009081526007602052604090205460ff16155b611f685760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b6044820152606401610dd1565b600154600160a01b900460ff16611fc057600154600160a81b900460ff16611fbb5760405162461bcd60e51b8152600401610dd190602080825260049082015263053544f560e41b604082015260600190565b612005565b600154600160a81b900460ff1661200557816001600160a01b0316836001600160a01b03166000805160206127a88339815191526000604051611a2391815260200190565b6001600160a01b03831660009081526008602052604090205460ff166120395761202d6112c8565b81111561203957600080fd5b6001600160a01b03821660009081526009602052604090205460ff166120f557600d54600a5460649161207a916501000000000090910461ffff1690612722565b6120849190612612565b6001600160a01b0383166000908152601160205260409020546120a89083906125fa565b106120f55760405162461bcd60e51b815260206004820152601760248201527f4d61782077616c6c6574206f6e20726563697069656e740000000000000000006044820152606401610dd1565b6013546000906001600160a01b038481169116148061212157506000546001600160a01b038481169116145b905060008061213084846122b0565b6010543060009081526011602052604090205492945090925010801561215e5750600d54610100900460ff16155b80156121745750600454600160a01b900460ff16155b1561219c5782801561218e5750600d54610100900460ff16155b1561219c5761219c84611b91565b6001600160a01b0386166000908152601160205260409020546121bf9085612312565b6001600160a01b0380881660009081526011602052604080822093909355908716815220546121ee908361231e565b6001600160a01b03861660009081526011602052604080822092909255308152205461221a908261231e565b30600081815260116020526040908190209290925590516001600160a01b038816906000805160206127a8833981519152906122599085815260200190565b60405180910390a3846001600160a01b0316866001600160a01b03166000805160206127a88339815191528460405161229491815260200190565b60405180910390a3505050505050565b60006119358284612722565b600080600083156122ce5750600d546301000000900460ff166122dc565b50600d5462010000900460ff165b600060646122ed60ff841688612722565b6122f79190612612565b905060006123058288612741565b9791965090945050505050565b60006119358284612741565b600061193582846125fa565b803560ff8116811461233b57600080fd5b919050565b60006020828403121561235257600080fd5b813561193581612784565b60006020828403121561236f57600080fd5b815161193581612784565b6000806040838503121561238d57600080fd5b823561239881612784565b915060208301356123a881612784565b809150509250929050565b6000806000606084860312156123c857600080fd5b83356123d381612784565b925060208401356123e381612784565b929592945050506040919091013590565b6000806040838503121561240757600080fd5b823561241281612784565b915060208301356123a881612799565b6000806040838503121561243557600080fd5b823561244081612784565b946020939093013593505050565b60006020828403121561246057600080fd5b813561193581612799565b60006020828403121561247d57600080fd5b815161193581612799565b60006020828403121561249a57600080fd5b813561ffff8116811461193557600080fd5b6000602082840312156124be57600080fd5b5035919050565b6000602082840312156124d757600080fd5b5051919050565b600080604083850312156124f157600080fd5b6124fa8361232a565b91506125086020840161232a565b90509250929050565b600060208083528351808285015260005b8181101561253e57858101830151858201604001528201612522565b81811115612550576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252600990820152683737ba1037bbb732b960b91b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156125d95784516001600160a01b0316835293830193918301916001016125b4565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561260d5761260d612758565b500190565b60008261262f57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561266f57816000190482111561265557612655612758565b8085161561266257918102915b93841c9390800290612639565b509250929050565b600061193560ff84168360008261269057506001610d3a565b8161269d57506000610d3a565b81600181146126b357600281146126bd576126d9565b6001915050610d3a565b60ff8411156126ce576126ce612758565b50506001821b610d3a565b5060208310610133831016604e8410600b84101617156126fc575081810a610d3a565b6127068383612634565b806000190482111561271a5761271a612758565b029392505050565b600081600019048311821515161561273c5761273c612758565b500290565b60008282101561275357612753612758565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114610fa257600080fd5b8015158114610fa257600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220f3d5f7353ddcba41aff2628b0c50b4f640c81fd8d942697e5fe3b505d704f01a64736f6c63430008070033
Deployed Bytecode
0x6080604052600436106103ad5760003560e01c8063893d20e8116101e5578063b91816111161010c578063cf309012116100a5578063e717fc3011610077578063e717fc3014610c75578063f4ea55ab14610c99578063f887ea4014610cc9578063fab2e05414610ce9578063fafab66514610d0957005b8063cf30901214610bb4578063d28d885214610bd5578063d46f2f6614610c0f578063dd62ed3e14610c2f57005b8063c78dc6fd116100de578063c78dc6fd14610b3f578063ca4b208b14610b5e578063cbc1cfd214610b7e578063cbe7003014610b9357005b8063b918161114610a9b578063c01bb48b14610ad4578063c664c31d14610af5578063c7639d8014610b1757005b8063a457c2d71161017e578063af1bb5c011610150578063af1bb5c0146109f4578063b09f126614610a14578063b0ef593714610a46578063b544d2e614610a6657005b8063a457c2d714610964578063a8aa1b3114610984578063a9059cbb146109a4578063ad95fc8f146109c457005b8063952eb8a7116101b7578063952eb8a7146108cf57806395d89b41146108ff578063a201b2a71461092e578063a253c06e1461094e57005b8063893d20e81461085b5780638da5cb5b146108795780638f793cb91461089957806393505052146108ae57005b806339509351116102d45780635bd263e71161026d57806370fbc7121161023f57806370fbc712146107ca57806378e97925146107df5780637cb97b2b146107f5578063826c89bd1461081557806382c4767b1461084557005b80635bd263e7146107275780636ebcf6071461074757806370a082311461077457806370bfcf40146107aa57005b80634147c6a7116102a65780634147c6a7146106975780634edebbba146106b7578063569ff644146106d757806357d8ae82146106f757005b8063395093511461060a5780633a32fea81461062a5780633f27cc481461064a5780633fe7e33c1461066a57005b806323b872dd116103465780632f575b4e116103185780632f575b4e14610593578063313ce567146105b357806332424aa3146105d557806334184e26146105ea57005b806323b872dd146104fb57806326e766131461051b5780632bfe87421461053b5780632d3e474a1461055b57005b806313f273831161037f57806313f273831461048b57806317668f1b146104a157806318160ddd146104d15780631eb25d13146104e657005b8063024c2ddd146103b657806306fdde03146104015780630907861314610441578063095ea7b31461046b57005b366103b457005b005b3480156103c257600080fd5b506103ee6103d136600461237a565b601260209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b34801561040d57600080fd5b5060408051808201909152600e81526d14dd1c9a591948119bdc9dd85c9960921b60208201525b6040516103f89190612511565b34801561044d57600080fd5b50600d5461045b9060ff1681565b60405190151581526020016103f8565b34801561047757600080fd5b5061045b610486366004612422565b610d29565b34801561049757600080fd5b506103ee60105481565b3480156104ad57600080fd5b5061045b6104bc366004612340565b60056020526000908152604090205460ff1681565b3480156104dd57600080fd5b50600a546103ee565b3480156104f257600080fd5b506103ee610d40565b34801561050757600080fd5b5061045b6105163660046123b3565b610d5d565b34801561052757600080fd5b506103b46105363660046124de565b610df9565b34801561054757600080fd5b506103b46105563660046123f4565b610e61565b34801561056757600080fd5b50600b5461057b906001600160a01b031681565b6040516001600160a01b0390911681526020016103f8565b34801561059f57600080fd5b506103b46105ae366004612488565b610ed0565b3480156105bf57600080fd5b5060125b60405160ff90911681526020016103f8565b3480156105e157600080fd5b506105c3601281565b3480156105f657600080fd5b5060135461057b906001600160a01b031681565b34801561061657600080fd5b5061045b610625366004612422565b610fa5565b34801561063657600080fd5b506103b46106453660046123f4565b610fdc565b34801561065657600080fd5b506103b46106653660046123f4565b61104b565b34801561067657600080fd5b506103ee610685366004612340565b600c6020526000908152604090205481565b3480156106a357600080fd5b50600d546105c39062010000900460ff1681565b3480156106c357600080fd5b506103b46106d236600461244e565b6110ba565b3480156106e357600080fd5b506103b46106f2366004612488565b611111565b34801561070357600080fd5b5061045b610712366004612340565b60096020526000908152604090205460ff1681565b34801561073357600080fd5b506103b46107423660046123f4565b6111e0565b34801561075357600080fd5b506103ee610762366004612340565b60116020526000908152604090205481565b34801561078057600080fd5b506103ee61078f366004612340565b6001600160a01b031660009081526011602052604090205490565b3480156107b657600080fd5b506103b46107c536600461244e565b61126a565b3480156107d657600080fd5b506103ee6112c8565b3480156107eb57600080fd5b506103ee600e5481565b34801561080157600080fd5b506103b4610810366004612340565b6112fd565b34801561082157600080fd5b5061045b610830366004612340565b60076020526000908152604090205460ff1681565b34801561085157600080fd5b5061057b61dead81565b34801561086757600080fd5b506003546001600160a01b031661057b565b34801561088557600080fd5b5060035461057b906001600160a01b031681565b3480156108a557600080fd5b506103b461134e565b3480156108ba57600080fd5b50600d546105c3906301000000900460ff1681565b3480156108db57600080fd5b5061045b6108ea366004612340565b60086020526000908152604090205460ff1681565b34801561090b57600080fd5b5060408051808201909152600681526553545249444560d01b6020820152610434565b34801561093a57600080fd5b506103b46109493660046124ac565b611392565b34801561095a57600080fd5b506103ee600a5481565b34801561097057600080fd5b5061045b61097f366004612422565b611459565b34801561099057600080fd5b5060145461057b906001600160a01b031681565b3480156109b057600080fd5b5061045b6109bf366004612422565b6114d5565b3480156109d057600080fd5b5061045b6109df366004612340565b60066020526000908152604090205460ff1681565b348015610a0057600080fd5b506103b4610a0f366004612340565b6114e2565b348015610a2057600080fd5b506104346040518060400160405280600681526020016553545249444560d01b81525081565b348015610a5257600080fd5b506103b4610a613660046124de565b61167a565b348015610a7257600080fd5b50600d54610a8890600160381b900461ffff1681565b60405161ffff90911681526020016103f8565b348015610aa757600080fd5b5061045b610ab6366004612340565b6001600160a01b031660009081526002602052604090205460ff1690565b348015610ae057600080fd5b5060015461045b90600160a81b900460ff1681565b348015610b0157600080fd5b50600d546105c390640100000000900460ff1681565b348015610b2357600080fd5b5061057b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b348015610b4b57600080fd5b50600d5461045b90610100900460ff1681565b348015610b6a57600080fd5b5060045461057b906001600160a01b031681565b348015610b8a57600080fd5b506103b4611791565b348015610b9f57600080fd5b5060015461045b90600160a01b900460ff1681565b348015610bc057600080fd5b5060045461045b90600160a01b900460ff1681565b348015610be157600080fd5b506104346040518060400160405280600e81526020016d14dd1c9a591948119bdc9dd85c9960921b81525081565b348015610c1b57600080fd5b5060005461057b906001600160a01b031681565b348015610c3b57600080fd5b506103ee610c4a36600461237a565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b348015610c8157600080fd5b50600d54610a889065010000000000900461ffff1681565b348015610ca557600080fd5b5061045b610cb4366004612340565b60026020526000908152604090205460ff1681565b348015610cd557600080fd5b5060015461057b906001600160a01b031681565b348015610cf557600080fd5b506103b4610d043660046124ac565b61180f565b348015610d1557600080fd5b506103b4610d243660046123f4565b6118ba565b6000610d3633848461193c565b5060015b92915050565b610d4c6012600a612677565b610d5a90633b9aca00612722565b81565b6000610d6a848484611a30565b6001600160a01b038416600090815260126020908152604080832033845290915290205482811015610dda5760405162461bcd60e51b81526020600482015260146024820152735472616e73666572203e20616c6c6f77616e636560601b60448201526064015b60405180910390fd5b610dee8533610de98685612741565b61193c565b506001949350505050565b3360009081526002602052604090205460ff1680610e2157506003546001600160a01b031633145b610e3d5760405162461bcd60e51b8152600401610dd190612566565b600f805460ff9283166101000261ffff199091169290931691909117919091179055565b3360009081526002602052604090205460ff1680610e8957506003546001600160a01b031633145b610ea55760405162461bcd60e51b8152600401610dd190612566565b6001600160a01b03919091166000908152600260205260409020805460ff1916911515919091179055565b3360009081526002602052604090205460ff1680610ef857506003546001600160a01b031633145b610f145760405162461bcd60e51b8152600401610dd190612566565b600d805468ffff000000000000001916600160381b61ffff84169081029190911790915560051115610fa25760405162461bcd60e51b815260206004820152603160248201527f4174206c6561737420352c2072656d656d62657220746861742069742773202f604482015270313030302c20736f2035203d20302e352560781b6064820152608401610dd1565b50565b3360008181526012602090815260408083206001600160a01b03871684529091528120549091610d36918590610de99086906125fa565b3360009081526002602052604090205460ff168061100457506003546001600160a01b031633145b6110205760405162461bcd60e51b8152600401610dd190612566565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b3360009081526002602052604090205460ff168061107357506003546001600160a01b031633145b61108f5760405162461bcd60e51b8152600401610dd190612566565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b3360009081526002602052604090205460ff16806110e257506003546001600160a01b031633145b6110fe5760405162461bcd60e51b8152600401610dd190612566565b600d805460ff1916911515919091179055565b3360009081526002602052604090205460ff168061113957506003546001600160a01b031633145b6111555760405162461bcd60e51b8152600401610dd190612566565b600d805466ffff000000000019166501000000000061ffff84169081029190911790915560011115610fa25760405162461bcd60e51b815260206004820152602e60248201527f4174206c6561737420312c2072656d656d62657220746861742069742773202f60448201526d3130302c20736f2031203d20312560901b6064820152608401610dd1565b3360009081526002602052604090205460ff168061120857506003546001600160a01b031633145b6112245760405162461bcd60e51b8152600401610dd190612566565b6004546001600160a01b038381169116141561123f57600080fd5b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b3360009081526002602052604090205460ff168061129257506003546001600160a01b031633145b6112ae5760405162461bcd60e51b8152600401610dd190612566565b600d80549115156101000261ff0019909216919091179055565b60006112f86103e8600d60079054906101000a900461ffff1661ffff16600a546112f29190612722565b90611929565b905090565b6004546001600160a01b0316331461131457600080fd5b600380546001600160a01b039092166001600160a01b0319909216821790556000908152600260205260409020805460ff19166001179055565b6004546001600160a01b0316331461136557600080fd5b600154600160a81b900460ff161561137c57600080fd5b6001805461ffff60a01b1916600160a81b179055565b3360009081526002602052604090205460ff16806113ba57506003546001600160a01b031633145b6113d65760405162461bcd60e51b8152600401610dd190612566565b336000908152601160205260409020548111156113f257600080fd5b3360009081526011602052604081208054839290611411908490612741565b9250508190555080600a600082825461142a9190612741565b909155505060405181815261dead9030906000805160206127a88339815191529060200160405180910390a350565b3360009081526012602090815260408083206001600160a01b0386168452909152812054828110156114bc5760405162461bcd60e51b815260206004820152600c60248201526b3c3020616c6c6f77616e636560a01b6044820152606401610dd1565b6114cb3385610de98685612741565b5060019392505050565b6000610d36338484611a30565b3360009081526002602052604090205460ff168061150a57506003546001600160a01b031633145b6115265760405162461bcd60e51b8152600401610dd190612566565b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a082319060240160206040518083038186803b15801561156a57600080fd5b505afa15801561157e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a291906124c5565b9050600081116115f45760405162461bcd60e51b815260206004820152601860248201527f4e6f20746f6b656e7320696e206f75722062616c616e636500000000000000006044820152606401610dd1565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb90604401602060405180830381600087803b15801561163c57600080fd5b505af1158015611650573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611674919061246b565b50505050565b3360009081526002602052604090205460ff16806116a257506003546001600160a01b031633145b6116be5760405162461bcd60e51b8152600401610dd190612566565b600d805463ffff000019166201000060ff85811691820263ff0000001916929092176301000000928516929092029190911790915515801590611704575060008160ff16115b61173d5760405162461bcd60e51b815260206004820152600a6024820152694174206c65617374203160b01b6044820152606401610dd1565b600f8260ff161080156117535750600f8160ff16105b61178d5760405162461bcd60e51b815260206004820152600b60248201526a139bc81a1bdb995e5c1bdd60aa1b6044820152606401610dd1565b5050565b3360009081526002602052604090205460ff16806117b957506003546001600160a01b031633145b6117d55760405162461bcd60e51b8152600401610dd190612566565b60045460405147916001600160a01b03169082156108fc029083906000818181858888f1935050505015801561178d573d6000803e3d6000fd5b3360009081526002602052604090205460ff168061183757506003546001600160a01b031633145b6118535760405162461bcd60e51b8152600401610dd190612566565b3060009081526011602052604090205481106118b15760405162461bcd60e51b815260206004820152601f60248201527f6475646520746865726520617265206e6f7420656e6f75676820746f6b656e006044820152606401610dd1565b610fa281611b91565b3360009081526002602052604090205460ff16806118e257506003546001600160a01b031633145b6118fe5760405162461bcd60e51b8152600401610dd190612566565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b60006119358284612612565b9392505050565b6001600160a01b0383166119865760405162461bcd60e51b8152602060048201526011602482015270417070726f76652066726f6d207a65726f60781b6044820152606401610dd1565b6001600160a01b0382166119ce5760405162461bcd60e51b815260206004820152600f60248201526e417070726f766520746f207a65726f60881b6044820152606401610dd1565b6001600160a01b0383811660008181526012602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831660009081526005602052604081205460ff1680611a6f57506001600160a01b03831660009081526005602052604090205460ff165b80611a9257506001600160a01b03841660009081526002602052604090205460ff165b80611ab557506001600160a01b03831660009081526002602052604090205460ff165b905060006001600160a01b038516301480611ad857506001600160a01b03841630145b6013549091506000906001600160a01b038781169116148015611b1757506001600160a01b038516737a250d5630b4cf539739df2c5dacb4c659f2488d145b80611b5657506013546001600160a01b038681169116148015611b5657506001600160a01b038616737a250d5630b4cf539739df2c5dacb4c659f2488d145b90508280611b615750815b80611b695750805b15611b7e57611b79868686611e5d565b611b89565b611b89868686611eec565b505050505050565b600454600160a01b900460ff1615611bd75760405162461bcd60e51b81526020600482015260096024820152681c99595b9d1c985b9d60ba1b6044820152606401610dd1565b6004805460ff60a01b1916600160a01b17905530600090815260116020526040812054601054909190611c12906064906112f290604b6122a4565b905082811115611c2a57600d5460ff1615611c2a5750815b80821015611c39575050611e4d565b604080516002808252606082018352479260009291906020830190803683370190505090503081600081518110611c7257611c7261276e565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611cc657600080fd5b505afa158015611cda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfe919061235d565b81600181518110611d1157611d1161276e565b6001600160a01b03928316602091820292909201015260015460405163791ac94760e01b815291169063791ac94790611d57908690600090869030904290600401612589565b600060405180830381600087803b158015611d7157600080fd5b505af1158015611d85573d6000803e3d6000fd5b5050505060008247611d979190612741565b600f54909150600090611dc09060ff6201000082048116916112f29186916101009004166122a4565b90506000611dce8284612741565b6004546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611e09573d6000803e3d6000fd5b50600b546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611e44573d6000803e3d6000fd5b50505050505050505b506004805460ff60a01b19169055565b6001600160a01b03831660009081526011602052604081208054839290611e85908490612741565b90915550506001600160a01b03821660009081526011602052604081208054839290611eb29084906125fa565b92505081905550816001600160a01b0316836001600160a01b03166000805160206127a883398151915283604051611a2391815260200190565b6001600160a01b03831660009081526007602052604090205460ff16158015611f2e57506001600160a01b03821660009081526007602052604090205460ff16155b611f685760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b6044820152606401610dd1565b600154600160a01b900460ff16611fc057600154600160a81b900460ff16611fbb5760405162461bcd60e51b8152600401610dd190602080825260049082015263053544f560e41b604082015260600190565b612005565b600154600160a81b900460ff1661200557816001600160a01b0316836001600160a01b03166000805160206127a88339815191526000604051611a2391815260200190565b6001600160a01b03831660009081526008602052604090205460ff166120395761202d6112c8565b81111561203957600080fd5b6001600160a01b03821660009081526009602052604090205460ff166120f557600d54600a5460649161207a916501000000000090910461ffff1690612722565b6120849190612612565b6001600160a01b0383166000908152601160205260409020546120a89083906125fa565b106120f55760405162461bcd60e51b815260206004820152601760248201527f4d61782077616c6c6574206f6e20726563697069656e740000000000000000006044820152606401610dd1565b6013546000906001600160a01b038481169116148061212157506000546001600160a01b038481169116145b905060008061213084846122b0565b6010543060009081526011602052604090205492945090925010801561215e5750600d54610100900460ff16155b80156121745750600454600160a01b900460ff16155b1561219c5782801561218e5750600d54610100900460ff16155b1561219c5761219c84611b91565b6001600160a01b0386166000908152601160205260409020546121bf9085612312565b6001600160a01b0380881660009081526011602052604080822093909355908716815220546121ee908361231e565b6001600160a01b03861660009081526011602052604080822092909255308152205461221a908261231e565b30600081815260116020526040908190209290925590516001600160a01b038816906000805160206127a8833981519152906122599085815260200190565b60405180910390a3846001600160a01b0316866001600160a01b03166000805160206127a88339815191528460405161229491815260200190565b60405180910390a3505050505050565b60006119358284612722565b600080600083156122ce5750600d546301000000900460ff166122dc565b50600d5462010000900460ff165b600060646122ed60ff841688612722565b6122f79190612612565b905060006123058288612741565b9791965090945050505050565b60006119358284612741565b600061193582846125fa565b803560ff8116811461233b57600080fd5b919050565b60006020828403121561235257600080fd5b813561193581612784565b60006020828403121561236f57600080fd5b815161193581612784565b6000806040838503121561238d57600080fd5b823561239881612784565b915060208301356123a881612784565b809150509250929050565b6000806000606084860312156123c857600080fd5b83356123d381612784565b925060208401356123e381612784565b929592945050506040919091013590565b6000806040838503121561240757600080fd5b823561241281612784565b915060208301356123a881612799565b6000806040838503121561243557600080fd5b823561244081612784565b946020939093013593505050565b60006020828403121561246057600080fd5b813561193581612799565b60006020828403121561247d57600080fd5b815161193581612799565b60006020828403121561249a57600080fd5b813561ffff8116811461193557600080fd5b6000602082840312156124be57600080fd5b5035919050565b6000602082840312156124d757600080fd5b5051919050565b600080604083850312156124f157600080fd5b6124fa8361232a565b91506125086020840161232a565b90509250929050565b600060208083528351808285015260005b8181101561253e57858101830151858201604001528201612522565b81811115612550576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252600990820152683737ba1037bbb732b960b91b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156125d95784516001600160a01b0316835293830193918301916001016125b4565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561260d5761260d612758565b500190565b60008261262f57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561266f57816000190482111561265557612655612758565b8085161561266257918102915b93841c9390800290612639565b509250929050565b600061193560ff84168360008261269057506001610d3a565b8161269d57506000610d3a565b81600181146126b357600281146126bd576126d9565b6001915050610d3a565b60ff8411156126ce576126ce612758565b50506001821b610d3a565b5060208310610133831016604e8410600b84101617156126fc575081810a610d3a565b6127068383612634565b806000190482111561271a5761271a612758565b029392505050565b600081600019048311821515161561273c5761273c612758565b500290565b60008282101561275357612753612758565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114610fa257600080fd5b8015158114610fa257600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220f3d5f7353ddcba41aff2628b0c50b4f640c81fd8d942697e5fe3b505d704f01a64736f6c63430008070033
Deployed Bytecode Sourcemap
13334:11491:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14802:68;;;;;;;;;;-1:-1:-1;14802:68:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;4944:25:1;;;4932:2;4917:18;14802:68:0;;;;;;;;22643:85;;;;;;;;;;-1:-1:-1;22715:5:0;;;;;;;;;;;;-1:-1:-1;;;22715:5:0;;;;22643:85;;;;;;;:::i;14295:25::-;;;;;;;;;;-1:-1:-1;14295:25:0;;;;;;;;;;;4300:14:1;;4293:22;4275:41;;4263:2;4248:18;14295:25:0;4135:187:1;23385:161:0;;;;;;;;;;-1:-1:-1;23385:161:0;;;;;:::i;:::-;;:::i;14684:57::-;;;;;;;;;;;;;;;;13449:40;;;;;;;;;;-1:-1:-1;13449:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;20372:108;;;;;;;;;;-1:-1:-1;20454:18:0;;20372:108;;13862:68;;;;;;;;;;;;;:::i;23863:392::-;;;;;;;;;;-1:-1:-1;23863:392:0;;;;;:::i;:::-;;:::i;19905:128::-;;;;;;;;;;-1:-1:-1;19905:128:0;;;;;:::i;:::-;;:::i;12623:106::-;;;;;;;;;;-1:-1:-1;12623:106:0;;;;;:::i;:::-;;:::i;14160:78::-;;;;;;;;;;-1:-1:-1;14160:78:0;;;;-1:-1:-1;;;;;14160:78:0;;;;;;-1:-1:-1;;;;;3812:32:1;;;3794:51;;3782:2;3767:18;14160:78:0;3648:203:1;20970:168:0;;;;;;;;;;-1:-1:-1;20970:168:0;;;;;:::i;:::-;;:::i;22833:85::-;;;;;;;;;;-1:-1:-1;13853:2:0;22833:85;;;12417:4:1;12405:17;;;12387:36;;12375:2;12360:18;22833:85:0;12245:184:1;13819:36:0;;;;;;;;;;;;13853:2;13819:36;;14879:27;;;;;;;;;;-1:-1:-1;14879:27:0;;;;-1:-1:-1;;;;;14879:27:0;;;24265:205;;;;;;;;;;-1:-1:-1;24265:205:0;;;;;:::i;:::-;;:::i;21469:132::-;;;;;;;;;;-1:-1:-1;21469:132:0;;;;;:::i;:::-;;:::i;21337:124::-;;;;;;;;;;-1:-1:-1;21337:124:0;;;;;:::i;:::-;;:::i;14247:39::-;;;;;;;;;;-1:-1:-1;14247:39:0;;;;;:::i;:::-;;;;;;;;;;;;;;14367:24;;;;;;;;;;-1:-1:-1;14367:24:0;;;;;;;;;;;22458:86;;;;;;;;;;-1:-1:-1;22458:86:0;;;;;:::i;:::-;;:::i;21146:183::-;;;;;;;;;;-1:-1:-1;21146:183:0;;;;;:::i;:::-;;:::i;13649:55::-;;;;;;;;;;-1:-1:-1;13649:55:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;21852:166;;;;;;;;;;-1:-1:-1;21852:166:0;;;;;:::i;:::-;;:::i;14750:45::-;;;;;;;;;;-1:-1:-1;14750:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;22926:121;;;;;;;;;;-1:-1:-1;22926:121:0;;;;;:::i;:::-;-1:-1:-1;;;;;23021:18:0;22994:7;23021:18;;;:9;:18;;;;;;;22926:121;20273:91;;;;;;;;;;-1:-1:-1;20273:91:0;;;;;:::i;:::-;;:::i;16397:114::-;;;;;;;;;;;;;:::i;14541:24::-;;;;;;;;;;;;;;;;21722:122;;;;;;;;;;-1:-1:-1;21722:122:0;;;;;:::i;:::-;;:::i;13544:40::-;;;;;;;;;;-1:-1:-1;13544:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14080:73;;;;;;;;;;;;14111:42;14080:73;;22552:83;;;;;;;;;;-1:-1:-1;22622:5:0;;-1:-1:-1;;;;;22622:5:0;22552:83;;12859:20;;;;;;;;;;-1:-1:-1;12859:20:0;;;;-1:-1:-1;;;;;12859:20:0;;;19597:141;;;;;;;;;;;;;:::i;14398:25::-;;;;;;;;;;-1:-1:-1;14398:25:0;;;;;;;;;;;13591:51;;;;;;;;;;-1:-1:-1;13591:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;22736:89;;;;;;;;;;-1:-1:-1;22810:7:0;;;;;;;;;;;;-1:-1:-1;;;22810:7:0;;;;22736:89;;22026:249;;;;;;;;;;-1:-1:-1;22026:249:0;;;;;:::i;:::-;;:::i;13937:48::-;;;;;;;;;;;;;;;;24478:342;;;;;;;;;;-1:-1:-1;24478:342:0;;;;;:::i;:::-;;:::i;14913:26::-;;;;;;;;;;-1:-1:-1;14913:26:0;;;;-1:-1:-1;;;;;14913:26:0;;;23055:167;;;;;;;;;;-1:-1:-1;23055:167:0;;;;;:::i;:::-;;:::i;13496:41::-;;;;;;;;;;-1:-1:-1;13496:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;20682:280;;;;;;;;;;-1:-1:-1;20682:280:0;;;;;:::i;:::-;;:::i;13771:41::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13771:41:0;;;;;20041:224;;;;;;;;;;-1:-1:-1;20041:224:0;;;;;:::i;:::-;;:::i;14505:29::-;;;;;;;;;;-1:-1:-1;14505:29:0;;;;-1:-1:-1;;;14505:29:0;;;;;;;;;11059:6:1;11047:19;;;11029:38;;11017:2;11002:18;14505:29:0;10885:188:1;12516:99:0;;;;;;;;;;-1:-1:-1;12516:99:0;;;;;:::i;:::-;-1:-1:-1;;;;;12594:13:0;12570:4;12594:13;;;:7;:13;;;;;;;;;12516:99;12425:33;;;;;;;;;;-1:-1:-1;12425:33:0;;;;-1:-1:-1;;;12425:33:0;;;;;;14430:29;;;;;;;;;;-1:-1:-1;14430:29:0;;;;;;;;;;;13992:81;;;;;;;;;;;;14031:42;13992:81;;14327:31;;;;;;;;;;-1:-1:-1;14327:31:0;;;;;;;;;;;12886:24;;;;;;;;;;-1:-1:-1;12886:24:0;;;;-1:-1:-1;;;;;12886:24:0;;;19746:151;;;;;;;;;;;;;:::i;12387:31::-;;;;;;;;;;-1:-1:-1;12387:31:0;;;;-1:-1:-1;;;12387:31:0;;;;;;13104:18;;;;;;;;;;-1:-1:-1;13104:18:0;;;;-1:-1:-1;;;13104:18:0;;;;;;13717:47;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13717:47:0;;;;;11067:74;;;;;;;;;;-1:-1:-1;11067:74:0;;;;-1:-1:-1;;;;;11067:74:0;;;23230:147;;;;;;;;;;-1:-1:-1;23230:147:0;;;;;:::i;:::-;-1:-1:-1;;;;;23341:19:0;;;23314:7;23341:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;23230:147;14468:30;;;;;;;;;;-1:-1:-1;14468:30:0;;;;;;;;;;;12467:40;;;;;;;;;;-1:-1:-1;12467:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11148:65;;;;;;;;;;-1:-1:-1;11148:65:0;;;;-1:-1:-1;;;;;11148:65:0;;;20488:186;;;;;;;;;;-1:-1:-1;20488:186:0;;;;;:::i;:::-;;:::i;21609:105::-;;;;;;;;;;-1:-1:-1;21609:105:0;;;;;:::i;:::-;;:::i;23385:161::-;23462:4;23479:37;23488:10;23500:7;23509:6;23479:8;:37::i;:::-;-1:-1:-1;23534:4:0;23385:161;;;;;:::o;13862:68::-;13916:13;13853:2;13916;:13;:::i;:::-;13901:29;;:11;:29;:::i;:::-;13862:68;:::o;23863:392::-;23963:4;23980:36;23990:6;23998:9;24009:6;23980:9;:36::i;:::-;-1:-1:-1;;;;;24056:19:0;;24029:24;24056:19;;;:11;:19;;;;;;;;24076:10;24056:31;;;;;;;;24106:26;;;;24098:59;;;;-1:-1:-1;;;24098:59:0;;6908:2:1;24098:59:0;;;6890:21:1;6947:2;6927:18;;;6920:30;-1:-1:-1;;;6966:18:1;;;6959:50;7026:18;;24098:59:0;;;;;;;;;24170:55;24179:6;24187:10;24199:25;24218:6;24199:16;:25;:::i;:::-;24170:8;:55::i;:::-;-1:-1:-1;24243:4:0;;23863:392;-1:-1:-1;;;;23863:392:0:o;19905:128::-;12785:10;12777:19;;;;:7;:19;;;;;;;;;:40;;-1:-1:-1;12812:5:0;;-1:-1:-1;;;;;12812:5:0;12800:10;:17;12777:40;12768:63;;;;-1:-1:-1;;;12768:63:0;;;;;;;:::i;:::-;19977:8:::1;:14:::0;;::::1;20002:23:::0;;::::1;19977:14;20002:23;-1:-1:-1::0;;20002:23:0;;;19977:14;;;::::1;20002:23:::0;;;;;;;::::1;::::0;;19905:128::o;12623:106::-;12785:10;12777:19;;;;:7;:19;;;;;;;;;:40;;-1:-1:-1;12812:5:0;;-1:-1:-1;;;;;12812:5:0;12800:10;:17;12777:40;12768:63;;;;-1:-1:-1;;;12768:63:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12700:13:0;;;::::1;;::::0;;;:7:::1;:13;::::0;;;;:21;;-1:-1:-1;;12700:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12623:106::o;20970:168::-;12785:10;12777:19;;;;:7;:19;;;;;;;;;:40;;-1:-1:-1;12812:5:0;;-1:-1:-1;;;;;12812:5:0;12800:10;:17;12777:40;12768:63;;;;-1:-1:-1;;;12768:63:0;;;;;;;:::i;:::-;21031:8:::1;:16:::0;;-1:-1:-1;;21031:16:0::1;-1:-1:-1::0;;;21031:16:0::1;::::0;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;21075:1:::1;-1:-1:-1::0;21066:10:0::1;21058:72;;;::::0;-1:-1:-1;;;21058:72:0;;5784:2:1;21058:72:0::1;::::0;::::1;5766:21:1::0;5823:2;5803:18;;;5796:30;5862:34;5842:18;;;5835:62;-1:-1:-1;;;5913:18:1;;;5906:47;5970:19;;21058:72:0::1;5582:413:1::0;21058:72:0::1;20970:168:::0;:::o;24265:205::-;24373:10;24347:4;24394:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;24394:32:0;;;;;;;;;;24347:4;;24364:76;;24385:7;;24394:45;;24429:10;;24394:45;:::i;21469:132::-;12785:10;12777:19;;;;:7;:19;;;;;;;;;:40;;-1:-1:-1;12812:5:0;;-1:-1:-1;;;;;12812:5:0;12800:10;:17;12777:40;12768:63;;;;-1:-1:-1;;;12768:63:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21556:29:0;;;::::1;;::::0;;;:23:::1;:29;::::0;;;;:37;;-1:-1:-1;;21556:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;21469:132::o;21337:124::-;12785:10;12777:19;;;;:7;:19;;;;;;;;;:40;;-1:-1:-1;12812:5:0;;-1:-1:-1;;;;;12812:5:0;12800:10;:17;12777:40;12768:63;;;;-1:-1:-1;;;12768:63:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21420:25:0;;;::::1;;::::0;;;:19:::1;:25;::::0;;;;:33;;-1:-1:-1;;21420:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;21337:124::o;22458:86::-;12785:10;12777:19;;;;:7;:19;;;;;;;;;:40;;-1:-1:-1;12812:5:0;;-1:-1:-1;;;;;12812:5:0;12800:10;:17;12777:40;12768:63;;;;-1:-1:-1;;;12768:63:0;;;;;;;:::i;:::-;22522:6:::1;:14:::0;;-1:-1:-1;;22522:14:0::1;::::0;::::1;;::::0;;;::::1;::::0;;22458:86::o;21146:183::-;12785:10;12777:19;;;;:7;:19;;;;;;;;;:40;;-1:-1:-1;12812:5:0;;-1:-1:-1;;;;;12812:5:0;12800:10;:17;12777:40;12768:63;;;;-1:-1:-1;;;12768:63:0;;;;;;;:::i;:::-;21215:10:::1;:22:::0;;-1:-1:-1;;21215:22:0::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;;21256:14:0::1;21248:73;;;::::0;-1:-1:-1;;;21248:73:0;;7594:2:1;21248:73:0::1;::::0;::::1;7576:21:1::0;7633:2;7613:18;;;7606:30;7672:34;7652:18;;;7645:62;-1:-1:-1;;;7723:18:1;;;7716:44;7777:19;;21248:73:0::1;7392:410:1::0;21852:166:0;12785:10;12777:19;;;;:7;:19;;;;;;;;;:40;;-1:-1:-1;12812:5:0;;-1:-1:-1;;;;;12812:5:0;12800:10;:17;12777:40;12768:63;;;;-1:-1:-1;;;12768:63:0;;;;;;;:::i;:::-;21960:9:::1;::::0;-1:-1:-1;;;;;21948:21:0;;::::1;21960:9:::0;::::1;21948:21;21946:24;21938:33;;;::::0;::::1;;-1:-1:-1::0;;;;;21982:20:0;;;::::1;;::::0;;;:8:::1;:20;::::0;;;;:28;;-1:-1:-1;;21982:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;21852:166::o;20273:91::-;12785:10;12777:19;;;;:7;:19;;;;;;;;;:40;;-1:-1:-1;12812:5:0;;-1:-1:-1;;;;;12812:5:0;12800:10;:17;12777:40;12768:63;;;;-1:-1:-1;;;12768:63:0;;;;;;;:::i;:::-;20337:11:::1;:19:::0;;;::::1;;;;-1:-1:-1::0;;20337:19:0;;::::1;::::0;;;::::1;::::0;;20273:91::o;16397:114::-;16436:4;16461:41;16497:4;16483:8;;;;;;;;;;;16462:29;;:18;;:29;;;;:::i;:::-;16461:35;;:41::i;:::-;16453:50;;16397:114;:::o;21722:122::-;12967:9;;-1:-1:-1;;;;;12967:9:0;12955:10;:21;12947:30;;;;;;21785:5:::1;:16:::0;;-1:-1:-1;;;;;21785:16:0;;::::1;-1:-1:-1::0;;;;;;21785:16:0;;::::1;::::0;::::1;::::0;;:5:::1;21812:17:::0;;;:7:::1;:17;::::0;;;;:24;;-1:-1:-1;;21812:24:0::1;21785:16:::0;21812:24:::1;::::0;;21722:122::o;19597:141::-;12967:9;;-1:-1:-1;;;;;12967:9:0;12955:10;:21;12947:30;;;;;;19646:13:::1;::::0;-1:-1:-1;;;19646:13:0;::::1;;;:22;19638:31;;;::::0;::::1;;19680:11;:19:::0;;-1:-1:-1;;;;19710:20:0;-1:-1:-1;;;19710:20:0::1;::::0;;19597:141::o;22026:249::-;12785:10;12777:19;;;;:7;:19;;;;;;;;;:40;;-1:-1:-1;12812:5:0;;-1:-1:-1;;;;;12812:5:0;12800:10;:17;12777:40;12768:63;;;;-1:-1:-1;;;12768:63:0;;;;;;;:::i;:::-;22111:10:::1;22101:21;::::0;;;:9:::1;:21;::::0;;;;;:31;-1:-1:-1;22101:31:0::1;22093:40;;;::::0;::::1;;22154:10;22144:21;::::0;;;:9:::1;:21;::::0;;;;:31;;22169:6;;22144:21;:31:::1;::::0;22169:6;;22144:31:::1;:::i;:::-;;;;;;;;22208:6;22186:18;;:28;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;22230:37:0::1;::::0;4944:25:1;;;14111:42:0::1;::::0;22247:4:::1;::::0;-1:-1:-1;;;;;;;;;;;22230:37:0;4932:2:1;4917:18;22230:37:0::1;;;;;;;22026:249:::0;:::o;24478:342::-;24621:10;24565:4;24609:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;24609:32:0;;;;;;;;;;24660:35;;;;24652:60;;;;-1:-1:-1;;;24652:60:0;;10406:2:1;24652:60:0;;;10388:21:1;10445:2;10425:18;;;10418:30;-1:-1:-1;;;10464:18:1;;;10457:42;10516:18;;24652:60:0;10204:336:1;24652:60:0;24725:65;24734:10;24746:7;24755:34;24774:15;24755:16;:34;:::i;24725:65::-;-1:-1:-1;24808:4:0;;24478:342;-1:-1:-1;;;24478:342:0:o;23055:167::-;23135:4;23152:40;23162:10;23174:9;23185:6;23152:9;:40::i;20682:280::-;12785:10;12777:19;;;;:7;:19;;;;;;;;;:40;;-1:-1:-1;12812:5:0;;-1:-1:-1;;;;;12812:5:0;12800:10;:17;12777:40;12768:63;;;;-1:-1:-1;;;12768:63:0;;;;;;;:::i;:::-;20815:30:::1;::::0;-1:-1:-1;;;20815:30:0;;20839:4:::1;20815:30;::::0;::::1;3794:51:1::0;20772:10:0;;20752:11:::1;::::0;-1:-1:-1;;;;;20815:15:0;::::1;::::0;::::1;::::0;3767:18:1;;20815:30:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20794:51;;20875:1;20864:10;:12;20856:49;;;::::0;-1:-1:-1;;;20856:49:0;;8353:2:1;20856:49:0::1;::::0;::::1;8335:21:1::0;8392:2;8372:18;;;8365:30;8431:26;8411:18;;;8404:54;8475:18;;20856:49:0::1;8151:348:1::0;20856:49:0::1;20916:38;::::0;-1:-1:-1;;;20916:38:0;;20931:10:::1;20916:38;::::0;::::1;4030:51:1::0;4097:18;;;4090:34;;;-1:-1:-1;;;;;20916:14:0;::::1;::::0;::::1;::::0;4003:18:1;;20916:38:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20741:221;;20682:280:::0;:::o;20041:224::-;12785:10;12777:19;;;;:7;:19;;;;;;;;;:40;;-1:-1:-1;12812:5:0;;-1:-1:-1;;;;;12812:5:0;12800:10;:17;12777:40;12768:63;;;;-1:-1:-1;;;12768:63:0;;;;;;;:::i;:::-;20110:7:::1;:13:::0;;-1:-1:-1;;20134:15:0;20110:13;::::1;::::0;;::::1;::::0;;::::1;-1:-1:-1::0;;20134:15:0;;;;;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;;20168:7;;;;:19:::1;;;20186:1;20179:4;:8;;;20168:19;20160:42;;;::::0;-1:-1:-1;;;20160:42:0;;9398:2:1;20160:42:0::1;::::0;::::1;9380:21:1::0;9437:2;9417:18;;;9410:30;-1:-1:-1;;;9456:18:1;;;9449:40;9506:18;;20160:42:0::1;9196:334:1::0;20160:42:0::1;20226:2;20221:3;:7;;;:20;;;;;20239:2;20232:4;:9;;;20221:20;20213:44;;;::::0;-1:-1:-1;;;20213:44:0;;9058:2:1;20213:44:0::1;::::0;::::1;9040:21:1::0;9097:2;9077:18;;;9070:30;-1:-1:-1;;;9116:18:1;;;9109:41;9167:18;;20213:44:0::1;8856:335:1::0;20213:44:0::1;20041:224:::0;;:::o;19746:151::-;12785:10;12777:19;;;;:7;:19;;;;;;;;;:40;;-1:-1:-1;12812:5:0;;-1:-1:-1;;;;;12812:5:0;12800:10;:17;12777:40;12768:63;;;;-1:-1:-1;;;12768:63:0;;;;;;;:::i;:::-;19861:9:::1;::::0;19853:36:::1;::::0;19821:21:::1;::::0;-1:-1:-1;;;;;19861:9:0::1;::::0;19853:36;::::1;;;::::0;19821:21;;19803:15:::1;19853:36:::0;19803:15;19853:36;19821:21;19861:9;19853:36;::::1;;;;;;;;;;;;;::::0;::::1;;;;20488:186:::0;12785:10;12777:19;;;;:7;:19;;;;;;;;;:40;;-1:-1:-1;12812:5:0;;-1:-1:-1;;;;;12812:5:0;12800:10;:17;12777:40;12768:63;;;;-1:-1:-1;;;12768:63:0;;;;;;;:::i;:::-;20595:4:::1;20577:24;::::0;;;:9:::1;:24;::::0;;;;;20568:33;::::1;20560:77;;;::::0;-1:-1:-1;;;20560:77:0;;6202:2:1;20560:77:0::1;::::0;::::1;6184:21:1::0;6241:2;6221:18;;;6214:30;6280:33;6260:18;;;6253:61;6331:18;;20560:77:0::1;6000:355:1::0;20560:77:0::1;20648:18;20659:6;20648:10;:18::i;21609:105::-:0;12785:10;12777:19;;;;:7;:19;;;;;;;;;:40;;-1:-1:-1;12812:5:0;;-1:-1:-1;;;;;12812:5:0;12800:10;:17;12777:40;12768:63;;;;-1:-1:-1;;;12768:63:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21684:14:0;;;::::1;;::::0;;;:8:::1;:14;::::0;;;;:22;;-1:-1:-1;;21684:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;21609:105::o;1584:98::-;1642:7;1669:5;1673:1;1669;:5;:::i;:::-;1662:12;1584:98;-1:-1:-1;;;1584:98:0:o;23552:303::-;-1:-1:-1;;;;;23646:20:0;;23638:50;;;;-1:-1:-1;;;23638:50:0;;6562:2:1;23638:50:0;;;6544:21:1;6601:2;6581:18;;;6574:30;-1:-1:-1;;;6620:18:1;;;6613:47;6677:18;;23638:50:0;6360:341:1;23638:50:0;-1:-1:-1;;;;;23707:21:0;;23699:49;;;;-1:-1:-1;;;23699:49:0;;8009:2:1;23699:49:0;;;7991:21:1;8048:2;8028:18;;;8021:30;-1:-1:-1;;;8067:18:1;;;8060:45;8122:18;;23699:49:0;7807:339:1;23699:49:0;-1:-1:-1;;;;;23761:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;23814:33;;4944:25:1;;;23814:33:0;;4917:18:1;23814:33:0;;;;;;;;23552:303;;;:::o;15723:666::-;-1:-1:-1;;;;;15830:16:0;;15811:15;15830:16;;;:8;:16;;;;;;;;;:39;;-1:-1:-1;;;;;;15850:19:0;;;;;;:8;:19;;;;;;;;15830:39;:58;;;-1:-1:-1;;;;;;15873:15:0;;;;;;:7;:15;;;;;;;;15830:58;:80;;;-1:-1:-1;;;;;;15892:18:0;;;;;;:7;:18;;;;;;;;15830:80;15811:100;-1:-1:-1;15924:23:0;-1:-1:-1;;;;;15949:21:0;;15965:4;15949:21;;:49;;-1:-1:-1;;;;;;15974:24:0;;15993:4;15974:24;15949:49;16051:12;;15924:75;;-1:-1:-1;16012:24:0;;-1:-1:-1;;;;;16041:22:0;;;16051:12;;16041:22;:52;;;;-1:-1:-1;;;;;;16067:26:0;;14031:42;16067:26;16041:52;16040:121;;;-1:-1:-1;16121:12:0;;-1:-1:-1;;;;;16108:25:0;;;16121:12;;16108:25;:52;;;;-1:-1:-1;;;;;;16137:23:0;;14031:42;16137:23;16108:52;16012:150;;16179:10;:32;;;;16193:18;16179:32;:55;;;;16215:19;16179:55;16175:205;;;16251:43;16268:6;16276:9;16287:6;16251:16;:43::i;:::-;16175:205;;;16327:41;16342:6;16350:9;16361:6;16327:14;:41::i;:::-;15798:591;;;15723:666;;;:::o;18260:1099::-;13165:6;;-1:-1:-1;;;13165:6:0;;;;13164:7;13156:29;;;;-1:-1:-1;;;13156:29:0;;7257:2:1;13156:29:0;;;7239:21:1;7296:1;7276:18;;;7269:29;-1:-1:-1;;;7314:18:1;;;7307:39;7363:18;;13156:29:0;7055:332:1;13156:29:0;13196:6;:13;;-1:-1:-1;;;;13196:13:0;-1:-1:-1;;;13196:13:0;;;18366:4:::1;13196:13:::0;18348:24;;;:9:::1;:24;::::0;;;;;18409:13:::1;::::0;18348:24;;13196:13;18408:32:::1;::::0;18436:3:::1;::::0;18409:21:::1;::::0;18427:2:::1;18409:17;:21::i;18408:32::-;18383:57;;18473:9;18456:14;:26;18453:129;;;18502:6;::::0;::::1;;18499:72;;;-1:-1:-1::0;18546:9:0;18499:72:::1;18611:14;18595:15;:30;18592:67;;;18641:7;;;;18592:67;18755:16;::::0;;18769:1:::1;18755:16:::0;;;;;::::1;::::0;;18699:21:::1;::::0;18671:25:::1;::::0;18755:16;18769:1;18755:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;18755:16:0::1;18731:40;;18800:4;18782;18787:1;18782:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18782:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;18826:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;18826:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;18782:7;;18826:13;;;;;:6;:13;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18816:4;18821:1;18816:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18816:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;18850:6:::1;::::0;:194:::1;::::0;-1:-1:-1;;;18850:194:0;;:6;::::1;::::0;:57:::1;::::0;:194:::1;::::0;18922:14;;18850:6:::1;::::0;18967:4;;18994::::1;::::0;19014:15:::1;::::0;18850:194:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;19055:14;19095:17;19071:21;:41;;;;:::i;:::-;19182:11;::::0;19055:58;;-1:-1:-1;19126:22:0::1;::::0;19151:43:::1;::::0;19182:11:::1;::::0;;::::1;::::0;::::1;::::0;19151:26:::1;::::0;19055:58;;19182:11:::1;19162:14:::0;::::1;;19151:10;:26::i;:43::-;19126:68:::0;-1:-1:-1;19205:16:0::1;19224:23;19126:68:::0;19224:6;:23:::1;:::i;:::-;19266:9;::::0;19258:37:::1;::::0;19205:42;;-1:-1:-1;;;;;;19266:9:0::1;::::0;19258:37;::::1;;;::::0;19205:42;;19266:9:::1;19258:37:::0;19266:9;19258:37;19205:42;19266:9;19258:37;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;19314:9:0::1;::::0;19306:43:::1;::::0;-1:-1:-1;;;;;19314:9:0;;::::1;::::0;19306:43;::::1;;;::::0;19334:14;;19314:9:::1;19306:43:::0;19314:9;19306:43;19334:14;19314:9;19306:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;18311:1048;;;;;;;13220:1;-1:-1:-1::0;13232:6:0;:14;;-1:-1:-1;;;;13232:14:0;;;18260:1099::o;19369:220::-;-1:-1:-1;;;;;19462:17:0;;;;;;:9;:17;;;;;:27;;19483:6;;19462:17;:27;;19483:6;;19462:27;:::i;:::-;;;;-1:-1:-1;;;;;;;19500:20:0;;;;;;:9;:20;;;;;:30;;19524:6;;19500:20;:30;;19524:6;;19500:30;:::i;:::-;;;;;;;;19563:9;-1:-1:-1;;;;;19546:35:0;19555:6;-1:-1:-1;;;;;19546:35:0;-1:-1:-1;;;;;;;;;;;19574:6:0;19546:35;;;;4944:25:1;;4932:2;4917:18;;4790:185;16519:1341:0;-1:-1:-1;;;;;16619:16:0;;;;;;:8;:16;;;;;;;;16618:17;:41;;;;-1:-1:-1;;;;;;16640:19:0;;;;;;:8;:19;;;;;;;;16639:20;16618:41;16610:65;;;;-1:-1:-1;;;16610:65:0;;10747:2:1;16610:65:0;;;10729:21:1;10786:2;10766:18;;;10759:30;-1:-1:-1;;;10805:18:1;;;10798:41;10856:18;;16610:65:0;10545:335:1;16610:65:0;16692:11;;-1:-1:-1;;;16692:11:0;;;;16688:220;;16728:13;;-1:-1:-1;;;16728:13:0;;;;16720:30;;;;-1:-1:-1;;;16720:30:0;;;;;;9737:2:1;9719:21;;;9776:1;9756:18;;;9749:29;-1:-1:-1;;;9809:2:1;9794:18;;9787:34;9853:2;9838:18;;9535:327;16720:30:0;16688:220;;;16787:13;;-1:-1:-1;;;16787:13:0;;;;16783:114;;16843:9;-1:-1:-1;;;;;16826:30:0;16835:6;-1:-1:-1;;;;;16826:30:0;-1:-1:-1;;;;;;;;;;;16854:1:0;16826:30;;;;4944:25:1;;4932:2;4917:18;;4790:185;16783:114:0;-1:-1:-1;;;;;16924:27:0;;;;;;:19;:27;;;;;;;;16920:87;;16986:8;:6;:8::i;:::-;16976:6;:18;;16968:27;;;;;;-1:-1:-1;;;;;17023:34:0;;;;;;:23;:34;;;;;;;;17019:172;;17135:10;;17116:18;;17147:3;;17116:29;;17135:10;;;;;;;17116:29;:::i;:::-;17115:35;;;;:::i;:::-;-1:-1:-1;;;;;17083:20:0;;;;;;:9;:20;;;;;;:27;;17104:6;;17083:27;:::i;:::-;17082:69;17074:105;;;;-1:-1:-1;;;17074:105:0;;8706:2:1;17074:105:0;;;8688:21:1;8745:2;8725:18;;;8718:30;8784:25;8764:18;;;8757:53;8827:18;;17074:105:0;8504:347:1;17074:105:0;17227:12;;17203:11;;-1:-1:-1;;;;;17215:24:0;;;17227:12;;17215:24;;:54;;-1:-1:-1;17255:14:0;;-1:-1:-1;;;;;17242:27:0;;;17255:14;;17242:27;17215:54;17203:66;;17283:16;17301:10;17315:29;17329:6;17337;17315:13;:29::i;:::-;17388:13;;17379:4;17361:24;;;;:9;:24;;;;;;17282:62;;-1:-1:-1;17282:62:0;;-1:-1:-1;;17360:58:0;;;;-1:-1:-1;17407:11:0;;;;;;;17406:12;17360:58;:69;;;;-1:-1:-1;17423:6:0;;-1:-1:-1;;;17423:6:0;;;;17422:7;17360:69;17357:180;;;17449:6;:22;;;;-1:-1:-1;17460:11:0;;;;;;;17459:12;17449:22;17446:80;;;17492:18;17503:6;17492:10;:18::i;:::-;-1:-1:-1;;;;;17569:17:0;;;;;;:9;:17;;;;;;:29;;17591:6;17569:21;:29::i;:::-;-1:-1:-1;;;;;17549:17:0;;;;;;;:9;:17;;;;;;:49;;;;17632:20;;;;;;;:37;;17657:11;17632:24;:37::i;:::-;-1:-1:-1;;;;;17609:20:0;;;;;;:9;:20;;;;;;:60;;;;17725:4;17707:24;;;;:35;;17736:5;17707:28;:35::i;:::-;17698:4;17680:24;;;;:9;:24;;;;;;;:62;;;;17758:38;;-1:-1:-1;;;;;17758:38:0;;;-1:-1:-1;;;;;;;;;;;17758:38:0;;;17790:5;4944:25:1;;4932:2;4917:18;;4790:185;17758:38:0;;;;;;;;17829:9;-1:-1:-1;;;;;17812:40:0;17821:6;-1:-1:-1;;;;;17812:40:0;-1:-1:-1;;;;;;;;;;;17840:11:0;17812:40;;;;4944:25:1;;4932:2;4917:18;;4790:185;17812:40:0;;;;;;;;16599:1261;;;16519:1341;;;:::o;1478:98::-;1536:7;1563:5;1567:1;1563;:5;:::i;17868:384::-;17939:17;17958:11;17982:9;18007:6;18004:98;;;-1:-1:-1;18036:8:0;;;;;;;18004:98;;;-1:-1:-1;18083:7:0;;;;;;;18004:98;18114:15;18145:3;18133:10;;;;:6;:10;:::i;:::-;18132:16;;;;:::i;:::-;18114:34;-1:-1:-1;18159:17:0;18179:19;18114:34;18179:6;:19;:::i;:::-;18159:39;18231:10;;-1:-1:-1;17868:384:0;;-1:-1:-1;;;;;17868:384:0:o;1372:98::-;1430:7;1457:5;1461:1;1457;:5;:::i;1266:98::-;1324:7;1351:5;1355:1;1351;:5;:::i;14:156:1:-;80:20;;140:4;129:16;;119:27;;109:55;;160:1;157;150:12;109:55;14:156;;;:::o;175:247::-;234:6;287:2;275:9;266:7;262:23;258:32;255:52;;;303:1;300;293:12;255:52;342:9;329:23;361:31;386:5;361:31;:::i;427:251::-;497:6;550:2;538:9;529:7;525:23;521:32;518:52;;;566:1;563;556:12;518:52;598:9;592:16;617:31;642:5;617:31;:::i;683:388::-;751:6;759;812:2;800:9;791:7;787:23;783:32;780:52;;;828:1;825;818:12;780:52;867:9;854:23;886:31;911:5;886:31;:::i;:::-;936:5;-1:-1:-1;993:2:1;978:18;;965:32;1006:33;965:32;1006:33;:::i;:::-;1058:7;1048:17;;;683:388;;;;;:::o;1076:456::-;1153:6;1161;1169;1222:2;1210:9;1201:7;1197:23;1193:32;1190:52;;;1238:1;1235;1228:12;1190:52;1277:9;1264:23;1296:31;1321:5;1296:31;:::i;:::-;1346:5;-1:-1:-1;1403:2:1;1388:18;;1375:32;1416:33;1375:32;1416:33;:::i;:::-;1076:456;;1468:7;;-1:-1:-1;;;1522:2:1;1507:18;;;;1494:32;;1076:456::o;1537:382::-;1602:6;1610;1663:2;1651:9;1642:7;1638:23;1634:32;1631:52;;;1679:1;1676;1669:12;1631:52;1718:9;1705:23;1737:31;1762:5;1737:31;:::i;:::-;1787:5;-1:-1:-1;1844:2:1;1829:18;;1816:32;1857:30;1816:32;1857:30;:::i;1924:315::-;1992:6;2000;2053:2;2041:9;2032:7;2028:23;2024:32;2021:52;;;2069:1;2066;2059:12;2021:52;2108:9;2095:23;2127:31;2152:5;2127:31;:::i;:::-;2177:5;2229:2;2214:18;;;;2201:32;;-1:-1:-1;;;1924:315:1:o;2244:241::-;2300:6;2353:2;2341:9;2332:7;2328:23;2324:32;2321:52;;;2369:1;2366;2359:12;2321:52;2408:9;2395:23;2427:28;2449:5;2427:28;:::i;2490:245::-;2557:6;2610:2;2598:9;2589:7;2585:23;2581:32;2578:52;;;2626:1;2623;2616:12;2578:52;2658:9;2652:16;2677:28;2699:5;2677:28;:::i;2740:272::-;2798:6;2851:2;2839:9;2830:7;2826:23;2822:32;2819:52;;;2867:1;2864;2857:12;2819:52;2906:9;2893:23;2956:6;2949:5;2945:18;2938:5;2935:29;2925:57;;2978:1;2975;2968:12;3017:180;3076:6;3129:2;3117:9;3108:7;3104:23;3100:32;3097:52;;;3145:1;3142;3135:12;3097:52;-1:-1:-1;3168:23:1;;3017:180;-1:-1:-1;3017:180:1:o;3202:184::-;3272:6;3325:2;3313:9;3304:7;3300:23;3296:32;3293:52;;;3341:1;3338;3331:12;3293:52;-1:-1:-1;3364:16:1;;3202:184;-1:-1:-1;3202:184:1:o;3391:252::-;3455:6;3463;3516:2;3504:9;3495:7;3491:23;3487:32;3484:52;;;3532:1;3529;3522:12;3484:52;3555:27;3572:9;3555:27;:::i;:::-;3545:37;;3601:36;3633:2;3622:9;3618:18;3601:36;:::i;:::-;3591:46;;3391:252;;;;;:::o;4980:597::-;5092:4;5121:2;5150;5139:9;5132:21;5182:6;5176:13;5225:6;5220:2;5209:9;5205:18;5198:34;5250:1;5260:140;5274:6;5271:1;5268:13;5260:140;;;5369:14;;;5365:23;;5359:30;5335:17;;;5354:2;5331:26;5324:66;5289:10;;5260:140;;;5418:6;5415:1;5412:13;5409:91;;;5488:1;5483:2;5474:6;5463:9;5459:22;5455:31;5448:42;5409:91;-1:-1:-1;5561:2:1;5540:15;-1:-1:-1;;5536:29:1;5521:45;;;;5568:2;5517:54;;4980:597;-1:-1:-1;;;4980:597:1:o;9867:332::-;10069:2;10051:21;;;10108:1;10088:18;;;10081:29;-1:-1:-1;;;10141:2:1;10126:18;;10119:39;10190:2;10175:18;;9867:332::o;11260:980::-;11522:4;11570:3;11559:9;11555:19;11601:6;11590:9;11583:25;11627:2;11665:6;11660:2;11649:9;11645:18;11638:34;11708:3;11703:2;11692:9;11688:18;11681:31;11732:6;11767;11761:13;11798:6;11790;11783:22;11836:3;11825:9;11821:19;11814:26;;11875:2;11867:6;11863:15;11849:29;;11896:1;11906:195;11920:6;11917:1;11914:13;11906:195;;;11985:13;;-1:-1:-1;;;;;11981:39:1;11969:52;;12076:15;;;;12041:12;;;;12017:1;11935:9;11906:195;;;-1:-1:-1;;;;;;;12157:32:1;;;;12152:2;12137:18;;12130:60;-1:-1:-1;;;12221:3:1;12206:19;12199:35;12118:3;11260:980;-1:-1:-1;;;11260:980:1:o;12434:128::-;12474:3;12505:1;12501:6;12498:1;12495:13;12492:39;;;12511:18;;:::i;:::-;-1:-1:-1;12547:9:1;;12434:128::o;12567:217::-;12607:1;12633;12623:132;;12677:10;12672:3;12668:20;12665:1;12658:31;12712:4;12709:1;12702:15;12740:4;12737:1;12730:15;12623:132;-1:-1:-1;12769:9:1;;12567:217::o;12789:422::-;12878:1;12921:5;12878:1;12935:270;12956:7;12946:8;12943:21;12935:270;;;13015:4;13011:1;13007:6;13003:17;12997:4;12994:27;12991:53;;;13024:18;;:::i;:::-;13074:7;13064:8;13060:22;13057:55;;;13094:16;;;;13057:55;13173:22;;;;13133:15;;;;12935:270;;;12939:3;12789:422;;;;;:::o;13216:140::-;13274:5;13303:47;13344:4;13334:8;13330:19;13324:4;13410:5;13440:8;13430:80;;-1:-1:-1;13481:1:1;13495:5;;13430:80;13529:4;13519:76;;-1:-1:-1;13566:1:1;13580:5;;13519:76;13611:4;13629:1;13624:59;;;;13697:1;13692:130;;;;13604:218;;13624:59;13654:1;13645:10;;13668:5;;;13692:130;13729:3;13719:8;13716:17;13713:43;;;13736:18;;:::i;:::-;-1:-1:-1;;13792:1:1;13778:16;;13807:5;;13604:218;;13906:2;13896:8;13893:16;13887:3;13881:4;13878:13;13874:36;13868:2;13858:8;13855:16;13850:2;13844:4;13841:12;13837:35;13834:77;13831:159;;;-1:-1:-1;13943:19:1;;;13975:5;;13831:159;14022:34;14047:8;14041:4;14022:34;:::i;:::-;14092:6;14088:1;14084:6;14080:19;14071:7;14068:32;14065:58;;;14103:18;;:::i;:::-;14141:20;;13361:806;-1:-1:-1;;;13361:806:1:o;14172:168::-;14212:7;14278:1;14274;14270:6;14266:14;14263:1;14260:21;14255:1;14248:9;14241:17;14237:45;14234:71;;;14285:18;;:::i;:::-;-1:-1:-1;14325:9:1;;14172:168::o;14345:125::-;14385:4;14413:1;14410;14407:8;14404:34;;;14418:18;;:::i;:::-;-1:-1:-1;14455:9:1;;14345:125::o;14475:127::-;14536:10;14531:3;14527:20;14524:1;14517:31;14567:4;14564:1;14557:15;14591:4;14588:1;14581:15;14607:127;14668:10;14663:3;14659:20;14656:1;14649:31;14699:4;14696:1;14689:15;14723:4;14720:1;14713:15;14871:131;-1:-1:-1;;;;;14946:31:1;;14936:42;;14926:70;;14992:1;14989;14982:12;15007:118;15093:5;15086:13;15079:21;15072:5;15069:32;15059:60;;15115:1;15112;15105:12
Swarm Source
ipfs://f3d5f7353ddcba41aff2628b0c50b4f640c81fd8d942697e5fe3b505d704f01a
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.