ERC-20
Overview
Max Total Supply
1,000,000,000 MBASE
Holders
102
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
4,843,842.366064797738842645 MBASEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
MBASE
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-12-21 */ /* Democratize Investment by Making Private Markets Public. Website: https://www.minebase.org Telegram: https://t.me/mbase_eth Twitter: https://twitter.com/mbase_eth Dapp: https://app.minebase.org */ // SPDX-License-Identifier: MIT pragma solidity 0.8.21; interface IERC20 { function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address _owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } abstract contract Ownable { address internal owner; constructor(address _owner) {owner = _owner;} modifier onlyOwner() {require(isOwner(msg.sender), "!OWNER"); _;} function isOwner(address account) public view returns (bool) {return account == owner;} function transferOwnership(address payable adr) public onlyOwner {owner = adr; emit OwnershipTransferred(adr);} function renounceOwnership() public onlyOwner {owner = address(0); emit OwnershipTransferred(address(0));} event OwnershipTransferred(address owner); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function 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 IUniswapRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external; } interface IUniswapFactory { function createPair(address tokenA, address tokenB) external returns (address pairAddress_); function getPair(address tokenA, address tokenB) external view returns (address pairAddress_); } contract MBASE is IERC20, Ownable { using SafeMath for uint256; string private constant _name = 'MineBase'; string private constant _symbol = 'MBASE'; uint8 private constant _decimals = 18; uint256 private _totalSupply = 10 ** 9 * (10 ** _decimals); IUniswapRouter uniswapRouter; address public pairAddress; uint256 private _swappedCount; uint256 _buyCount = 1; uint256 private _maximumFeeSwap = ( _totalSupply * 3) / 100; uint256 private _feeSwapThreshold = ( _totalSupply * 1) / 100000; modifier lockSwap {_swapping = true; _; _swapping = false;} uint256 private liquidityFee = 0; uint256 private marketingFee = 0; uint256 private developmentFee = 100; uint256 private burnFee = 0; uint256 private totalFee = 2000; uint256 private sellFee = 2000; uint256 private transferFee = 2000; uint256 private denominator = 10000; uint256 public maxTxAmount = ( _totalSupply * 230 ) / 10000; uint256 public maxBuyAmount = ( _totalSupply * 230 ) / 10000; uint256 public maxWallet = ( _totalSupply * 230 ) / 10000; bool private isTradeActive = false; bool private feeSwapEnabled = true; bool private _swapping; address internal constant DEAD = 0x000000000000000000000000000000000000dEaD; address internal development_receiver = 0xb9ca00608f70cF777052A56677350a3731C28736; address internal marketing_receiver = 0xb9ca00608f70cF777052A56677350a3731C28736; address internal liquidity_receiver = 0xb9ca00608f70cF777052A56677350a3731C28736; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public _isExcludedFromFees; constructor() Ownable(msg.sender) { IUniswapRouter _router = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address _pair = IUniswapFactory(_router.factory()).createPair(address(this), _router.WETH()); uniswapRouter = _router; pairAddress = _pair; _isExcludedFromFees[liquidity_receiver] = true; _isExcludedFromFees[marketing_receiver] = true; _isExcludedFromFees[development_receiver] = true; _isExcludedFromFees[msg.sender] = true; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } function name() public pure returns (string memory) {return _name;} function symbol() public pure returns (string memory) {return _symbol;} function decimals() public pure returns (uint8) {return _decimals;} function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) {return _balances[account];} function transfer(address recipient, uint256 amount) public override returns (bool) {_transfer(msg.sender, recipient, amount);return true;} function allowance(address owner, address spender) public view override returns (uint256) {return _allowances[owner][spender];} function approve(address spender, uint256 amount) public override returns (bool) {_approve(msg.sender, spender, amount);return true;} function totalSupply() public view override returns (uint256) {return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));} function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function updateMBaseTxSetting(uint256 _buy, uint256 _sell, uint256 _wallet) external onlyOwner { uint256 newTx = _totalSupply.mul(_buy).div(10000); uint256 newTransfer = _totalSupply.mul(_sell).div(10000); uint256 newWallet = _totalSupply.mul(_wallet).div(10000); maxTxAmount = newTx; maxBuyAmount = newTransfer; maxWallet = newWallet; uint256 limit = totalSupply().mul(5).div(1000); require(newTx >= limit && newTransfer >= limit && newWallet >= limit, "Max TXs and Max Wallet cannot be less than .5%"); } receive() external payable {} function _transfer(address sender, address recipient, uint256 amount) private { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); if(!_isExcludedFromFees[sender] && !_isExcludedFromFees[recipient]){require(isTradeActive, "isTradeActive");} if(!_isExcludedFromFees[sender] && !_isExcludedFromFees[recipient] && recipient != address(pairAddress) && recipient != address(DEAD)){ require((_balances[recipient].add(amount)) <= maxWallet, "Exceeds maximum wallet amount.");} if(sender != pairAddress){require(amount <= maxBuyAmount || _isExcludedFromFees[sender] || _isExcludedFromFees[recipient], "TX Limit Exceeded");} require(amount <= maxTxAmount || _isExcludedFromFees[sender] || _isExcludedFromFees[recipient], "TX Limit Exceeded"); if(recipient == pairAddress && !_isExcludedFromFees[sender]){_swappedCount += uint256(1);} if(shouldSwapBack(sender, recipient, amount)){swapBack(min(balanceOf(address(this)), _maximumFeeSwap)); _swappedCount = uint256(0);} if (!isTradeActive || !_isExcludedFromFees[sender]) { _balances[sender] = _balances[sender].sub(amount); } uint256 amountReceived = shouldTakeFee(sender, recipient) ? getTransferringAmount(sender, recipient, amount) : amount; _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); } function updateMBaseTax(uint256 _liquidity, uint256 _marketing, uint256 _burn, uint256 _development, uint256 _total, uint256 _sell, uint256 _trans) external onlyOwner { liquidityFee = _liquidity; marketingFee = _marketing; burnFee = _burn; developmentFee = _development; totalFee = _total; sellFee = _sell; transferFee = _trans; require(totalFee <= denominator && sellFee <= denominator && transferFee <= denominator, "totalFee and sellFee cannot be more than 100%"); } function shouldSwapBack(address sender, address recipient, uint256 amount) internal view returns (bool) { bool aboveMin = amount >= _feeSwapThreshold; bool aboveThreshold = balanceOf(address(this)) >= _feeSwapThreshold; return !_swapping && feeSwapEnabled && isTradeActive && aboveMin && !_isExcludedFromFees[sender] && recipient == pairAddress && _swappedCount >= _buyCount && aboveThreshold; } function shouldTakeFee(address sender, address recipient) internal view returns (bool) { return !_isExcludedFromFees[sender] && !_isExcludedFromFees[recipient]; } function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private { _approve(address(this), address(uniswapRouter), tokenAmount); uniswapRouter.addLiquidityETH{value: ETHAmount}( address(this), tokenAmount, 0, 0, liquidity_receiver, block.timestamp); } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } function swapBack(uint256 tokens) private lockSwap { uint256 _denominator = (liquidityFee.add(1).add(marketingFee).add(developmentFee)).mul(2); uint256 tokensToAddLiquidityWith = tokens.mul(liquidityFee).div(_denominator); uint256 toSwap = tokens.sub(tokensToAddLiquidityWith); uint256 initialBalance = address(this).balance; swapTokensForEth(toSwap); uint256 deltaBalance = address(this).balance.sub(initialBalance); uint256 unitBalance= deltaBalance.div(_denominator.sub(liquidityFee)); uint256 ETHToAddLiquidityWith = unitBalance.mul(liquidityFee); if(ETHToAddLiquidityWith > uint256(0)){addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); } uint256 marketingAmt = unitBalance.mul(2).mul(marketingFee); if(marketingAmt > 0){payable(marketing_receiver).transfer(marketingAmt);} uint256 contractBalance = address(this).balance; if(contractBalance > uint256(0)){payable(development_receiver).transfer(contractBalance);} } function _getTaxForTransaction(address sender, address recipient) internal view returns (uint256) { if(recipient == pairAddress){return sellFee;} if(sender == pairAddress){return totalFee;} return transferFee; } function getTransferringAmount(address sender, address recipient, uint256 amount) internal returns (uint256) { if(_getTaxForTransaction(sender, recipient) > 0){ uint256 feeAmount = amount.div(denominator).mul(_getTaxForTransaction(sender, recipient)); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); if(burnFee > uint256(0) && _getTaxForTransaction(sender, recipient) > burnFee){_transfer(address(this), address(DEAD), amount.div(denominator).mul(burnFee));} return amount.sub(feeAmount);} return amount; } function startMBaseTrading() external onlyOwner {isTradeActive = true;} function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapRouter.WETH(); _approve(address(this), address(uniswapRouter), tokenAmount); uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp); } }
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":"","type":"address"}],"name":"_isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"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":"maxBuyAmount","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":"maxWallet","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":"pairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startMBaseTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"},{"internalType":"uint256","name":"_development","type":"uint256"},{"internalType":"uint256","name":"_total","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"updateMBaseTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_wallet","type":"uint256"}],"name":"updateMBaseTxSetting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052620000126012600a620004c3565b6200002290633b9aca00620004da565b60018181556005556064906200003a906003620004da565b620000469190620004f4565b600655620186a060015460016200005e9190620004da565b6200006a9190620004f4565b6007555f6008555f6009556064600a555f600b556107d0600c556107d0600d556107d0600e55612710600f5561271060015460e6620000aa9190620004da565b620000b69190620004f4565b60105561271060015460e6620000cd9190620004da565b620000d99190620004f4565b60115561271060015460e6620000f09190620004da565b620000fc9190620004f4565b6012556013805462ff0001600160b81b03191676b9ca00608f70cf777052a56677350a3731c287360001001790556014805473b9ca00608f70cf777052a56677350a3731c287366001600160a01b031991821681179092556015805490911690911790553480156200016c575f80fd5b505f80546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa158015620001d1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001f7919062000514565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000243573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000269919062000514565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620002b4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002da919062000514565b600280546001600160a01b038581166001600160a01b03199283161790925560038054848416921691909117905560155481165f908152601860209081526040808320805460ff1990811660019081179092556014548616855282852080548216831790556013546301000000900490951684528184208054861682179055338085528285208054909616821790955554601683528184208190559051908152939450919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350506200053c565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200040857815f1904821115620003ec57620003ec620003b4565b80851615620003fa57918102915b93841c9390800290620003cd565b509250929050565b5f826200042057506001620004bd565b816200042e57505f620004bd565b8160018114620004475760028114620004525762000472565b6001915050620004bd565b60ff841115620004665762000466620003b4565b50506001821b620004bd565b5060208310610133831016604e8410600b841016171562000497575081810a620004bd565b620004a38383620003c8565b805f1904821115620004b957620004b9620003b4565b0290505b92915050565b5f620004d360ff84168362000410565b9392505050565b8082028115828204841417620004bd57620004bd620003b4565b5f826200050f57634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121562000525575f80fd5b81516001600160a01b0381168114620004d3575f80fd5b6117f3806200054a5f395ff3fe608060405260043610610129575f3560e01c806388e765ff116100a8578063a9059cbb1161006d578063a9059cbb14610351578063da397b2114610370578063dd62ed3e1461038f578063e0bf7fd1146103d3578063f2fde38b14610401578063f8b45b0514610420575f80fd5b806388e765ff146102ab578063893d20e8146102c05780638c0b5e22146102f057806395d89b4114610305578063a8b0898214610332575f80fd5b8063313ce567116100ee578063313ce567146102135780634e9918a61461022e57806350eeeaf41461024f57806370a0823114610263578063715018a614610297575f80fd5b806306fdde0314610134578063095ea7b31461017657806318160ddd146101a557806323b872dd146101c75780632f54bf6e146101e6575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b506040805180820190915260088152674d696e654261736560c01b60208201525b60405161016d91906114b0565b60405180910390f35b348015610181575f80fd5b50610195610190366004611512565b610435565b604051901515815260200161016d565b3480156101b0575f80fd5b506101b961044b565b60405190815260200161016d565b3480156101d2575f80fd5b506101956101e136600461153c565b6104bb565b3480156101f1575f80fd5b5061019561020036600461157a565b5f546001600160a01b0391821691161490565b34801561021e575f80fd5b506040516012815260200161016d565b348015610239575f80fd5b5061024d610248366004611595565b610523565b005b34801561025a575f80fd5b5061024d610668565b34801561026e575f80fd5b506101b961027d36600461157a565b6001600160a01b03165f9081526016602052604090205490565b3480156102a2575f80fd5b5061024d6106a0565b3480156102b6575f80fd5b506101b960115481565b3480156102cb575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161016d565b3480156102fb575f80fd5b506101b960105481565b348015610310575f80fd5b506040805180820190915260058152644d4241534560d81b6020820152610160565b34801561033d575f80fd5b506003546102d8906001600160a01b031681565b34801561035c575f80fd5b5061019561036b366004611512565b61070d565b34801561037b575f80fd5b5061024d61038a3660046115be565b610719565b34801561039a575f80fd5b506101b96103a9366004611605565b6001600160a01b039182165f90815260176020908152604080832093909416825291909152205490565b3480156103de575f80fd5b506101956103ed36600461157a565b60186020525f908152604090205460ff1681565b34801561040c575f80fd5b5061024d61041b36600461157a565b6107ed565b34801561042b575f80fd5b506101b960125481565b5f610441338484610869565b5060015b92915050565b60166020527f0263c2b778d062355049effc2dece97bc6547ff8a88a3258daa512061c2153dd5461dead5f9081527f290d80ce586bfe95e1ebf348e3ba109df813891ad867417e64d38c5a50473b575460015491926104b69290916104b0919061098c565b9061098c565b905090565b5f6104c7848484610997565b610518843361051385604051806060016040528060288152602001611796602891396001600160a01b038a165f9081526017602090815260408083203384529091529020549190610e91565b610869565b5060015b9392505050565b5f546001600160a01b031633146105555760405162461bcd60e51b815260040161054c9061163c565b60405180910390fd5b5f61057761271061057186600154610ebc90919063ffffffff16565b90610ec7565b90505f61059561271061057186600154610ebc90919063ffffffff16565b90505f6105b361271061057186600154610ebc90919063ffffffff16565b60108490556011839055601281905590505f6105de6103e861057160056105d861044b565b90610ebc565b90508084101580156105f05750808310155b80156105fc5750808210155b61065f5760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b606482015260840161054c565b50505050505050565b5f546001600160a01b031633146106915760405162461bcd60e51b815260040161054c9061163c565b6013805460ff19166001179055565b5f546001600160a01b031633146106c95760405162461bcd60e51b815260040161054c9061163c565b5f80546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b5f610441338484610997565b5f546001600160a01b031633146107425760405162461bcd60e51b815260040161054c9061163c565b60088790556009869055600b859055600a849055600c839055600d829055600e819055600f54831180159061077b5750600f54600d5411155b801561078b5750600f54600e5411155b61065f5760405162461bcd60e51b815260206004820152602d60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526c6f7265207468616e203130302560981b606482015260840161054c565b5f546001600160a01b031633146108165760405162461bcd60e51b815260040161054c9061163c565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166108cb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161054c565b6001600160a01b03821661092c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161054c565b6001600160a01b038381165f8181526017602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f61051c8284611670565b6001600160a01b0383166109fb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161054c565b6001600160a01b038216610a5d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161054c565b6001600160a01b0383165f9081526018602052604090205460ff16158015610a9d57506001600160a01b0382165f9081526018602052604090205460ff16155b15610ae45760135460ff16610ae45760405162461bcd60e51b815260206004820152600d60248201526c6973547261646541637469766560981b604482015260640161054c565b6001600160a01b0383165f9081526018602052604090205460ff16158015610b2457506001600160a01b0382165f9081526018602052604090205460ff16155b8015610b3e57506003546001600160a01b03838116911614155b8015610b5557506001600160a01b03821661dead14155b15610bcd576012546001600160a01b0383165f90815260166020526040902054610b7f9083610ed2565b1115610bcd5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e0000604482015260640161054c565b6003546001600160a01b03848116911614610c6c5760115481111580610c0a57506001600160a01b0383165f9081526018602052604090205460ff165b80610c2c57506001600160a01b0382165f9081526018602052604090205460ff165b610c6c5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161054c565b60105481111580610c9457506001600160a01b0383165f9081526018602052604090205460ff165b80610cb657506001600160a01b0382165f9081526018602052604090205460ff165b610cf65760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161054c565b6003546001600160a01b038381169116148015610d2b57506001600160a01b0383165f9081526018602052604090205460ff16155b15610d4857600160045f828254610d429190611683565b90915550505b610d53838383610edd565b15610d8157305f90815260166020526040902054610d7c90610d7790600654610f91565b610fa5565b5f6004555b60135460ff161580610dab57506001600160a01b0383165f9081526018602052604090205460ff16155b15610deb576001600160a01b0383165f90815260166020526040902054610dd2908261098c565b6001600160a01b0384165f908152601660205260409020555b5f610df6848461111f565b610e005781610e0b565b610e0b848484611163565b6001600160a01b0384165f90815260166020526040902054909150610e309082610ed2565b6001600160a01b038085165f8181526016602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e839085815260200190565b60405180910390a350505050565b5f8184841115610eb45760405162461bcd60e51b815260040161054c91906114b0565b505050900390565b5f61051c8284611696565b5f61051c82846116ad565b5f61051c8284611683565b600754305f90815260166020526040812054601354919280851015929110159062010000900460ff16158015610f1a5750601354610100900460ff165b8015610f28575060135460ff165b8015610f315750815b8015610f5557506001600160a01b0386165f9081526018602052604090205460ff16155b8015610f6e57506003546001600160a01b038681169116145b8015610f7e575060055460045410155b8015610f875750805b9695505050505050565b5f818311610f9f578261051c565b50919050565b6013805462ff0000191662010000179055600a546009546008545f92610fe0926002926105d89291610fda9182906001610ed2565b90610ed2565b90505f610ffc8261057160085486610ebc90919063ffffffff16565b90505f611009848361098c565b90504761101582611265565b5f611020478361098c565b90505f61104261103b6008548861098c90919063ffffffff16565b8390610ec7565b90505f61105a60085483610ebc90919063ffffffff16565b9050801561106c5761106c86826113b5565b6009545f90611080906105d8856002610ebc565b905080156110c1576014546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156110bf573d5f803e3d5ffd5b505b4780156111075760135460405163010000009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015611105573d5f803e3d5ffd5b505b50506013805462ff0000191690555050505050505050565b6001600160a01b0382165f9081526018602052604081205460ff1615801561051c5750506001600160a01b03165f9081526018602052604090205460ff1615919050565b5f8061116f8585611466565b111561125e575f6111916111838686611466565b600f546105d8908690610ec7565b305f908152601660205260409020549091506111ad9082610ed2565b305f81815260166020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111fd9085815260200190565b60405180910390a35f600b541180156112205750600b5461121e8686611466565b115b1561124c5761124c3061dead611247600b546105d8600f5489610ec790919063ffffffff16565b610997565b611256838261098c565b91505061051c565b5092915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611298576112986116cc565b6001600160a01b03928316602091820292909201810191909152600254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112ef573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131391906116e0565b81600181518110611326576113266116cc565b6001600160a01b03928316602091820292909201015260025461134c9130911684610869565b60025460405163791ac94760e01b81526001600160a01b039091169063791ac947906113849085905f908690309042906004016116fb565b5f604051808303815f87803b15801561139b575f80fd5b505af11580156113ad573d5f803e3d5ffd5b505050505050565b6002546113cd9030906001600160a01b031684610869565b60025460155460405163f305d71960e01b8152306004820152602481018590525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af115801561143a573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061145f919061176a565b5050505050565b6003545f906001600160a01b03908116908316036114875750600d54610445565b6003546001600160a01b03908116908416036114a65750600c54610445565b50600e5492915050565b5f6020808352835180828501525f5b818110156114db578581018301518582016040015282016114bf565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461150f575f80fd5b50565b5f8060408385031215611523575f80fd5b823561152e816114fb565b946020939093013593505050565b5f805f6060848603121561154e575f80fd5b8335611559816114fb565b92506020840135611569816114fb565b929592945050506040919091013590565b5f6020828403121561158a575f80fd5b813561051c816114fb565b5f805f606084860312156115a7575f80fd5b505081359360208301359350604090920135919050565b5f805f805f805f60e0888a0312156115d4575f80fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b5f8060408385031215611616575f80fd5b8235611621816114fb565b91506020830135611631816114fb565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b818103818111156104455761044561165c565b808201808211156104455761044561165c565b80820281158282048414176104455761044561165c565b5f826116c757634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156116f0575f80fd5b815161051c816114fb565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117495784516001600160a01b031683529383019391830191600101611724565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f6060848603121561177c575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122020df2ef2353888a2960a04cf1c5c6de7654b93aedf6aa467a0a184fbc918bcce64736f6c63430008150033
Deployed Bytecode
0x608060405260043610610129575f3560e01c806388e765ff116100a8578063a9059cbb1161006d578063a9059cbb14610351578063da397b2114610370578063dd62ed3e1461038f578063e0bf7fd1146103d3578063f2fde38b14610401578063f8b45b0514610420575f80fd5b806388e765ff146102ab578063893d20e8146102c05780638c0b5e22146102f057806395d89b4114610305578063a8b0898214610332575f80fd5b8063313ce567116100ee578063313ce567146102135780634e9918a61461022e57806350eeeaf41461024f57806370a0823114610263578063715018a614610297575f80fd5b806306fdde0314610134578063095ea7b31461017657806318160ddd146101a557806323b872dd146101c75780632f54bf6e146101e6575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b506040805180820190915260088152674d696e654261736560c01b60208201525b60405161016d91906114b0565b60405180910390f35b348015610181575f80fd5b50610195610190366004611512565b610435565b604051901515815260200161016d565b3480156101b0575f80fd5b506101b961044b565b60405190815260200161016d565b3480156101d2575f80fd5b506101956101e136600461153c565b6104bb565b3480156101f1575f80fd5b5061019561020036600461157a565b5f546001600160a01b0391821691161490565b34801561021e575f80fd5b506040516012815260200161016d565b348015610239575f80fd5b5061024d610248366004611595565b610523565b005b34801561025a575f80fd5b5061024d610668565b34801561026e575f80fd5b506101b961027d36600461157a565b6001600160a01b03165f9081526016602052604090205490565b3480156102a2575f80fd5b5061024d6106a0565b3480156102b6575f80fd5b506101b960115481565b3480156102cb575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161016d565b3480156102fb575f80fd5b506101b960105481565b348015610310575f80fd5b506040805180820190915260058152644d4241534560d81b6020820152610160565b34801561033d575f80fd5b506003546102d8906001600160a01b031681565b34801561035c575f80fd5b5061019561036b366004611512565b61070d565b34801561037b575f80fd5b5061024d61038a3660046115be565b610719565b34801561039a575f80fd5b506101b96103a9366004611605565b6001600160a01b039182165f90815260176020908152604080832093909416825291909152205490565b3480156103de575f80fd5b506101956103ed36600461157a565b60186020525f908152604090205460ff1681565b34801561040c575f80fd5b5061024d61041b36600461157a565b6107ed565b34801561042b575f80fd5b506101b960125481565b5f610441338484610869565b5060015b92915050565b60166020527f0263c2b778d062355049effc2dece97bc6547ff8a88a3258daa512061c2153dd5461dead5f9081527f290d80ce586bfe95e1ebf348e3ba109df813891ad867417e64d38c5a50473b575460015491926104b69290916104b0919061098c565b9061098c565b905090565b5f6104c7848484610997565b610518843361051385604051806060016040528060288152602001611796602891396001600160a01b038a165f9081526017602090815260408083203384529091529020549190610e91565b610869565b5060015b9392505050565b5f546001600160a01b031633146105555760405162461bcd60e51b815260040161054c9061163c565b60405180910390fd5b5f61057761271061057186600154610ebc90919063ffffffff16565b90610ec7565b90505f61059561271061057186600154610ebc90919063ffffffff16565b90505f6105b361271061057186600154610ebc90919063ffffffff16565b60108490556011839055601281905590505f6105de6103e861057160056105d861044b565b90610ebc565b90508084101580156105f05750808310155b80156105fc5750808210155b61065f5760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b606482015260840161054c565b50505050505050565b5f546001600160a01b031633146106915760405162461bcd60e51b815260040161054c9061163c565b6013805460ff19166001179055565b5f546001600160a01b031633146106c95760405162461bcd60e51b815260040161054c9061163c565b5f80546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b5f610441338484610997565b5f546001600160a01b031633146107425760405162461bcd60e51b815260040161054c9061163c565b60088790556009869055600b859055600a849055600c839055600d829055600e819055600f54831180159061077b5750600f54600d5411155b801561078b5750600f54600e5411155b61065f5760405162461bcd60e51b815260206004820152602d60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526c6f7265207468616e203130302560981b606482015260840161054c565b5f546001600160a01b031633146108165760405162461bcd60e51b815260040161054c9061163c565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166108cb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161054c565b6001600160a01b03821661092c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161054c565b6001600160a01b038381165f8181526017602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f61051c8284611670565b6001600160a01b0383166109fb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161054c565b6001600160a01b038216610a5d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161054c565b6001600160a01b0383165f9081526018602052604090205460ff16158015610a9d57506001600160a01b0382165f9081526018602052604090205460ff16155b15610ae45760135460ff16610ae45760405162461bcd60e51b815260206004820152600d60248201526c6973547261646541637469766560981b604482015260640161054c565b6001600160a01b0383165f9081526018602052604090205460ff16158015610b2457506001600160a01b0382165f9081526018602052604090205460ff16155b8015610b3e57506003546001600160a01b03838116911614155b8015610b5557506001600160a01b03821661dead14155b15610bcd576012546001600160a01b0383165f90815260166020526040902054610b7f9083610ed2565b1115610bcd5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e0000604482015260640161054c565b6003546001600160a01b03848116911614610c6c5760115481111580610c0a57506001600160a01b0383165f9081526018602052604090205460ff165b80610c2c57506001600160a01b0382165f9081526018602052604090205460ff165b610c6c5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161054c565b60105481111580610c9457506001600160a01b0383165f9081526018602052604090205460ff165b80610cb657506001600160a01b0382165f9081526018602052604090205460ff165b610cf65760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161054c565b6003546001600160a01b038381169116148015610d2b57506001600160a01b0383165f9081526018602052604090205460ff16155b15610d4857600160045f828254610d429190611683565b90915550505b610d53838383610edd565b15610d8157305f90815260166020526040902054610d7c90610d7790600654610f91565b610fa5565b5f6004555b60135460ff161580610dab57506001600160a01b0383165f9081526018602052604090205460ff16155b15610deb576001600160a01b0383165f90815260166020526040902054610dd2908261098c565b6001600160a01b0384165f908152601660205260409020555b5f610df6848461111f565b610e005781610e0b565b610e0b848484611163565b6001600160a01b0384165f90815260166020526040902054909150610e309082610ed2565b6001600160a01b038085165f8181526016602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e839085815260200190565b60405180910390a350505050565b5f8184841115610eb45760405162461bcd60e51b815260040161054c91906114b0565b505050900390565b5f61051c8284611696565b5f61051c82846116ad565b5f61051c8284611683565b600754305f90815260166020526040812054601354919280851015929110159062010000900460ff16158015610f1a5750601354610100900460ff165b8015610f28575060135460ff165b8015610f315750815b8015610f5557506001600160a01b0386165f9081526018602052604090205460ff16155b8015610f6e57506003546001600160a01b038681169116145b8015610f7e575060055460045410155b8015610f875750805b9695505050505050565b5f818311610f9f578261051c565b50919050565b6013805462ff0000191662010000179055600a546009546008545f92610fe0926002926105d89291610fda9182906001610ed2565b90610ed2565b90505f610ffc8261057160085486610ebc90919063ffffffff16565b90505f611009848361098c565b90504761101582611265565b5f611020478361098c565b90505f61104261103b6008548861098c90919063ffffffff16565b8390610ec7565b90505f61105a60085483610ebc90919063ffffffff16565b9050801561106c5761106c86826113b5565b6009545f90611080906105d8856002610ebc565b905080156110c1576014546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156110bf573d5f803e3d5ffd5b505b4780156111075760135460405163010000009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015611105573d5f803e3d5ffd5b505b50506013805462ff0000191690555050505050505050565b6001600160a01b0382165f9081526018602052604081205460ff1615801561051c5750506001600160a01b03165f9081526018602052604090205460ff1615919050565b5f8061116f8585611466565b111561125e575f6111916111838686611466565b600f546105d8908690610ec7565b305f908152601660205260409020549091506111ad9082610ed2565b305f81815260166020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111fd9085815260200190565b60405180910390a35f600b541180156112205750600b5461121e8686611466565b115b1561124c5761124c3061dead611247600b546105d8600f5489610ec790919063ffffffff16565b610997565b611256838261098c565b91505061051c565b5092915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611298576112986116cc565b6001600160a01b03928316602091820292909201810191909152600254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112ef573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131391906116e0565b81600181518110611326576113266116cc565b6001600160a01b03928316602091820292909201015260025461134c9130911684610869565b60025460405163791ac94760e01b81526001600160a01b039091169063791ac947906113849085905f908690309042906004016116fb565b5f604051808303815f87803b15801561139b575f80fd5b505af11580156113ad573d5f803e3d5ffd5b505050505050565b6002546113cd9030906001600160a01b031684610869565b60025460155460405163f305d71960e01b8152306004820152602481018590525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af115801561143a573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061145f919061176a565b5050505050565b6003545f906001600160a01b03908116908316036114875750600d54610445565b6003546001600160a01b03908116908416036114a65750600c54610445565b50600e5492915050565b5f6020808352835180828501525f5b818110156114db578581018301518582016040015282016114bf565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461150f575f80fd5b50565b5f8060408385031215611523575f80fd5b823561152e816114fb565b946020939093013593505050565b5f805f6060848603121561154e575f80fd5b8335611559816114fb565b92506020840135611569816114fb565b929592945050506040919091013590565b5f6020828403121561158a575f80fd5b813561051c816114fb565b5f805f606084860312156115a7575f80fd5b505081359360208301359350604090920135919050565b5f805f805f805f60e0888a0312156115d4575f80fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b5f8060408385031215611616575f80fd5b8235611621816114fb565b91506020830135611631816114fb565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b818103818111156104455761044561165c565b808201808211156104455761044561165c565b80820281158282048414176104455761044561165c565b5f826116c757634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156116f0575f80fd5b815161051c816114fb565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117495784516001600160a01b031683529383019391830191600101611724565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f6060848603121561177c575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122020df2ef2353888a2960a04cf1c5c6de7654b93aedf6aa467a0a184fbc918bcce64736f6c63430008150033
Deployed Bytecode Sourcemap
3897:10245:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6297:67;;;;;;;;;;-1:-1:-1;6357:5:0;;;;;;;;;;;;-1:-1:-1;;;6357:5:0;;;;6297:67;;;;;;;:::i;:::-;;;;;;;;6991:133;;;;;;;;;;-1:-1:-1;6991:133:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6991:133:0;1023:187:1;7130:132:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;7130:132:0;1215:177:1;7278:309:0;;;;;;;;;;-1:-1:-1;7278:309:0;;;;;:::i;:::-;;:::i;1371:87::-;;;;;;;;;;-1:-1:-1;1371:87:0;;;;;:::i;:::-;1426:4;1451:5;-1:-1:-1;;;;;1440:16:0;;;1451:5;;1440:16;;1371:87;6447:67;;;;;;;;;;-1:-1:-1;6447:67:0;;4103:2;2252:36:1;;2240:2;2225:18;6447:67:0;2110:184:1;7938:547:0;;;;;;;;;;-1:-1:-1;7938:547:0;;;;;:::i;:::-;;:::i;:::-;;13607:71;;;;;;;;;;;;;:::i;6604:103::-;;;;;;;;;;-1:-1:-1;6604:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;6687:18:0;6670:7;6687:18;;;:9;:18;;;;;;;6604:103;1581:106;;;;;;;;;;;;;:::i;4894:60::-;;;;;;;;;;;;;;;;6520:78;;;;;;;;;;-1:-1:-1;6572:7:0;6590:5;-1:-1:-1;;;;;6590:5:0;6520:78;;;-1:-1:-1;;;;;2784:32:1;;;2766:51;;2754:2;2739:18;6520:78:0;2620:203:1;4828:59:0;;;;;;;;;;;;;;;;6370:71;;;;;;;;;;-1:-1:-1;6432:7:0;;;;;;;;;;;;-1:-1:-1;;;6432:7:0;;;;6370:71;;4212:26;;;;;;;;;;-1:-1:-1;4212:26:0;;;;-1:-1:-1;;;;;4212:26:0;;;6713:139;;;;;;;;;;-1:-1:-1;6713:139:0;;;;;:::i;:::-;;:::i;10049:492::-;;;;;;;;;;-1:-1:-1;10049:492:0;;;;;:::i;:::-;;:::i;6858:127::-;;;;;;;;;;-1:-1:-1;6858:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;6956:18:0;;;6939:7;6956:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6858:127;5605:52;;;;;;;;;;-1:-1:-1;5605:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;1464:111;;;;;;;;;;-1:-1:-1;1464:111:0;;;;;:::i;:::-;;:::i;4961:57::-;;;;;;;;;;;;;;;;6991:133;7066:4;7073:37;7082:10;7094:7;7103:6;7073:8;:37::i;:::-;-1:-1:-1;7118:4:0;6991:133;;;;;:::o;7130:132::-;6687:9;:18;;;;5169:42;7183:7;6687:18;;;;;7200:12;;7183:7;;7200:60;;6687:18;;7200:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;7193:67;;7130:132;:::o;7278:309::-;7376:4;7393:36;7403:6;7411:9;7422:6;7393:9;:36::i;:::-;7440:117;7449:6;7457:10;7469:87;7505:6;7469:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7469:19:0;;;;;;:11;:19;;;;;;;;7489:10;7469:31;;;;;;;;;:87;:35;:87::i;:::-;7440:8;:117::i;:::-;-1:-1:-1;7575:4:0;7278:309;;;;;;:::o;7938:547::-;1426:4;1451:5;-1:-1:-1;;;;;1451:5:0;1338:10;1440:16;1322:38;;;;-1:-1:-1;;;1322:38:0;;;;;;;:::i;:::-;;;;;;;;;8044:13:::1;8060:33;8087:5;8060:22;8077:4;8060:12;;:16;;:22;;;;:::i;:::-;:26:::0;::::1;:33::i;:::-;8044:49;;8095:19;8117:34;8145:5;8117:23;8134:5;8117:12;;:16;;:23;;;;:::i;:34::-;8095:56;;8153:17;8173:36;8203:5;8173:25;8190:7;8173:12;;:16;;:25;;;;:::i;:36::-;8220:11;:19:::0;;;8241:12:::1;:26:::0;;;8269:9:::1;:21:::0;;;8153:56;-1:-1:-1;;8317:30:0::1;8342:4;8317:20;8335:1;8317:13;:11;:13::i;:::-;:17:::0;::::1;:20::i;:30::-;8301:46;;8375:5;8366;:14;;:38;;;;;8399:5;8384:11;:20;;8366:38;:60;;;;;8421:5;8408:9;:18;;8366:60;8358:119;;;::::0;-1:-1:-1;;;8358:119:0;;4614:2:1;8358:119:0::1;::::0;::::1;4596:21:1::0;4653:2;4633:18;;;4626:30;4692:34;4672:18;;;4665:62;-1:-1:-1;;;4743:18:1;;;4736:44;4797:19;;8358:119:0::1;4412:410:1::0;8358:119:0::1;8033:452;;;;7938:547:::0;;;:::o;13607:71::-;1426:4;1451:5;-1:-1:-1;;;;;1451:5:0;1338:10;1440:16;1322:38;;;;-1:-1:-1;;;1322:38:0;;;;;;;:::i;:::-;13656:13:::1;:20:::0;;-1:-1:-1;;13656:20:0::1;13672:4;13656:20;::::0;;13607:71::o;1581:106::-;1426:4;1451:5;-1:-1:-1;;;;;1451:5:0;1338:10;1440:16;1322:38;;;;-1:-1:-1;;;1322:38:0;;;;;;;:::i;:::-;1644:1:::1;1628:18:::0;;-1:-1:-1;;;;;;1628:18:0::1;::::0;;1653:32:::1;::::0;2766:51:1;;;1653:32:0::1;::::0;2754:2:1;2739:18;1653:32:0::1;;;;;;;1581:106::o:0;6713:139::-;6791:4;6798:40;6808:10;6820:9;6831:6;6798:9;:40::i;10049:492::-;1426:4;1451:5;-1:-1:-1;;;;;1451:5:0;1338:10;1440:16;1322:38;;;;-1:-1:-1;;;1322:38:0;;;;;;;:::i;:::-;10227:12:::1;:25:::0;;;10254:12:::1;:25:::0;;;10281:7:::1;:15:::0;;;10298:14:::1;:29:::0;;;10329:8:::1;:17:::0;;;10348:7:::1;:15:::0;;;10365:11:::1;:20:::0;;;10416:11:::1;::::0;10404:23;::::1;::::0;::::1;::::0;:49:::1;;;10442:11;;10431:7;;:22;;10404:49;:79;;;;;10472:11;;10457;;:26;;10404:79;10396:137;;;::::0;-1:-1:-1;;;10396:137:0;;5029:2:1;10396:137:0::1;::::0;::::1;5011:21:1::0;5068:2;5048:18;;;5041:30;5107:34;5087:18;;;5080:62;-1:-1:-1;;;5158:18:1;;;5151:43;5211:19;;10396:137:0::1;4827:409:1::0;1464:111:0;1426:4;1451:5;-1:-1:-1;;;;;1451:5:0;1338:10;1440:16;1322:38;;;;-1:-1:-1;;;1322:38:0;;;;;;;:::i;:::-;1530:5:::1;:11:::0;;-1:-1:-1;;;;;;1530:11:0::1;-1:-1:-1::0;;;;;1530:11:0;::::1;::::0;;::::1;::::0;;;1548:25:::1;::::0;2766:51:1;;;1548:25:0::1;::::0;2754:2:1;2739:18;1548:25:0::1;;;;;;;1464:111:::0;:::o;7593:335::-;-1:-1:-1;;;;;7686:19:0;;7678:68;;;;-1:-1:-1;;;7678:68:0;;5659:2:1;7678:68:0;;;5641:21:1;5698:2;5678:18;;;5671:30;5737:34;5717:18;;;5710:62;-1:-1:-1;;;5788:18:1;;;5781:34;5832:19;;7678:68:0;5457:400:1;7678:68:0;-1:-1:-1;;;;;7765:21:0;;7757:68;;;;-1:-1:-1;;;7757:68:0;;6064:2:1;7757:68:0;;;6046:21:1;6103:2;6083:18;;;6076:30;6142:34;6122:18;;;6115:62;-1:-1:-1;;;6193:18:1;;;6186:32;6235:19;;7757:68:0;5862:398:1;7757:68:0;-1:-1:-1;;;;;7836:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7888:32;;1361:25:1;;;7888:32:0;;1334:18:1;7888:32:0;;;;;;;7593:335;;;:::o;1872:98::-;1930:7;1957:5;1961:1;1957;:5;:::i;8526:1517::-;-1:-1:-1;;;;;8623:20:0;;8615:70;;;;-1:-1:-1;;;8615:70:0;;6732:2:1;8615:70:0;;;6714:21:1;6771:2;6751:18;;;6744:30;6810:34;6790:18;;;6783:62;-1:-1:-1;;;6861:18:1;;;6854:35;6906:19;;8615:70:0;6530:401:1;8615:70:0;-1:-1:-1;;;;;8704:23:0;;8696:71;;;;-1:-1:-1;;;8696:71:0;;7138:2:1;8696:71:0;;;7120:21:1;7177:2;7157:18;;;7150:30;7216:34;7196:18;;;7189:62;-1:-1:-1;;;7267:18:1;;;7260:33;7310:19;;8696:71:0;6936:399:1;8696:71:0;-1:-1:-1;;;;;8782:27:0;;;;;;:19;:27;;;;;;;;8781:28;:63;;;;-1:-1:-1;;;;;;8814:30:0;;;;;;:19;:30;;;;;;;;8813:31;8781:63;8778:109;;;8854:13;;;;8846:39;;;;-1:-1:-1;;;8846:39:0;;7542:2:1;8846:39:0;;;7524:21:1;7581:2;7561:18;;;7554:30;-1:-1:-1;;;7600:18:1;;;7593:43;7653:18;;8846:39:0;7340:337:1;8846:39:0;-1:-1:-1;;;;;8901:27:0;;;;;;:19;:27;;;;;;;;8900:28;:63;;;;-1:-1:-1;;;;;;8933:30:0;;;;;;:19;:30;;;;;;;;8932:31;8900:63;:100;;;;-1:-1:-1;8988:11:0;;-1:-1:-1;;;;;8967:33:0;;;8988:11;;8967:33;;8900:100;:130;;;;-1:-1:-1;;;;;;9004:26:0;;5169:42;9004:26;;8900:130;8897:237;;;9088:9;;-1:-1:-1;;;;;9051:20:0;;;;;;:9;:20;;;;;;:32;;9076:6;9051:24;:32::i;:::-;9050:47;;9042:90;;;;-1:-1:-1;;;9042:90:0;;7884:2:1;9042:90:0;;;7866:21:1;7923:2;7903:18;;;7896:30;7962:32;7942:18;;;7935:60;8012:18;;9042:90:0;7682:354:1;9042:90:0;9157:11;;-1:-1:-1;;;;;9147:21:0;;;9157:11;;9147:21;9144:145;;9188:12;;9178:6;:22;;:53;;;-1:-1:-1;;;;;;9204:27:0;;;;;;:19;:27;;;;;;;;9178:53;:87;;;-1:-1:-1;;;;;;9235:30:0;;;;;;:19;:30;;;;;;;;9178:87;9170:117;;;;-1:-1:-1;;;9170:117:0;;8243:2:1;9170:117:0;;;8225:21:1;8282:2;8262:18;;;8255:30;-1:-1:-1;;;8301:18:1;;;8294:47;8358:18;;9170:117:0;8041:341:1;9170:117:0;9317:11;;9307:6;:21;;:52;;;-1:-1:-1;;;;;;9332:27:0;;;;;;:19;:27;;;;;;;;9307:52;:86;;;-1:-1:-1;;;;;;9363:30:0;;;;;;:19;:30;;;;;;;;9307:86;9299:116;;;;-1:-1:-1;;;9299:116:0;;8243:2:1;9299:116:0;;;8225:21:1;8282:2;8262:18;;;8255:30;-1:-1:-1;;;8301:18:1;;;8294:47;8358:18;;9299:116:0;8041:341:1;9299:116:0;9443:11;;-1:-1:-1;;;;;9430:24:0;;;9443:11;;9430:24;:56;;;;-1:-1:-1;;;;;;9459:27:0;;;;;;:19;:27;;;;;;;;9458:28;9430:56;9427:90;;;9513:1;9488:13;;:27;;;;;;;:::i;:::-;;;;-1:-1:-1;;9427:90:0;9530:41;9545:6;9553:9;9564:6;9530:14;:41::i;:::-;9527:132;;;9604:4;6670:7;6687:18;;;:9;:18;;;;;;9573:56;;9582:46;;9612:15;;9582:3;:46::i;:::-;9573:8;:56::i;:::-;9655:1;9631:13;:26;9527:132;9674:13;;;;9673:14;;:46;;-1:-1:-1;;;;;;9692:27:0;;;;;;:19;:27;;;;;;;;9691:28;9673:46;9669:106;;;-1:-1:-1;;;;;9743:17:0;;;;;;:9;:17;;;;;;:29;;9765:6;9743:21;:29::i;:::-;-1:-1:-1;;;;;9723:17:0;;;;;;:9;:17;;;;;:49;9669:106;9785:22;9810:32;9824:6;9832:9;9810:13;:32::i;:::-;:92;;9896:6;9810:92;;;9845:48;9867:6;9875:9;9886:6;9845:21;:48::i;:::-;-1:-1:-1;;;;;9936:20:0;;;;;;:9;:20;;;;;;9785:117;;-1:-1:-1;9936:40:0;;9785:117;9936:24;:40::i;:::-;-1:-1:-1;;;;;9913:20:0;;;;;;;:9;:20;;;;;;;:63;;;;9992:43;;;;;;;;;;10020:14;1361:25:1;;1349:2;1334:18;;1215:177;9992:43:0;;;;;;;;8604:1439;8526:1517;;;:::o;2296:240::-;2416:7;2477:12;2469:6;;;;2461:29;;;;-1:-1:-1;;;2461:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2512:5:0;;;2296:240::o;1978:98::-;2036:7;2063:5;2067:1;2063;:5;:::i;2084:98::-;2142:7;2169:5;2173:1;2169;:5;:::i;1766:98::-;1824:7;1851:5;1855:1;1851;:5;:::i;10547:427::-;10688:17;;10756:4;10645;6687:18;;;:9;:18;;;;;;10802:9;;10645:4;;10678:27;;;;;-1:-1:-1;;10738:45:0;;10802:9;;;;;10801:10;:28;;;;-1:-1:-1;10815:14:0;;;;;;;10801:28;:45;;;;-1:-1:-1;10833:13:0;;;;10801:45;:57;;;;;10850:8;10801:57;:89;;;;-1:-1:-1;;;;;;10863:27:0;;;;;;:19;:27;;;;;;;;10862:28;10801:89;:117;;;;-1:-1:-1;10907:11:0;;-1:-1:-1;;;;;10894:24:0;;;10907:11;;10894:24;10801:117;:147;;;;;10939:9;;10922:13;;:26;;10801:147;:165;;;;;10952:14;10801:165;10794:172;10547:427;-1:-1:-1;;;;;;10547:427:0:o;11537:105::-;11594:7;11624:1;11620;:5;11619:15;;11633:1;11619:15;;;-1:-1:-1;11629:1:0;11537:105;-1:-1:-1;11537:105:0:o;11648:1054::-;4465:9;:16;;-1:-1:-1;;4465:16:0;;;;;11776:14:::1;::::0;11758:12:::1;::::0;11734::::1;::::0;4465:16;;11733:66:::1;::::0;4465:9;;11734:57:::1;::::0;11776:14;11734:37:::1;::::0;;;4477:4;11734:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;11733:66::-;11710:89;;11810:32;11845:42;11874:12;11845:24;11856:12;;11845:6;:10;;:24;;;;:::i;:42::-;11810:77:::0;-1:-1:-1;11898:14:0::1;11915:36;:6:::0;11810:77;11915:10:::1;:36::i;:::-;11898:53:::0;-1:-1:-1;11987:21:0::1;12019:24;11898:53:::0;12019:16:::1;:24::i;:::-;12054:20;12077:41;:21;12103:14:::0;12077:25:::1;:41::i;:::-;12054:64;;12129:19;12150:48;12167:30;12184:12;;12167;:16;;:30;;;;:::i;:::-;12150:12:::0;;:16:::1;:48::i;:::-;12129:69;;12209:29;12241;12257:12;;12241:11;:15;;:29;;;;:::i;:::-;12209:61:::0;-1:-1:-1;12284:34:0;;12281:103:::1;;12320:61;12333:24;12359:21;12320:12;:61::i;:::-;12440:12;::::0;12394:20:::1;::::0;12417:36:::1;::::0;:18:::1;:11:::0;12433:1:::1;12417:15;:18::i;:36::-;12394:59:::0;-1:-1:-1;12467:16:0;;12464:73:::1;;12493:18;::::0;12485:50:::1;::::0;-1:-1:-1;;;;;12493:18:0;;::::1;::::0;12485:50;::::1;;;::::0;12522:12;;12493:18:::1;12485:50:::0;12493:18;12485:50;12522:12;12493:18;12485:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12464:73;12573:21;12608:28:::0;;12605:90:::1;;12646:20;::::0;12638:55:::1;::::0;12646:20;;;::::1;-1:-1:-1::0;;;;;12646:20:0::1;::::0;12638:55:::1;::::0;::::1;;::::0;;;::::1;::::0;;;;12646:20;12638:55;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12605:90;-1:-1:-1::0;;4486:9:0;:17;;-1:-1:-1;;4486:17:0;;;-1:-1:-1;;;;;;;;11648:1054:0:o;10986:176::-;-1:-1:-1;;;;;11092:27:0;;11067:4;11092:27;;;:19;:27;;;;;;;;11091:28;:63;;;;-1:-1:-1;;;;;;;11124:30:0;;;;;:19;:30;;;;;;;;11123:31;;10986:176;-1:-1:-1;10986:176:0:o;12967:634::-;13067:7;13133:1;13090:40;13112:6;13120:9;13090:21;:40::i;:::-;:44;13087:492;;;13146:17;13166:69;13194:40;13216:6;13224:9;13194:21;:40::i;:::-;13177:11;;13166:23;;:6;;:10;:23::i;:69::-;13291:4;13273:24;;;;:9;:24;;;;;;13146:89;;-1:-1:-1;13273:39:0;;13146:89;13273:28;:39::i;:::-;13264:4;13246:24;;;;:9;:24;;;;;;;:66;;;;13328:42;;-1:-1:-1;;;;;13328:42:0;;;;;;;13360:9;1361:25:1;;1349:2;1334:18;;1215:177;13328:42:0;;;;;;;;13402:1;13384:7;;:20;:74;;;;;13451:7;;13408:40;13430:6;13438:9;13408:21;:40::i;:::-;:50;13384:74;13381:158;;;13460:77;13478:4;5169:42;13500:36;13528:7;;13500:23;13511:11;;13500:6;:10;;:23;;;;:::i;:36::-;13460:9;:77::i;:::-;13556:21;:6;13567:9;13556:10;:21::i;:::-;13549:28;;;;;13087:492;-1:-1:-1;13587:6:0;12967:634;-1:-1:-1;;12967:634:0:o;13684:455::-;13774:16;;;13788:1;13774:16;;;;;;;;13750:21;;13774:16;;;;;;;;;;-1:-1:-1;13774:16:0;13750:40;;13819:4;13801;13806:1;13801:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13801:23:0;;;:7;;;;;;;;;;:23;;;;13845:13;;:20;;;-1:-1:-1;;;13845:20:0;;;;:13;;;;;:18;;:20;;;;;13801:7;;13845:20;;;;;:13;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13835:4;13840:1;13835:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13835:30:0;;;:7;;;;;;;;;:30;13908:13;;13876:60;;13893:4;;13908:13;13924:11;13876:8;:60::i;:::-;13947:13;;:184;;-1:-1:-1;;;13947:184:0;;-1:-1:-1;;;;;13947:13:0;;;;:64;;:184;;14026:11;;13947:13;;14068:4;;14095;;14115:15;;13947:184;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13739:400;13684:455;:::o;11174:357::-;11287:13;;11255:60;;11272:4;;-1:-1:-1;;;;;11287:13:0;11303:11;11255:8;:60::i;:::-;11326:13;;11474:18;;11326:197;;-1:-1:-1;;;11326:197:0;;11396:4;11326:197;;;10758:34:1;10808:18;;;10801:34;;;11326:13:0;10851:18:1;;;10844:34;;;10894:18;;;10887:34;-1:-1:-1;;;;;11474:18:0;;;10937:19:1;;;10930:44;11507:15:0;10990:19:1;;;10983:35;11326:13:0;;;:29;;11363:9;;10692:19:1;;11326:197:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11174:357;;:::o;12708:243::-;12833:11;;12797:7;;-1:-1:-1;;;;;12833:11:0;;;12820:24;;;;12817:45;;-1:-1:-1;12853:7:0;;12846:14;;12817:45;12885:11;;-1:-1:-1;;;;;12885:11:0;;;12875:21;;;;12872:43;;-1:-1:-1;12905:8:0;;12898:15;;12872:43;-1:-1:-1;12932:11:0;;12708:243;;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;1858:247::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;2025:9;2012:23;2044:31;2069:5;2044:31;:::i;2299:316::-;2376:6;2384;2392;2445:2;2433:9;2424:7;2420:23;2416:32;2413:52;;;2461:1;2458;2451:12;2413:52;-1:-1:-1;;2484:23:1;;;2554:2;2539:18;;2526:32;;-1:-1:-1;2605:2:1;2590:18;;;2577:32;;2299:316;-1:-1:-1;2299:316:1:o;2828:592::-;2941:6;2949;2957;2965;2973;2981;2989;3042:3;3030:9;3021:7;3017:23;3013:33;3010:53;;;3059:1;3056;3049:12;3010:53;-1:-1:-1;;3082:23:1;;;3152:2;3137:18;;3124:32;;-1:-1:-1;3203:2:1;3188:18;;3175:32;;3254:2;3239:18;;3226:32;;-1:-1:-1;3305:3:1;3290:19;;3277:33;;-1:-1:-1;3357:3:1;3342:19;;3329:33;;-1:-1:-1;3409:3:1;3394:19;3381:33;;-1:-1:-1;2828:592:1;-1:-1:-1;2828:592:1:o;3425:388::-;3493:6;3501;3554:2;3542:9;3533:7;3529:23;3525:32;3522:52;;;3570:1;3567;3560:12;3522:52;3609:9;3596:23;3628:31;3653:5;3628:31;:::i;:::-;3678:5;-1:-1:-1;3735:2:1;3720:18;;3707:32;3748:33;3707:32;3748:33;:::i;:::-;3800:7;3790:17;;;3425:388;;;;;:::o;4078:329::-;4280:2;4262:21;;;4319:1;4299:18;;;4292:29;-1:-1:-1;;;4352:2:1;4337:18;;4330:36;4398:2;4383:18;;4078:329::o;6265:127::-;6326:10;6321:3;6317:20;6314:1;6307:31;6357:4;6354:1;6347:15;6381:4;6378:1;6371:15;6397:128;6464:9;;;6485:11;;;6482:37;;;6499:18;;:::i;8387:125::-;8452:9;;;8473:10;;;8470:36;;;8486:18;;:::i;8517:168::-;8590:9;;;8621;;8638:15;;;8632:22;;8618:37;8608:71;;8659:18;;:::i;8690:217::-;8730:1;8756;8746:132;;8800:10;8795:3;8791:20;8788:1;8781:31;8835:4;8832:1;8825:15;8863:4;8860:1;8853:15;8746:132;-1:-1:-1;8892:9:1;;8690:217::o;9044:127::-;9105:10;9100:3;9096:20;9093:1;9086:31;9136:4;9133:1;9126:15;9160:4;9157:1;9150:15;9176:251;9246:6;9299:2;9287:9;9278:7;9274:23;9270:32;9267:52;;;9315:1;9312;9305:12;9267:52;9347:9;9341:16;9366:31;9391:5;9366:31;:::i;9432:980::-;9694:4;9742:3;9731:9;9727:19;9773:6;9762:9;9755:25;9799:2;9837:6;9832:2;9821:9;9817:18;9810:34;9880:3;9875:2;9864:9;9860:18;9853:31;9904:6;9939;9933:13;9970:6;9962;9955:22;10008:3;9997:9;9993:19;9986:26;;10047:2;10039:6;10035:15;10021:29;;10068:1;10078:195;10092:6;10089:1;10086:13;10078:195;;;10157:13;;-1:-1:-1;;;;;10153:39:1;10141:52;;10248:15;;;;10213:12;;;;10189:1;10107:9;10078:195;;;-1:-1:-1;;;;;;;10329:32:1;;;;10324:2;10309:18;;10302:60;-1:-1:-1;;;10393:3:1;10378:19;10371:35;10290:3;9432:980;-1:-1:-1;;;9432:980:1:o;11029:306::-;11117:6;11125;11133;11186:2;11174:9;11165:7;11161:23;11157:32;11154:52;;;11202:1;11199;11192:12;11154:52;11231:9;11225:16;11215:26;;11281:2;11270:9;11266:18;11260:25;11250:35;;11325:2;11314:9;11310:18;11304:25;11294:35;;11029:306;;;;;:::o
Swarm Source
ipfs://20df2ef2353888a2960a04cf1c5c6de7654b93aedf6aa467a0a184fbc918bcce
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.