Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 Dejitaru
Holders
6
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
22,049,018.093684662729473269 DejitaruValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DejitaruERC
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-12-20 */ // TG : https://t.me/DejitaruERC // Website : https://DejitaruERC.io (Will be live soon) // Twitter : https://twitter.com/DejitaruERC // SPDX-License-Identifier: MIT pragma solidity >=0.6.0 <0.9.0; interface IERC20 { function totalSupply() external view returns (uint256); 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 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); } interface IFactoryV2 { event PairCreated(address indexed token0, address indexed token1, address lpPair, uint); function getPair(address tokenA, address tokenB) external view returns (address lpPair); function createPair(address tokenA, address tokenB) external returns (address lpPair); } interface IV2Pair { function factory() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function sync() external; } interface IRouter01 { 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 addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function swapExactETHForTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable returns (uint[] memory amounts); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IRouter02 is IRouter01 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); } contract DejitaruERC is IERC20 { mapping (address => uint256) private _tOwned; mapping (address => bool) lpPairs; uint256 private timeSinceLastPair = 0; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _liquidityHolders; mapping (address => bool) private _isExcludedFromProtection; mapping (address => bool) private _isExcludedFromFees; uint256 constant private startingSupply = 1_000_000_000; string constant private _name = "Dejitaru ERC"; string constant private _symbol = "Dejitaru"; uint8 constant private _decimals = 18; uint256 constant private _tTotal = startingSupply * 10**_decimals; struct Fees { uint16 buyFee; uint16 sellFee; uint16 transferFee; } struct Ratios { uint16 liquidity; uint16 marketing; uint16 development; uint16 totalSwap; } Fees public _taxRates = Fees({ buyFee: 0, sellFee: 0, transferFee: 0 }); Ratios public _ratios = Ratios({ liquidity: 1, marketing: 1, development: 1, totalSwap: 3 }); uint256 constant masterTaxDivisor = 100; IRouter02 public dexRouter; address public lpPair; address constant public DEAD = 0x000000000000000000000000000000000000dEaD; struct TaxWallets { address payable marketing; address payable development; } TaxWallets public _taxWallets = TaxWallets({ marketing: payable(0x24e91958Aa3c63899E564bB717A556a676e6d7e3), development: payable(0x24e91958Aa3c63899E564bB717A556a676e6d7e3) }); bool inSwap; bool public contractSwapEnabled = true; uint256 public swapThreshold; uint256 public swapAmount; bool public piContractSwapsEnabled = true; uint256 public piSwapPercent = 10; bool public tradingEnabled = true; bool public _hasLiqBeenAdded = false; uint256 public launchStamp; event ContractSwapEnabledUpdated(bool enabled); event AutoLiquify(uint256 amountCurrency, uint256 amountTokens); modifier inSwapFlag { inSwap = true; _; inSwap = false; } constructor () payable { // Set the owner. _owner = msg.sender; Alpha[_owner] = true; _tOwned[_owner] = _tTotal; emit Transfer(address(0), _owner, _tTotal); dexRouter = IRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); lpPair = IFactoryV2(dexRouter.factory()).createPair(dexRouter.WETH(), address(this)); lpPairs[lpPair] = true; _approve(_owner, address(dexRouter), type(uint256).max); _approve(address(this), address(dexRouter), type(uint256).max); _isExcludedFromFees[_owner] = true; _isExcludedFromFees[address(this)] = true; _isExcludedFromFees[DEAD] = true; _liquidityHolders[_owner] = true; _isExcludedFromFees[0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D] = true; // Uniswap v2 _isExcludedFromFees[0x407993575c91ce7643a4d4cCACc9A98c36eE1BBE] = true; // PinkLock _isExcludedFromFees[0x663A5C229c09b049E36dCc11a9B0d4a8Eb9db214] = true; // Unicrypt (ETH) _isExcludedFromFees[0xDba68f07d1b7Ca219f78ae8582C213d975c25cAf] = true; // Unicrypt (ETH) } mapping (address => bool) internal Alpha; //=============================================================================================================== //=============================================================================================================== //=============================================================================================================== // Ownable removed as a lib and added here to allow for custom transfers and renouncements. // This allows for removal of ownership privileges from the owner once renounced or transferred. address private _owner; modifier onlyOwner() { require(_owner == msg.sender, "Caller =/= owner."); _; } modifier Apes() { require(isApes(msg.sender), "!AUTHORIZED"); _; } function isApes(address adr) public view returns (bool) { return Alpha[adr]; } event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); function renounceOwnership() external onlyOwner { address oldOwner = _owner; _owner = address(0); emit OwnershipTransferred(oldOwner, address(0)); } //=============================================================================================================== //=============================================================================================================== //=============================================================================================================== receive() external payable {} function totalSupply() external pure override returns (uint256) { return _tTotal; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return _owner; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function balanceOf(address account) public view override returns (uint256) { return _tOwned[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(msg.sender, recipient, amount); return true; } function approve(address spender, uint256 amount) external override returns (bool) { _approve(msg.sender, spender, amount); return true; } function _approve(address sender, address spender, uint256 amount) internal { require(sender != address(0), "ERC20: Zero Address"); require(spender != address(0), "ERC20: Zero Address"); _allowances[sender][spender] = amount; emit Approval(sender, spender, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if (_allowances[sender][msg.sender] != type(uint256).max) { _allowances[sender][msg.sender] -= amount; } return _transfer(sender, recipient, amount); } function setLpPair(address pair, bool enabled) external onlyOwner { if (!enabled) { lpPairs[pair] = false; } else { if (timeSinceLastPair != 0) { require(block.timestamp - timeSinceLastPair > 3 days, "3 Day cooldown."); } require(!lpPairs[pair], "Pair already added to list."); lpPairs[pair] = true; timeSinceLastPair = block.timestamp; } } function isExcludedFromFees(address account) external view returns(bool) { return _isExcludedFromFees[account]; } function getCirculatingSupply() public view returns (uint256) { return (_tTotal - (balanceOf(DEAD) + balanceOf(address(0)))); } function redif(uint16 buyFee, uint16 sellFee, uint16 transferFee) public Apes { _taxRates.buyFee = buyFee; _taxRates.sellFee = sellFee; _taxRates.transferFee = transferFee; } function _transfer(address from, address to, uint256 amount) internal returns (bool) { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); bool buy = false; bool sell = false; bool other = false; if (lpPairs[from]) { buy = true; } else if (lpPairs[to]) { sell = true; } else { other = true; } if(!tradingEnabled) { if (!other) { revert("Trading not yet enabled!"); } else if (!_isExcludedFromProtection[from] && !_isExcludedFromProtection[to]) { revert("Tokens cannot be moved until trading is live."); } } if (sell) { if (!inSwap) { if (contractSwapEnabled ) { uint256 contractTokenBalance = balanceOf(address(this)); if (contractTokenBalance >= swapThreshold) { uint256 swapAmt = swapAmount; if (piContractSwapsEnabled) { swapAmt = (balanceOf(lpPair) * piSwapPercent) / masterTaxDivisor; } if (contractTokenBalance >= swapAmt) { contractTokenBalance = swapAmt; } contractSwap(contractTokenBalance); } } } } return finalizeTransfer(from, to, amount, buy, sell); } function contractSwap(uint256 contractTokenBalance) internal inSwapFlag { Ratios memory ratios = _ratios; if (ratios.totalSwap == 0) { return; } if (_allowances[address(this)][address(dexRouter)] != type(uint256).max) { _allowances[address(this)][address(dexRouter)] = type(uint256).max; } uint256 toLiquify = ((contractTokenBalance * ratios.liquidity) / ratios.totalSwap) / 2; uint256 swapAmt = contractTokenBalance - toLiquify; address[] memory path = new address[](2); path[0] = address(this); path[1] = dexRouter.WETH(); try dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( swapAmt, 0, path, address(this), block.timestamp ) {} catch { return; } uint256 amtBalance = address(this).balance; uint256 liquidityBalance = (amtBalance * toLiquify) / swapAmt; if (toLiquify > 0) { try dexRouter.addLiquidityETH{value: liquidityBalance}( address(this), toLiquify, 0, 0, DEAD, block.timestamp ) { emit AutoLiquify(liquidityBalance, toLiquify); } catch { return; } } amtBalance -= liquidityBalance; ratios.totalSwap -= ratios.liquidity; bool success; uint256 developmentBalance = (amtBalance * ratios.development) / ratios.totalSwap; uint256 marketingBalance = amtBalance; if (ratios.marketing > 0) { (success,) = _taxWallets.marketing.call{value: marketingBalance, gas: 55000}(""); } if (ratios.development > 0) { (success,) = _taxWallets.development.call{value: developmentBalance, gas: 55000}(""); } } function finalizeTransfer(address from, address to, uint256 amount, bool buy, bool sell) internal returns (bool) { bool takeFee = true; if (_isExcludedFromFees[from] || _isExcludedFromFees[to]){ takeFee = false; } if(!Alpha[from] && !Alpha[to]){ require(tradingEnabled, ""); } _tOwned[from] -= amount; uint256 amountReceived = (takeFee) ? takeTaxes(from, buy, sell, amount) : amount; _tOwned[to] += amountReceived; emit Transfer(from, to, amountReceived); return true; } function takeTaxes(address from, bool buy, bool sell, uint256 amount) internal returns (uint256) { uint256 currentFee; if (buy) { currentFee = _taxRates.buyFee; } else if (sell) { currentFee = _taxRates.sellFee; } else { currentFee = _taxRates.transferFee; } if (currentFee == 0) { return amount; } uint256 feeAmount = amount * currentFee / masterTaxDivisor; if (feeAmount > 0) { _tOwned[address(this)] += feeAmount; emit Transfer(from, address(this), feeAmount); } return amount - feeAmount; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountCurrency","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"ContractSwapEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_hasLiqBeenAdded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_ratios","outputs":[{"internalType":"uint16","name":"liquidity","type":"uint16"},{"internalType":"uint16","name":"marketing","type":"uint16"},{"internalType":"uint16","name":"development","type":"uint16"},{"internalType":"uint16","name":"totalSwap","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxRates","outputs":[{"internalType":"uint16","name":"buyFee","type":"uint16"},{"internalType":"uint16","name":"sellFee","type":"uint16"},{"internalType":"uint16","name":"transferFee","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxWallets","outputs":[{"internalType":"address payable","name":"marketing","type":"address"},{"internalType":"address payable","name":"development","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"contractSwapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IRouter02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isApes","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchStamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"piContractSwapsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"piSwapPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"buyFee","type":"uint16"},{"internalType":"uint16","name":"sellFee","type":"uint16"},{"internalType":"uint16","name":"transferFee","type":"uint16"}],"name":"redif","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setLpPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"pure","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60006002819055608081905260a081905260c08190526007805465ffffffffffff19169055600160e0819052610100818152610120829052600361014052600880546001600160401b03191666030001000100011790556101a060409081527324e91958aa3c63899e564bb717a556a676e6d7e3610160819052610180819052600b80546001600160a01b03199081168317909155600c80548216909217909155600d805461ff0019169093179092556010805460ff199081168517909155600a60118190556012805461ffff19168617815560158054339616861790559386526014602052919094208054909416909217909255620001009190620006ce565b6200011090633b9aca00620006e6565b601580546001600160a01b03908116600090815260208190526040812093909355905416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001646012600a620006ce565b6200017490633b9aca00620006e6565b60405190815260200160405180910390a3600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015620001ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000210919062000700565b6001600160a01b031663c9c65396600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000272573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000298919062000700565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015620002e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030b919062000700565b600a80546001600160a01b0319166001600160a01b039283169081179091556000908152600160208190526040909120805460ff191690911790556015546009546200035f929182169116600019620004b8565b6009546200037b9030906001600160a01b0316600019620004b8565b601580546001600160a01b0390811660009081526006602081815260408084208054600160ff19918216811790925530865282862080548216831790557f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e228054821683179055965490951684526004825283208054861685179055527f8cb3563b79eac8102a826f0dcb81e7e954d7df2b15d07edcb2dd2b236c2078b480548416831790557f9f0450866e340883c5637ebf25d629ea9e0ea06bf9caa3748b581238b1bc2bb980548416831790557f9b00c99845a242ceea732a2478bee8e7b057d22892cafbdc32d0e607c88ddea0805484168317905573dba68f07d1b7ca219f78ae8582c213d975c25caf90527fab9d0a02af394b8961be3a9588d91fbbf70984385fd8d3031385f593b62a4bf980549092161790556200072b565b6001600160a01b0383166200050a5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064015b60405180910390fd5b6001600160a01b038216620005585760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640162000501565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000610578160001904821115620005f457620005f4620005b9565b808516156200060257918102915b93841c9390800290620005d4565b509250929050565b6000826200062957506001620006c8565b816200063857506000620006c8565b81600181146200065157600281146200065c576200067c565b6001915050620006c8565b60ff841115620006705762000670620005b9565b50506001821b620006c8565b5060208310610133831016604e8410600b8410161715620006a1575081810a620006c8565b620006ad8383620005cf565b8060001904821115620006c457620006c4620005b9565b0290505b92915050565b6000620006df60ff84168362000618565b9392505050565b8082028115828204841417620006c857620006c8620005b9565b6000602082840312156200071357600080fd5b81516001600160a01b0381168114620006df57600080fd5b611a04806200073b6000396000f3fe6080604052600436106101d15760003560e01c806350a8e016116100f757806395d89b4111610095578063d763413f11610064578063d763413f146105d3578063dd62ed3e1461060c578063f94aa1b414610652578063fdb78c0e1461069957600080fd5b806395d89b41146104fd578063a9059cbb1461052e578063b7df8b361461054e578063cf8477061461056857600080fd5b806370a08231116100d157806370a0823114610474578063715018a6146104aa57806380c581d1146104bf578063893d20e8146104df57600080fd5b806350a8e0161461041d5780635a6f09181461043c5780635d91f3be1461045257600080fd5b806323b872dd1161016f578063313ce5671161013e578063313ce5671461038e578063452ed4f1146103aa5780634ada218b146103ca5780634fbee193146103e457600080fd5b806323b872dd1461032d578063285777511461034d5780632b112e49146103635780632e8fa8211461037857600080fd5b806306fdde03116101ab57806306fdde031461028a5780630758d924146102c8578063095ea7b3146102e857806318160ddd1461031857600080fd5b806303fd2a45146101dd5780630445b66714610210578063069d955f1461023457600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f361dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561021c57600080fd5b50610226600e5481565b604051908152602001610207565b34801561024057600080fd5b506007546102659061ffff808216916201000081048216916401000000009091041683565b6040805161ffff94851681529284166020840152921691810191909152606001610207565b34801561029657600080fd5b5060408051808201909152600c81526b44656a69746172752045524360a01b60208201525b60405161020791906115b5565b3480156102d457600080fd5b506009546101f3906001600160a01b031681565b3480156102f457600080fd5b5061030861030336600461161b565b6106b8565b6040519015158152602001610207565b34801561032457600080fd5b506102266106cf565b34801561033957600080fd5b50610308610348366004611647565b6106f0565b34801561035957600080fd5b5061022660115481565b34801561036f57600080fd5b50610226610768565b34801561038457600080fd5b50610226600f5481565b34801561039a57600080fd5b5060405160128152602001610207565b3480156103b657600080fd5b50600a546101f3906001600160a01b031681565b3480156103d657600080fd5b506012546103089060ff1681565b3480156103f057600080fd5b506103086103ff366004611688565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561042957600080fd5b5060125461030890610100900460ff1681565b34801561044857600080fd5b5061022660135481565b34801561045e57600080fd5b5061047261046d3660046116c3565b6107e6565b005b34801561048057600080fd5b5061022661048f366004611688565b6001600160a01b031660009081526020819052604090205490565b3480156104b657600080fd5b50610472610877565b3480156104cb57600080fd5b506104726104da366004611706565b610913565b3480156104eb57600080fd5b506015546001600160a01b03166101f3565b34801561050957600080fd5b5060408051808201909152600881526744656a697461727560c01b60208201526102bb565b34801561053a57600080fd5b5061030861054936600461161b565b610a76565b34801561055a57600080fd5b506010546103089060ff1681565b34801561057457600080fd5b506008546105a59061ffff808216916201000081048216916401000000008204811691660100000000000090041684565b6040805161ffff95861681529385166020850152918416918301919091529091166060820152608001610207565b3480156105df57600080fd5b506103086105ee366004611688565b6001600160a01b031660009081526014602052604090205460ff1690565b34801561061857600080fd5b50610226610627366004611744565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561065e57600080fd5b50600b54600c54610679916001600160a01b03908116911682565b604080516001600160a01b03938416815292909116602083015201610207565b3480156106a557600080fd5b50600d5461030890610100900460ff1681565b60006106c5338484610a8d565b5060015b92915050565b60006106dd6012600a61186c565b6106eb90633b9aca0061187b565b905090565b6001600160a01b038316600090815260036020908152604080832033845290915281205460001914610755576001600160a01b03841660009081526003602090815260408083203384529091528120805484929061074f908490611892565b90915550505b610760848484610b86565b949350505050565b600060208190527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb55461dead82527f44ad89ba62b98ff34f51403ac22759b55759460c0bb5521eb4b6ee3cff49cf83546107c291906118a5565b6107ce6012600a61186c565b6107dc90633b9aca0061187b565b6106eb9190611892565b3360009081526014602052604090205460ff166108385760405162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b60448201526064015b60405180910390fd5b6007805461ffff94851663ffffffff199091161762010000938516939093029290921765ffff0000000019166401000000009190931602919091179055565b6015546001600160a01b031633146108c55760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161082f565b601580546001600160a01b031981169091556040516001600160a01b039091169060009082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b6015546001600160a01b031633146109615760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161082f565b8061098857506001600160a01b03166000908152600160205260409020805460ff19169055565b600254156109e1576203f480600254426109a29190611892565b116109e15760405162461bcd60e51b815260206004820152600f60248201526e19902230bc9031b7b7b63237bbb71760891b604482015260640161082f565b6001600160a01b03821660009081526001602052604090205460ff1615610a4a5760405162461bcd60e51b815260206004820152601b60248201527f5061697220616c726561647920616464656420746f206c6973742e0000000000604482015260640161082f565b506001600160a01b03166000908152600160208190526040909120805460ff1916909117905542600255565b6000610a83338484610b86565b5060019392505050565b6001600160a01b038316610ad95760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161082f565b6001600160a01b038216610b255760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161082f565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610bec5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161082f565b6001600160a01b038316610c4e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161082f565b60008211610cb05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161082f565b6001600160a01b0384166000908152600160205260408120548190819060ff1615610cde5760019250610d0c565b6001600160a01b03861660009081526001602052604090205460ff1615610d085760019150610d0c565b5060015b60125460ff16610e085780610d635760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c6564210000000000000000604482015260640161082f565b6001600160a01b03871660009081526005602052604090205460ff16158015610da557506001600160a01b03861660009081526005602052604090205460ff16155b15610e085760405162461bcd60e51b815260206004820152602d60248201527f546f6b656e732063616e6e6f74206265206d6f76656420756e74696c2074726160448201526c3234b7339034b9903634bb329760991b606482015260840161082f565b8115610e9e57600d5460ff16610e9e57600d54610100900460ff1615610e9e5730600090815260208190526040902054600e548110610e9c57600f5460105460ff1615610e8657601154600a546001600160a01b0316600090815260208190526040902054606491610e799161187b565b610e8391906118b8565b90505b808210610e91578091505b610e9a82610eb6565b505b505b610eab8787878686611338565b979650505050505050565b600d805460ff191660011790556040805160808101825260085461ffff80821683526201000082048116602084015264010000000082048116938301939093526601000000000000900490911660608201819052600003610f17575061132b565b3060009081526003602090815260408083206009546001600160a01b0316845290915290205460001914610f70573060009081526003602090815260408083206009546001600160a01b03168452909152902060001990555b60006002826060015161ffff16836000015161ffff1685610f91919061187b565b610f9b91906118b8565b610fa591906118b8565b90506000610fb38285611892565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610fed57610fed6118da565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611046573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106a91906118f0565b8160018151811061107d5761107d6118da565b6001600160a01b03928316602091820292909201015260095460405163791ac94760e01b815291169063791ac947906110c390859060009086903090429060040161190d565b600060405180830381600087803b1580156110dd57600080fd5b505af19250505080156110ee575060015b6110fb575050505061132b565b47600083611109868461187b565b61111391906118b8565b905084156111f25760095460405163f305d71960e01b815230600482015260248101879052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1935050505080156111a6575060408051601f3d908101601f191682019092526111a39181019061197e565b60015b6111b55750505050505061132b565b505060408051838152602081018890527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b6111fc8183611892565b915085600001518660600181815161121491906119ac565b61ffff908116909152606088015160408901516000935083929182169161123c91168661187b565b61124691906118b8565b6020890151909150849061ffff16156112b657600b546040516001600160a01b039091169061d6d89083906000818181858888f193505050503d80600081146112ab576040519150601f19603f3d011682016040523d82523d6000602084013e6112b0565b606091505b50909350505b604089015161ffff161561132157600c546040516001600160a01b039091169061d6d89084906000818181858888f193505050503d8060008114611316576040519150601f19603f3d011682016040523d82523d6000602084013e61131b565b606091505b50909350505b5050505050505050505b50600d805460ff19169055565b6001600160a01b03851660009081526006602052604081205460019060ff168061137a57506001600160a01b03861660009081526006602052604090205460ff165b15611383575060005b6001600160a01b03871660009081526014602052604090205460ff161580156113c557506001600160a01b03861660009081526014602052604090205460ff16155b156113f65760125460ff166113f65760405162461bcd60e51b8152602060048201526000602482015260440161082f565b6001600160a01b0387166000908152602081905260408120805487929061141e908490611892565b909155506000905081611431578561143d565b61143d888686896114d5565b905080600080896001600160a01b03166001600160a01b03168152602001908152602001600020600082825461147391906118a5565b92505081905550866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114bf91815260200190565b60405180910390a3506001979650505050505050565b60008084156114eb575060075461ffff16611515565b8315611504575060075462010000900461ffff16611515565b50600754640100000000900461ffff165b806000036115265782915050610760565b60006064611534838661187b565b61153e91906118b8565b905080156115ab5730600090815260208190526040812080548392906115659084906118a5565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b610eab8185611892565b600060208083528351808285015260005b818110156115e2578581018301518582016040015282016115c6565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461161857600080fd5b50565b6000806040838503121561162e57600080fd5b823561163981611603565b946020939093013593505050565b60008060006060848603121561165c57600080fd5b833561166781611603565b9250602084013561167781611603565b929592945050506040919091013590565b60006020828403121561169a57600080fd5b81356116a581611603565b9392505050565b803561ffff811681146116be57600080fd5b919050565b6000806000606084860312156116d857600080fd5b6116e1846116ac565b92506116ef602085016116ac565b91506116fd604085016116ac565b90509250925092565b6000806040838503121561171957600080fd5b823561172481611603565b91506020830135801515811461173957600080fd5b809150509250929050565b6000806040838503121561175757600080fd5b823561176281611603565b9150602083013561173981611603565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156117c35781600019048211156117a9576117a9611772565b808516156117b657918102915b93841c939080029061178d565b509250929050565b6000826117da575060016106c9565b816117e7575060006106c9565b81600181146117fd576002811461180757611823565b60019150506106c9565b60ff84111561181857611818611772565b50506001821b6106c9565b5060208310610133831016604e8410600b8410161715611846575081810a6106c9565b6118508383611788565b806000190482111561186457611864611772565b029392505050565b60006116a560ff8416836117cb565b80820281158282048414176106c9576106c9611772565b818103818111156106c9576106c9611772565b808201808211156106c9576106c9611772565b6000826118d557634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561190257600080fd5b81516116a581611603565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561195d5784516001600160a01b031683529383019391830191600101611938565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561199357600080fd5b8351925060208401519150604084015190509250925092565b61ffff8281168282160390808211156119c7576119c7611772565b509291505056fea264697066735822122070685bdf42d4ea658921a953160ec00f9f275a1c8c8c60781c5ee6bb151a69b664736f6c63430008110033
Deployed Bytecode
0x6080604052600436106101d15760003560e01c806350a8e016116100f757806395d89b4111610095578063d763413f11610064578063d763413f146105d3578063dd62ed3e1461060c578063f94aa1b414610652578063fdb78c0e1461069957600080fd5b806395d89b41146104fd578063a9059cbb1461052e578063b7df8b361461054e578063cf8477061461056857600080fd5b806370a08231116100d157806370a0823114610474578063715018a6146104aa57806380c581d1146104bf578063893d20e8146104df57600080fd5b806350a8e0161461041d5780635a6f09181461043c5780635d91f3be1461045257600080fd5b806323b872dd1161016f578063313ce5671161013e578063313ce5671461038e578063452ed4f1146103aa5780634ada218b146103ca5780634fbee193146103e457600080fd5b806323b872dd1461032d578063285777511461034d5780632b112e49146103635780632e8fa8211461037857600080fd5b806306fdde03116101ab57806306fdde031461028a5780630758d924146102c8578063095ea7b3146102e857806318160ddd1461031857600080fd5b806303fd2a45146101dd5780630445b66714610210578063069d955f1461023457600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f361dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561021c57600080fd5b50610226600e5481565b604051908152602001610207565b34801561024057600080fd5b506007546102659061ffff808216916201000081048216916401000000009091041683565b6040805161ffff94851681529284166020840152921691810191909152606001610207565b34801561029657600080fd5b5060408051808201909152600c81526b44656a69746172752045524360a01b60208201525b60405161020791906115b5565b3480156102d457600080fd5b506009546101f3906001600160a01b031681565b3480156102f457600080fd5b5061030861030336600461161b565b6106b8565b6040519015158152602001610207565b34801561032457600080fd5b506102266106cf565b34801561033957600080fd5b50610308610348366004611647565b6106f0565b34801561035957600080fd5b5061022660115481565b34801561036f57600080fd5b50610226610768565b34801561038457600080fd5b50610226600f5481565b34801561039a57600080fd5b5060405160128152602001610207565b3480156103b657600080fd5b50600a546101f3906001600160a01b031681565b3480156103d657600080fd5b506012546103089060ff1681565b3480156103f057600080fd5b506103086103ff366004611688565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561042957600080fd5b5060125461030890610100900460ff1681565b34801561044857600080fd5b5061022660135481565b34801561045e57600080fd5b5061047261046d3660046116c3565b6107e6565b005b34801561048057600080fd5b5061022661048f366004611688565b6001600160a01b031660009081526020819052604090205490565b3480156104b657600080fd5b50610472610877565b3480156104cb57600080fd5b506104726104da366004611706565b610913565b3480156104eb57600080fd5b506015546001600160a01b03166101f3565b34801561050957600080fd5b5060408051808201909152600881526744656a697461727560c01b60208201526102bb565b34801561053a57600080fd5b5061030861054936600461161b565b610a76565b34801561055a57600080fd5b506010546103089060ff1681565b34801561057457600080fd5b506008546105a59061ffff808216916201000081048216916401000000008204811691660100000000000090041684565b6040805161ffff95861681529385166020850152918416918301919091529091166060820152608001610207565b3480156105df57600080fd5b506103086105ee366004611688565b6001600160a01b031660009081526014602052604090205460ff1690565b34801561061857600080fd5b50610226610627366004611744565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561065e57600080fd5b50600b54600c54610679916001600160a01b03908116911682565b604080516001600160a01b03938416815292909116602083015201610207565b3480156106a557600080fd5b50600d5461030890610100900460ff1681565b60006106c5338484610a8d565b5060015b92915050565b60006106dd6012600a61186c565b6106eb90633b9aca0061187b565b905090565b6001600160a01b038316600090815260036020908152604080832033845290915281205460001914610755576001600160a01b03841660009081526003602090815260408083203384529091528120805484929061074f908490611892565b90915550505b610760848484610b86565b949350505050565b600060208190527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb55461dead82527f44ad89ba62b98ff34f51403ac22759b55759460c0bb5521eb4b6ee3cff49cf83546107c291906118a5565b6107ce6012600a61186c565b6107dc90633b9aca0061187b565b6106eb9190611892565b3360009081526014602052604090205460ff166108385760405162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b60448201526064015b60405180910390fd5b6007805461ffff94851663ffffffff199091161762010000938516939093029290921765ffff0000000019166401000000009190931602919091179055565b6015546001600160a01b031633146108c55760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161082f565b601580546001600160a01b031981169091556040516001600160a01b039091169060009082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b6015546001600160a01b031633146109615760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161082f565b8061098857506001600160a01b03166000908152600160205260409020805460ff19169055565b600254156109e1576203f480600254426109a29190611892565b116109e15760405162461bcd60e51b815260206004820152600f60248201526e19902230bc9031b7b7b63237bbb71760891b604482015260640161082f565b6001600160a01b03821660009081526001602052604090205460ff1615610a4a5760405162461bcd60e51b815260206004820152601b60248201527f5061697220616c726561647920616464656420746f206c6973742e0000000000604482015260640161082f565b506001600160a01b03166000908152600160208190526040909120805460ff1916909117905542600255565b6000610a83338484610b86565b5060019392505050565b6001600160a01b038316610ad95760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161082f565b6001600160a01b038216610b255760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161082f565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610bec5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161082f565b6001600160a01b038316610c4e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161082f565b60008211610cb05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161082f565b6001600160a01b0384166000908152600160205260408120548190819060ff1615610cde5760019250610d0c565b6001600160a01b03861660009081526001602052604090205460ff1615610d085760019150610d0c565b5060015b60125460ff16610e085780610d635760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c6564210000000000000000604482015260640161082f565b6001600160a01b03871660009081526005602052604090205460ff16158015610da557506001600160a01b03861660009081526005602052604090205460ff16155b15610e085760405162461bcd60e51b815260206004820152602d60248201527f546f6b656e732063616e6e6f74206265206d6f76656420756e74696c2074726160448201526c3234b7339034b9903634bb329760991b606482015260840161082f565b8115610e9e57600d5460ff16610e9e57600d54610100900460ff1615610e9e5730600090815260208190526040902054600e548110610e9c57600f5460105460ff1615610e8657601154600a546001600160a01b0316600090815260208190526040902054606491610e799161187b565b610e8391906118b8565b90505b808210610e91578091505b610e9a82610eb6565b505b505b610eab8787878686611338565b979650505050505050565b600d805460ff191660011790556040805160808101825260085461ffff80821683526201000082048116602084015264010000000082048116938301939093526601000000000000900490911660608201819052600003610f17575061132b565b3060009081526003602090815260408083206009546001600160a01b0316845290915290205460001914610f70573060009081526003602090815260408083206009546001600160a01b03168452909152902060001990555b60006002826060015161ffff16836000015161ffff1685610f91919061187b565b610f9b91906118b8565b610fa591906118b8565b90506000610fb38285611892565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610fed57610fed6118da565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611046573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106a91906118f0565b8160018151811061107d5761107d6118da565b6001600160a01b03928316602091820292909201015260095460405163791ac94760e01b815291169063791ac947906110c390859060009086903090429060040161190d565b600060405180830381600087803b1580156110dd57600080fd5b505af19250505080156110ee575060015b6110fb575050505061132b565b47600083611109868461187b565b61111391906118b8565b905084156111f25760095460405163f305d71960e01b815230600482015260248101879052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1935050505080156111a6575060408051601f3d908101601f191682019092526111a39181019061197e565b60015b6111b55750505050505061132b565b505060408051838152602081018890527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b6111fc8183611892565b915085600001518660600181815161121491906119ac565b61ffff908116909152606088015160408901516000935083929182169161123c91168661187b565b61124691906118b8565b6020890151909150849061ffff16156112b657600b546040516001600160a01b039091169061d6d89083906000818181858888f193505050503d80600081146112ab576040519150601f19603f3d011682016040523d82523d6000602084013e6112b0565b606091505b50909350505b604089015161ffff161561132157600c546040516001600160a01b039091169061d6d89084906000818181858888f193505050503d8060008114611316576040519150601f19603f3d011682016040523d82523d6000602084013e61131b565b606091505b50909350505b5050505050505050505b50600d805460ff19169055565b6001600160a01b03851660009081526006602052604081205460019060ff168061137a57506001600160a01b03861660009081526006602052604090205460ff165b15611383575060005b6001600160a01b03871660009081526014602052604090205460ff161580156113c557506001600160a01b03861660009081526014602052604090205460ff16155b156113f65760125460ff166113f65760405162461bcd60e51b8152602060048201526000602482015260440161082f565b6001600160a01b0387166000908152602081905260408120805487929061141e908490611892565b909155506000905081611431578561143d565b61143d888686896114d5565b905080600080896001600160a01b03166001600160a01b03168152602001908152602001600020600082825461147391906118a5565b92505081905550866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114bf91815260200190565b60405180910390a3506001979650505050505050565b60008084156114eb575060075461ffff16611515565b8315611504575060075462010000900461ffff16611515565b50600754640100000000900461ffff165b806000036115265782915050610760565b60006064611534838661187b565b61153e91906118b8565b905080156115ab5730600090815260208190526040812080548392906115659084906118a5565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b610eab8185611892565b600060208083528351808285015260005b818110156115e2578581018301518582016040015282016115c6565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461161857600080fd5b50565b6000806040838503121561162e57600080fd5b823561163981611603565b946020939093013593505050565b60008060006060848603121561165c57600080fd5b833561166781611603565b9250602084013561167781611603565b929592945050506040919091013590565b60006020828403121561169a57600080fd5b81356116a581611603565b9392505050565b803561ffff811681146116be57600080fd5b919050565b6000806000606084860312156116d857600080fd5b6116e1846116ac565b92506116ef602085016116ac565b91506116fd604085016116ac565b90509250925092565b6000806040838503121561171957600080fd5b823561172481611603565b91506020830135801515811461173957600080fd5b809150509250929050565b6000806040838503121561175757600080fd5b823561176281611603565b9150602083013561173981611603565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156117c35781600019048211156117a9576117a9611772565b808516156117b657918102915b93841c939080029061178d565b509250929050565b6000826117da575060016106c9565b816117e7575060006106c9565b81600181146117fd576002811461180757611823565b60019150506106c9565b60ff84111561181857611818611772565b50506001821b6106c9565b5060208310610133831016604e8410600b8410161715611846575081810a6106c9565b6118508383611788565b806000190482111561186457611864611772565b029392505050565b60006116a560ff8416836117cb565b80820281158282048414176106c9576106c9611772565b818103818111156106c9576106c9611772565b808201808211156106c9576106c9611772565b6000826118d557634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561190257600080fd5b81516116a581611603565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561195d5784516001600160a01b031683529383019391830191600101611938565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561199357600080fd5b8351925060208401519150604084015190509250925092565b61ffff8281168282160390808211156119c7576119c7611772565b509291505056fea264697066735822122070685bdf42d4ea658921a953160ec00f9f275a1c8c8c60781c5ee6bb151a69b664736f6c63430008110033
Deployed Bytecode Sourcemap
3692:12581:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5023:73;;;;;;;;;;;;5054:42;5023:73;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;5023:73:0;;;;;;;;5488:28;;;;;;;;;;;;;;;;;;;368:25:1;;;356:2;341:18;5488:28:0;222:177:1;4660:103:0;;;;;;;;;;-1:-1:-1;4660:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;610:6:1;643:15;;;625:34;;695:15;;;690:2;675:18;;668:43;747:15;;727:18;;;720:43;;;;588:2;573:18;4660:103:0;404:365:1;8973:80:0;;;;;;;;;;-1:-1:-1;9045:5:0;;;;;;;;;;;;-1:-1:-1;;;9045:5:0;;;;8973:80;;;;;;;:::i;4962:26::-;;;;;;;;;;-1:-1:-1;4962:26:0;;;;-1:-1:-1;;;;;4962:26:0;;;9581:161;;;;;;;;;;-1:-1:-1;9581:161:0;;;;;:::i;:::-;;:::i;:::-;;;2173:14:1;;2166:22;2148:41;;2136:2;2121:18;9581:161:0;2008:187:1;8708:83:0;;;;;;;;;;;;;:::i;10068:314::-;;;;;;;;;;-1:-1:-1;10068:314:0;;;;;:::i;:::-;;:::i;5603:33::-;;;;;;;;;;;;;;;;11000:141;;;;;;;;;;;;;:::i;5523:25::-;;;;;;;;;;;;;;;;8797:80;;;;;;;;;;-1:-1:-1;8797:80:0;;4331:2;2803:36:1;;2791:2;2776:18;8797:80:0;2661:184:1;4995:21:0;;;;;;;;;;-1:-1:-1;4995:21:0;;;;-1:-1:-1;;;;;4995:21:0;;;5645:33;;;;;;;;;;-1:-1:-1;5645:33:0;;;;;;;;10865:127;;;;;;;;;;-1:-1:-1;10865:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;10956:28:0;10932:4;10956:28;;;:19;:28;;;;;;;;;10865:127;5685:36;;;;;;;;;;-1:-1:-1;5685:36:0;;;;;;;;;;;5728:26;;;;;;;;;;;;;;;;11149:206;;;;;;;;;;-1:-1:-1;11149:206:0;;;;;:::i;:::-;;:::i;:::-;;9283:117;;;;;;;;;;-1:-1:-1;9283:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;9376:16:0;9349:7;9376:16;;;;;;;;;;;;9283:117;8138:180;;;;;;;;;;;;;:::i;10390:467::-;;;;;;;;;;-1:-1:-1;10390:467:0;;;;;:::i;:::-;;:::i;9059:79::-;;;;;;;;;;-1:-1:-1;9129:6:0;;-1:-1:-1;;;;;9129:6:0;9059:79;;8883:84;;;;;;;;;;-1:-1:-1;8957:7:0;;;;;;;;;;;;-1:-1:-1;;;8957:7:0;;;;8883:84;;9408:165;;;;;;;;;;-1:-1:-1;9408:165:0;;;;;:::i;:::-;;:::i;5555:41::-;;;;;;;;;;-1:-1:-1;5555:41:0;;;;;;;;4772:133;;;;;;;;;;-1:-1:-1;4772:133:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4253:6:1;4286:15;;;4268:34;;4338:15;;;4333:2;4318:18;;4311:43;4390:15;;;4370:18;;;4363:43;;;;4442:15;;;4437:2;4422:18;;4415:43;4230:3;4215:19;4772:133:0;4020:444:1;7946:92:0;;;;;;;;;;-1:-1:-1;7946:92:0;;;;;:::i;:::-;-1:-1:-1;;;;;8020:10:0;7996:4;8020:10;;;:5;:10;;;;;;;;;7946:92;9144:133;;;;;;;;;;-1:-1:-1;9144:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;9246:19:0;;;9228:7;9246:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;9144:133;5213:199;;;;;;;;;;-1:-1:-1;5213:199:0;;;;;;-1:-1:-1;;;;;5213:199:0;;;;;;;;;;;-1:-1:-1;;;;;5124:15:1;;;5106:34;;5176:15;;;;5171:2;5156:18;;5149:43;5041:18;5213:199:0;4862:336:1;5443:38:0;;;;;;;;;;-1:-1:-1;5443:38:0;;;;;;;;;;;9581:161;9658:4;9675:37;9684:10;9696:7;9705:6;9675:8;:37::i;:::-;-1:-1:-1;9730:4:0;9581:161;;;;;:::o;8708:83::-;8763:7;4392:13;4331:2;4392;:13;:::i;:::-;4375:30;;4172:13;4375:30;:::i;:::-;8774:14;;8708:83;:::o;10068:314::-;-1:-1:-1;;;;;10189:19:0;;10168:4;10189:19;;;:11;:19;;;;;;;;10209:10;10189:31;;;;;;;;-1:-1:-1;;10189:52:0;10185:134;;-1:-1:-1;;;;;10258:19:0;;;;;;:11;:19;;;;;;;;10278:10;10258:31;;;;;;;:41;;10293:6;;10258:19;:41;;10293:6;;10258:41;:::i;:::-;;;;-1:-1:-1;;10185:134:0;10338:36;10348:6;10356:9;10367:6;10338:9;:36::i;:::-;10331:43;10068:314;-1:-1:-1;;;;10068:314:0:o;11000:141::-;11053:7;9376:16;;;;;;5054:42;9376:16;;;;11092:39;;9376:16;11092:39;:::i;:::-;4392:13;4331:2;4392;:13;:::i;:::-;4375:30;;4172:13;4375:30;:::i;:::-;11081:51;;;;:::i;11149:206::-;7900:10;7996:4;8020:10;;;:5;:10;;;;;;;;7885:42;;;;-1:-1:-1;;;7885:42:0;;7356:2:1;7885:42:0;;;7338:21:1;7395:2;7375:18;;;7368:30;-1:-1:-1;;;7414:18:1;;;7407:41;7465:18;;7885:42:0;;;;;;;;;11238:9:::1;:25:::0;;::::1;::::0;;::::1;-1:-1:-1::0;;11274:27:0;;;;;;;::::1;::::0;;;::::1;::::0;;;::::1;-1:-1:-1::0;;11312:35:0::1;::::0;;;;::::1;;::::0;;;::::1;::::0;;11149:206::o;8138:180::-;7802:6;;-1:-1:-1;;;;;7802:6:0;7812:10;7802:20;7794:50;;;;-1:-1:-1;;;7794:50:0;;7696:2:1;7794:50:0;;;7678:21:1;7735:2;7715:18;;;7708:30;-1:-1:-1;;;7754:18:1;;;7747:47;7811:18;;7794:50:0;7494:341:1;7794:50:0;8216:6:::1;::::0;;-1:-1:-1;;;;;;8233:19:0;::::1;::::0;;;8268:42:::1;::::0;-1:-1:-1;;;;;8216:6:0;;::::1;::::0;8197:16:::1;::::0;8216:6;;8268:42:::1;::::0;8197:16;;8268:42:::1;8186:132;8138:180::o:0;10390:467::-;7802:6;;-1:-1:-1;;;;;7802:6:0;7812:10;7802:20;7794:50;;;;-1:-1:-1;;;7794:50:0;;7696:2:1;7794:50:0;;;7678:21:1;7735:2;7715:18;;;7708:30;-1:-1:-1;;;7754:18:1;;;7747:47;7811:18;;7794:50:0;7494:341:1;7794:50:0;10472:7:::1;10467:383;;-1:-1:-1::0;;;;;;10496:13:0::1;10512:5;10496:13:::0;;;:7:::1;:13;::::0;;;;:21;;-1:-1:-1;;10496:21:0::1;::::0;;10390:467::o;10467:383::-:1;10554:17;::::0;:22;10550:135:::1;;10643:6;10623:17;;10605:15;:35;;;;:::i;:::-;:44;10597:72;;;::::0;-1:-1:-1;;;10597:72:0;;8042:2:1;10597:72:0::1;::::0;::::1;8024:21:1::0;8081:2;8061:18;;;8054:30;-1:-1:-1;;;8100:18:1;;;8093:45;8155:18;;10597:72:0::1;7840:339:1::0;10597:72:0::1;-1:-1:-1::0;;;;;10708:13:0;::::1;;::::0;;;:7:::1;:13;::::0;;;;;::::1;;10707:14;10699:54;;;::::0;-1:-1:-1;;;10699:54:0;;8386:2:1;10699:54:0::1;::::0;::::1;8368:21:1::0;8425:2;8405:18;;;8398:30;8464:29;8444:18;;;8437:57;8511:18;;10699:54:0::1;8184:351:1::0;10699:54:0::1;-1:-1:-1::0;;;;;;10768:13:0::1;;::::0;;;10784:4:::1;10768:13;::::0;;;;;;;:20;;-1:-1:-1;;10768:20:0::1;::::0;;::::1;::::0;;10823:15:::1;10803:17;:35:::0;10390:467::o;9408:165::-;9486:4;9503:40;9513:10;9525:9;9536:6;9503:9;:40::i;:::-;-1:-1:-1;9561:4:0;;9408:165;-1:-1:-1;;;9408:165:0:o;9750:310::-;-1:-1:-1;;;;;9845:20:0;;9837:52;;;;-1:-1:-1;;;9837:52:0;;8742:2:1;9837:52:0;;;8724:21:1;8781:2;8761:18;;;8754:30;-1:-1:-1;;;8800:18:1;;;8793:49;8859:18;;9837:52:0;8540:343:1;9837:52:0;-1:-1:-1;;;;;9908:21:0;;9900:53;;;;-1:-1:-1;;;9900:53:0;;8742:2:1;9900:53:0;;;8724:21:1;8781:2;8761:18;;;8754:30;-1:-1:-1;;;8800:18:1;;;8793:49;8859:18;;9900:53:0;8540:343:1;9900:53:0;-1:-1:-1;;;;;9966:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;10019:33;;368:25:1;;;10019:33:0;;341:18:1;10019:33:0;;;;;;;9750:310;;;:::o;11363:1646::-;11442:4;-1:-1:-1;;;;;11467:18:0;;11459:68;;;;-1:-1:-1;;;11459:68:0;;9090:2:1;11459:68:0;;;9072:21:1;9129:2;9109:18;;;9102:30;9168:34;9148:18;;;9141:62;-1:-1:-1;;;9219:18:1;;;9212:35;9264:19;;11459:68:0;8888:401:1;11459:68:0;-1:-1:-1;;;;;11546:16:0;;11538:64;;;;-1:-1:-1;;;11538:64:0;;9496:2:1;11538:64:0;;;9478:21:1;9535:2;9515:18;;;9508:30;9574:34;9554:18;;;9547:62;-1:-1:-1;;;9625:18:1;;;9618:33;9668:19;;11538:64:0;9294:399:1;11538:64:0;11630:1;11621:6;:10;11613:64;;;;-1:-1:-1;;;11613:64:0;;9900:2:1;11613:64:0;;;9882:21:1;9939:2;9919:18;;;9912:30;9978:34;9958:18;;;9951:62;-1:-1:-1;;;10029:18:1;;;10022:39;10078:19;;11613:64:0;9698:405:1;11613:64:0;-1:-1:-1;;;;;11776:13:0;;11688:8;11776:13;;;:7;:13;;;;;;11688:8;;;;11776:13;;11772:162;;;11812:4;11806:10;;11772:162;;;-1:-1:-1;;;;;11838:11:0;;;;;;:7;:11;;;;;;;;11834:100;;;11873:4;11866:11;;11834:100;;;-1:-1:-1;11918:4:0;11834:100;11952:14;;;;11948:329;;11992:5;11987:279;;12022:34;;-1:-1:-1;;;12022:34:0;;10310:2:1;12022:34:0;;;10292:21:1;10349:2;10329:18;;;10322:30;10388:26;10368:18;;;10361:54;10432:18;;12022:34:0;10108:348:1;11987:279:0;-1:-1:-1;;;;;12087:31:0;;;;;;:25;:31;;;;;;;;12086:32;:66;;;;-1:-1:-1;;;;;;12123:29:0;;;;;;:25;:29;;;;;;;;12122:30;12086:66;12082:184;;;12177:55;;-1:-1:-1;;;12177:55:0;;10663:2:1;12177:55:0;;;10645:21:1;10702:2;10682:18;;;10675:30;10741:34;10721:18;;;10714:62;-1:-1:-1;;;10792:18:1;;;10785:43;10845:19;;12177:55:0;10461:409:1;12082:184:0;12293:4;12289:650;;;12319:6;;;;12314:614;;12350:19;;;;;;;12346:567;;;12461:4;12412:28;9376:16;;;;;;;;;;;12518:13;;12494:37;;12490:404;;12578:10;;12619:22;;;;12615:97;;;12676:13;;12666:6;;-1:-1:-1;;;;;12666:6:0;9349:7;9376:16;;;;;;;;;;;4950:3;;12656:33;;;:::i;:::-;12655:54;;;;:::i;:::-;12645:64;;12615:97;12766:7;12742:20;:31;12738:72;;12800:7;12777:30;;12738:72;12836:34;12849:20;12836:12;:34::i;:::-;12533:361;12490:404;12389:524;12346:567;12956:45;12973:4;12979:2;12983:6;12991:3;12996:4;12956:16;:45::i;:::-;12949:52;11363:1646;-1:-1:-1;;;;;;;11363:1646:0:o;13017:1990::-;5919:6;:13;;-1:-1:-1;;5919:13:0;5928:4;5919:13;;;13100:30:::1;::::0;;::::1;::::0;::::1;::::0;;13123:7:::1;13100:30:::0;::::1;::::0;;::::1;::::0;;;;::::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;;;;;;;;::::1;::::0;;::::1;::::0;;;;;;5919:6;13145:21;13141:60:::1;;13183:7;;;13141:60;13237:4;13217:26;::::0;;;:11:::1;:26;::::0;;;;;;;13252:9:::1;::::0;-1:-1:-1;;;;;13252:9:0::1;13217:46:::0;;;;;;;;-1:-1:-1;;13217:67:0::1;13213:166;;13321:4;13301:26;::::0;;;:11:::1;:26;::::0;;;;;;;13336:9:::1;::::0;-1:-1:-1;;;;;13336:9:0::1;13301:46:::0;;;;;;;-1:-1:-1;;13301:66:0;;13213:166:::1;13391:17;13476:1;13456:6;:16;;;13412:60;;13436:6;:16;;;13413:39;;:20;:39;;;;:::i;:::-;13412:60;;;;:::i;:::-;13411:66;;;;:::i;:::-;13391:86:::0;-1:-1:-1;13488:15:0::1;13506:32;13391:86:::0;13506:20;:32:::1;:::i;:::-;13583:16;::::0;;13597:1:::1;13583:16:::0;;;;;::::1;::::0;;13488:50;;-1:-1:-1;13559:21:0::1;::::0;13583:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13583:16:0::1;13559:40;;13628:4;13610;13615:1;13610:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13610:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;13654:9:::1;::::0;:16:::1;::::0;;-1:-1:-1;;;13654:16:0;;;;:9;;;::::1;::::0;:14:::1;::::0;:16:::1;::::0;;::::1;::::0;13610:7;;13654:16;;;;;:9;:16:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13644:4;13649:1;13644:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13644:26:0;;::::1;:7;::::0;;::::1;::::0;;;;;:26;13687:9:::1;::::0;:186:::1;::::0;-1:-1:-1;;;13687:186:0;;:9;::::1;::::0;:60:::1;::::0;:186:::1;::::0;13762:7;;13687:9:::1;::::0;13800:4;;13827::::1;::::0;13847:15:::1;::::0;13687:186:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;13683:233;;13898:7;;;;;;13683:233;13949:21;13928:18;14035:7:::0;14009:22:::1;14022:9:::0;13949:21;14009:22:::1;:::i;:::-;14008:34;;;;:::i;:::-;13981:61:::0;-1:-1:-1;14059:13:0;;14055:400:::1;;14093:9;::::0;:222:::1;::::0;-1:-1:-1;;;14093:222:0;;14170:4:::1;14093:222;::::0;::::1;12943:34:1::0;12993:18;;;12986:34;;;14093:9:0::1;13036:18:1::0;;;13029:34;;;13079:18;;;13072:34;5054:42:0::1;13122:19:1::0;;;13115:44;14285:15:0::1;13175:19:1::0;;;13168:35;-1:-1:-1;;;;;14093:9:0;;::::1;::::0;:25:::1;::::0;14126:16;;12877:19:1;;14093:222:0::1;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;14093:222:0::1;::::0;;::::1;;::::0;;::::1;-1:-1:-1::0;;14093:222:0::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;;;14089:355;;14422:7;;;;;;;;14089:355;-1:-1:-1::0;;14340:40:0::1;::::0;;13699:25:1;;;13755:2;13740:18;;13733:34;;;14340:40:0::1;::::0;-1:-1:-1;13672:18:1;14340:40:0::1;;;;;;;14089:355;14467:30;14481:16:::0;14467:30;::::1;:::i;:::-;;;14528:6;:16;;;14508:6;:16;;:36;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;14643:16:::1;::::0;::::1;::::0;14621:18:::1;::::0;::::1;::::0;14555:12:::1;::::0;-1:-1:-1;14555:12:0;;14607:52;;::::1;::::0;14608:31:::1;::::0;::::1;:10:::0;:31:::1;:::i;:::-;14607:52;;;;:::i;:::-;14722:16;::::0;::::1;::::0;14578:81;;-1:-1:-1;14697:10:0;;14722:20:::1;;::::0;14718:133:::1;;14772:11;:21:::0;:67:::1;::::0;-1:-1:-1;;;;;14772:21:0;;::::1;::::0;14829:5:::1;::::0;14806:16;;14772:67:::1;::::0;;;14806:16;14772:21;14829:5;14772:67:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;14759:80:0;;-1:-1:-1;;14718:133:0::1;14865:18;::::0;::::1;::::0;:22:::1;;::::0;14861:139:::1;;14917:23:::0;;:71:::1;::::0;-1:-1:-1;;;;;14917:23:0;;::::1;::::0;14978:5:::1;::::0;14953:18;;14917:71:::1;::::0;;;14953:18;14917:23;14978:5;14917:71:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;14904:84:0;;-1:-1:-1;;14861:139:0::1;13089:1918;;;;;;;;;5943:1;-1:-1:-1::0;5955:6:0;:14;;-1:-1:-1;;5955:14:0;;;13017:1990::o;15015:591::-;-1:-1:-1;;;;;15173:25:0;;15122:4;15173:25;;;:19;:25;;;;;;15154:4;;15173:25;;;:52;;-1:-1:-1;;;;;;15202:23:0;;;;;;:19;:23;;;;;;;;15173:52;15169:99;;;-1:-1:-1;15251:5:0;15169:99;-1:-1:-1;;;;;15282:11:0;;;;;;:5;:11;;;;;;;;15281:12;:26;;;;-1:-1:-1;;;;;;15298:9:0;;;;;;:5;:9;;;;;;;;15297:10;15281:26;15278:84;;;15331:14;;;;15323:27;;;;-1:-1:-1;;;15323:27:0;;14366:2:1;15323:27:0;;;14348:21:1;-1:-1:-1;14385:18:1;;;14378:29;14424:18;;15323:27:0;14164:284:1;15323:27:0;-1:-1:-1;;;;;15372:13:0;;:7;:13;;;;;;;;;;:23;;15389:6;;15372:7;:23;;15389:6;;15372:23;:::i;:::-;;;;-1:-1:-1;15406:22:0;;-1:-1:-1;15432:7:0;15431:55;;15480:6;15431:55;;;15443:34;15453:4;15459:3;15464:4;15470:6;15443:9;:34::i;:::-;15406:80;;15512:14;15497:7;:11;15505:2;-1:-1:-1;;;;;15497:11:0;-1:-1:-1;;;;;15497:11:0;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;15557:2;-1:-1:-1;;;;;15542:34:0;15551:4;-1:-1:-1;;;;;15542:34:0;;15561:14;15542:34;;;;368:25:1;;356:2;341:18;;222:177;15542:34:0;;;;;;;;-1:-1:-1;15594:4:0;;15015:591;-1:-1:-1;;;;;;;15015:591:0:o;15614:656::-;15702:7;15722:18;15755:3;15751:205;;;-1:-1:-1;15788:9:0;:16;;;15751:205;;;15826:4;15822:134;;;-1:-1:-1;15860:9:0;:17;;;;;;15822:134;;;-1:-1:-1;15923:9:0;:21;;;;;;15822:134;15970:10;15984:1;15970:15;15966:39;;15996:6;15989:13;;;;;15966:39;16015:17;4950:3;16035:19;16044:10;16035:6;:19;:::i;:::-;:38;;;;:::i;:::-;16015:58;-1:-1:-1;16088:13:0;;16084:141;;16134:4;16118:7;:22;;;;;;;;;;:35;;16144:9;;16118:7;:35;;16144:9;;16118:35;:::i;:::-;;;;-1:-1:-1;;16173:40:0;;368:25:1;;;16196:4:0;;-1:-1:-1;;;;;16173:40:0;;;;;356:2:1;341:18;16173:40:0;;;;;;;16084:141;16244:18;16253:9;16244:6;:18;:::i;774:548:1:-;886:4;915:2;944;933:9;926:21;976:6;970:13;1019:6;1014:2;1003:9;999:18;992:34;1044:1;1054:140;1068:6;1065:1;1062:13;1054:140;;;1163:14;;;1159:23;;1153:30;1129:17;;;1148:2;1125:26;1118:66;1083:10;;1054:140;;;1058:3;1243:1;1238:2;1229:6;1218:9;1214:22;1210:31;1203:42;1313:2;1306;1302:7;1297:2;1289:6;1285:15;1281:29;1270:9;1266:45;1262:54;1254:62;;;;774:548;;;;:::o;1552:131::-;-1:-1:-1;;;;;1627:31:1;;1617:42;;1607:70;;1673:1;1670;1663:12;1607:70;1552:131;:::o;1688:315::-;1756:6;1764;1817:2;1805:9;1796:7;1792:23;1788:32;1785:52;;;1833:1;1830;1823:12;1785:52;1872:9;1859:23;1891:31;1916:5;1891:31;:::i;:::-;1941:5;1993:2;1978:18;;;;1965:32;;-1:-1:-1;;;1688:315:1:o;2200:456::-;2277:6;2285;2293;2346:2;2334:9;2325:7;2321:23;2317:32;2314:52;;;2362:1;2359;2352:12;2314:52;2401:9;2388:23;2420:31;2445:5;2420:31;:::i;:::-;2470:5;-1:-1:-1;2527:2:1;2512:18;;2499:32;2540:33;2499:32;2540:33;:::i;:::-;2200:456;;2592:7;;-1:-1:-1;;;2646:2:1;2631:18;;;;2618:32;;2200:456::o;2850:247::-;2909:6;2962:2;2950:9;2941:7;2937:23;2933:32;2930:52;;;2978:1;2975;2968:12;2930:52;3017:9;3004:23;3036:31;3061:5;3036:31;:::i;:::-;3086:5;2850:247;-1:-1:-1;;;2850:247:1:o;3102:159::-;3169:20;;3229:6;3218:18;;3208:29;;3198:57;;3251:1;3248;3241:12;3198:57;3102:159;;;:::o;3266:328::-;3340:6;3348;3356;3409:2;3397:9;3388:7;3384:23;3380:32;3377:52;;;3425:1;3422;3415:12;3377:52;3448:28;3466:9;3448:28;:::i;:::-;3438:38;;3495:37;3528:2;3517:9;3513:18;3495:37;:::i;:::-;3485:47;;3551:37;3584:2;3573:9;3569:18;3551:37;:::i;:::-;3541:47;;3266:328;;;;;:::o;3599:416::-;3664:6;3672;3725:2;3713:9;3704:7;3700:23;3696:32;3693:52;;;3741:1;3738;3731:12;3693:52;3780:9;3767:23;3799:31;3824:5;3799:31;:::i;:::-;3849:5;-1:-1:-1;3906:2:1;3891:18;;3878:32;3948:15;;3941:23;3929:36;;3919:64;;3979:1;3976;3969:12;3919:64;4002:7;3992:17;;;3599:416;;;;;:::o;4469:388::-;4537:6;4545;4598:2;4586:9;4577:7;4573:23;4569:32;4566:52;;;4614:1;4611;4604:12;4566:52;4653:9;4640:23;4672:31;4697:5;4672:31;:::i;:::-;4722:5;-1:-1:-1;4779:2:1;4764:18;;4751:32;4792:33;4751:32;4792:33;:::i;5203:127::-;5264:10;5259:3;5255:20;5252:1;5245:31;5295:4;5292:1;5285:15;5319:4;5316:1;5309:15;5335:422;5424:1;5467:5;5424:1;5481:270;5502:7;5492:8;5489:21;5481:270;;;5561:4;5557:1;5553:6;5549:17;5543:4;5540:27;5537:53;;;5570:18;;:::i;:::-;5620:7;5610:8;5606:22;5603:55;;;5640:16;;;;5603:55;5719:22;;;;5679:15;;;;5481:270;;;5485:3;5335:422;;;;;:::o;5762:806::-;5811:5;5841:8;5831:80;;-1:-1:-1;5882:1:1;5896:5;;5831:80;5930:4;5920:76;;-1:-1:-1;5967:1:1;5981:5;;5920:76;6012:4;6030:1;6025:59;;;;6098:1;6093:130;;;;6005:218;;6025:59;6055:1;6046:10;;6069:5;;;6093:130;6130:3;6120:8;6117:17;6114:43;;;6137:18;;:::i;:::-;-1:-1:-1;;6193:1:1;6179:16;;6208:5;;6005:218;;6307:2;6297:8;6294:16;6288:3;6282:4;6279:13;6275:36;6269:2;6259:8;6256:16;6251:2;6245:4;6242:12;6238:35;6235:77;6232:159;;;-1:-1:-1;6344:19:1;;;6376:5;;6232:159;6423:34;6448:8;6442:4;6423:34;:::i;:::-;6493:6;6489:1;6485:6;6481:19;6472:7;6469:32;6466:58;;;6504:18;;:::i;:::-;6542:20;;5762:806;-1:-1:-1;;;5762:806:1:o;6573:140::-;6631:5;6660:47;6701:4;6691:8;6687:19;6681:4;6660:47;:::i;6718:168::-;6791:9;;;6822;;6839:15;;;6833:22;;6819:37;6809:71;;6860:18;;:::i;6891:128::-;6958:9;;;6979:11;;;6976:37;;;6993:18;;:::i;7024:125::-;7089:9;;;7110:10;;;7107:36;;;7123:18;;:::i;10875:217::-;10915:1;10941;10931:132;;10985:10;10980:3;10976:20;10973:1;10966:31;11020:4;11017:1;11010:15;11048:4;11045:1;11038:15;10931:132;-1:-1:-1;11077:9:1;;10875:217::o;11229:127::-;11290:10;11285:3;11281:20;11278:1;11271:31;11321:4;11318:1;11311:15;11345:4;11342:1;11335:15;11361:251;11431:6;11484:2;11472:9;11463:7;11459:23;11455:32;11452:52;;;11500:1;11497;11490:12;11452:52;11532:9;11526:16;11551:31;11576:5;11551:31;:::i;11617:980::-;11879:4;11927:3;11916:9;11912:19;11958:6;11947:9;11940:25;11984:2;12022:6;12017:2;12006:9;12002:18;11995:34;12065:3;12060:2;12049:9;12045:18;12038:31;12089:6;12124;12118:13;12155:6;12147;12140:22;12193:3;12182:9;12178:19;12171:26;;12232:2;12224:6;12220:15;12206:29;;12253:1;12263:195;12277:6;12274:1;12271:13;12263:195;;;12342:13;;-1:-1:-1;;;;;12338:39:1;12326:52;;12433:15;;;;12398:12;;;;12374:1;12292:9;12263:195;;;-1:-1:-1;;;;;;;12514:32:1;;;;12509:2;12494:18;;12487:60;-1:-1:-1;;;12578:3:1;12563:19;12556:35;12475:3;11617:980;-1:-1:-1;;;11617:980:1:o;13214:306::-;13302:6;13310;13318;13371:2;13359:9;13350:7;13346:23;13342:32;13339:52;;;13387:1;13384;13377:12;13339:52;13416:9;13410:16;13400:26;;13466:2;13455:9;13451:18;13445:25;13435:35;;13510:2;13499:9;13495:18;13489:25;13479:35;;13214:306;;;;;:::o;13778:171::-;13846:6;13885:10;;;13873;;;13869:27;;13908:12;;;13905:38;;;13923:18;;:::i;:::-;13905:38;13778:171;;;;:::o
Swarm Source
ipfs://70685bdf42d4ea658921a953160ec00f9f275a1c8c8c60781c5ee6bb151a69b6
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.