ERC-20
Overview
Max Total Supply
1,000,000,000 $TSUMI
Holders
12
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.000000001 $TSUMIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
TSUMI
Compiler Version
v0.8.16+commit.07a7930e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-10-25 */ /** https://medium.com/@watatsumitoken/tsumi-was-born-f4a0215a3e13 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.11; 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 ERC20 { 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); } abstract contract Ownable { address internal owner; constructor(address _owner) { owner = _owner; } modifier onlyOwner() { require(isOwner(msg.sender), "!OWNER"); _; } function isOwner(address account) public view returns (bool) { return account == owner; } function renounceOwnership() public onlyOwner { owner = address(0); emit OwnershipTransferred(address(0)); } event OwnershipTransferred(address owner); } 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; } contract TSUMI is ERC20, Ownable { using SafeMath for uint256; address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; //UNISWAP address DEAD = 0x000000000000000000000000000000000000dEaD; string constant _name = "Watatsumi"; string constant _symbol = "$TSUMI"; uint8 constant _decimals = 9; uint256 _totalSupply = 1_000_000_000 * (10 ** _decimals); uint256 public _maxWalletAmount = _totalSupply * 2 / 100; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) isFeeExempt; mapping (address => bool) isTxLimitExempt; mapping(address => bool) public isBot; uint256 marketingFee = 3; uint256 sellMarketingFee = 3; uint256 feeDenominator = 100; address public marketingFeeReceiver = msg.sender; IDEXRouter public router; address public pair; bool public swapEnabled = true; uint256 public swapThreshold = _totalSupply / 10000 * 50; bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor () Ownable(msg.sender) { router = IDEXRouter(routerAdress); pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this)); _allowances[address(this)][address(router)] = type(uint256).max; address _owner = owner; isFeeExempt[_owner] = true; isTxLimitExempt[_owner] = true; isTxLimitExempt[DEAD] = true; _balances[_owner] = _totalSupply; emit Transfer(address(0), _owner, _totalSupply); } receive() external payable { } function totalSupply() external view override returns (uint256) { return _totalSupply; } 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 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, type(uint256).max); } 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] != type(uint256).max){ _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(inSwap){ return _basicTransfer(sender, recipient, amount); } if (recipient != pair && recipient != DEAD) { require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size."); } require(!isBot[sender], "Bot Address"); if(shouldSwapBack()){ swapBack(); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 amountReceived = amount; if(shouldTakeFee(sender)){ if(sender == pair){ amountReceived = takeFee(sender, amount,false); }else{ amountReceived = takeFee(sender, amount,true); } } _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); 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 shouldTakeFee(address sender) internal view returns (bool) { return !isFeeExempt[sender]; } function takeFee(address sender, uint256 amount, bool isSell) internal returns (uint256) { uint feeAmount = isSell ? amount.mul(sellMarketingFee).div(feeDenominator) : amount.mul(marketingFee).div(feeDenominator); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !inSwap && swapEnabled && _balances[address(this)] >= swapThreshold; } function swapBack() internal swapping { uint256 amountToSwap = _balances[address(this)]; if (amountToSwap >= (swapThreshold*2)){ amountToSwap = swapThreshold*2; } address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); if (address(this).balance >= 200000000000000000){ payable(marketingFeeReceiver).transfer(address(this).balance); } } function buyTokens(uint256 amount, address to) internal swapping { address[] memory path = new address[](2); path[0] = router.WETH(); path[1] = address(this); router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}( 0, path, to, block.timestamp ); } function manualSend() external { payable(marketingFeeReceiver).transfer(address(this).balance); } function setWalletLimit(uint256 amountPercent) external onlyOwner { _maxWalletAmount = (_totalSupply * amountPercent ) / 1000; } function swapStatus (bool status) external onlyOwner { swapEnabled = status; } function isBots(address botAddress, bool status) external onlyOwner { isBot[botAddress] = status; } function areBots(address[] memory bots_, bool status) public onlyOwner { for (uint256 i = 0; i < bots_.length; i++) { isBot[bots_[i]] = status; } } function setFees(uint256 _MarketingFee, uint256 _sellMarketingFee) external onlyOwner { marketingFee = _MarketingFee; sellMarketingFee = _sellMarketingFee; require(marketingFee <= 10 && sellMarketingFee <= 100, "Must keep fees at 10% or less"); } function setThreshold(uint256 _treshold) external onlyOwner { swapThreshold = _treshold; } function setFeeReceivers(address _marketingFeeReceiver) external onlyOwner { marketingFeeReceiver = _marketingFeeReceiver; } event AutoLiquify(uint256 amountETH, uint256 amountBOG); }
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":"amountETH","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":[],"name":"_maxWalletAmount","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":[{"internalType":"address[]","name":"bots_","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"areBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"botAddress","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"isBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_MarketingFee","type":"uint256"},{"internalType":"uint256","name":"_sellMarketingFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_treshold","type":"uint256"}],"name":"setThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"name":"swapStatus","outputs":[],"stateMutability":"nonpayable","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":"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
6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000ac919062000870565b633b9aca00620000bd9190620008c1565b60035560646002600354620000d39190620008c1565b620000df919062000951565b6004556003600a556003600b556064600c5533600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600f60146101000a81548160ff021916908315150217905550603261271060035462000161919062000951565b6200016d9190620008c1565b6010553480156200017d57600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000291573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b79190620009f3565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000340573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003669190620009f3565b306040518363ffffffff1660e01b81526004016200038692919062000a36565b6020604051808303816000875af1158015620003a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003cc9190620009f3565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600354600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600354604051620006c7919062000a74565b60405180910390a35062000a91565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000764578086048111156200073c576200073b620006d6565b5b60018516156200074c5780820291505b80810290506200075c8562000705565b94506200071c565b94509492505050565b6000826200077f576001905062000852565b816200078f576000905062000852565b8160018114620007a85760028114620007b357620007e9565b600191505062000852565b60ff841115620007c857620007c7620006d6565b5b8360020a915084821115620007e257620007e1620006d6565b5b5062000852565b5060208310610133831016604e8410600b8410161715620008235782820a9050838111156200081d576200081c620006d6565b5b62000852565b62000832848484600162000712565b925090508184048111156200084c576200084b620006d6565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200087d8262000859565b91506200088a8362000863565b9250620008b97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200076d565b905092915050565b6000620008ce8262000859565b9150620008db8362000859565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620009175762000916620006d6565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200095e8262000859565b91506200096b8362000859565b9250826200097e576200097d62000922565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620009bb826200098e565b9050919050565b620009cd81620009ae565b8114620009d957600080fd5b50565b600081519050620009ed81620009c2565b92915050565b60006020828403121562000a0c5762000a0b62000989565b5b600062000a1c84828501620009dc565b91505092915050565b62000a3081620009ae565b82525050565b600060408201905062000a4d600083018562000a25565b62000a5c602083018462000a25565b9392505050565b62000a6e8162000859565b82525050565b600060208201905062000a8b600083018462000a63565b92915050565b612cec8062000aa16000396000f3fe6080604052600436106101bb5760003560e01c8063715018a6116100ec578063d05b5a001161008a578063e96fada211610064578063e96fada21461063f578063f1d5f5171461066a578063f429389014610693578063f887ea40146106aa576101c2565b8063d05b5a00146105b0578063dd62ed3e146105d9578063e01bb68814610616576101c2565b806395d89b41116100c657806395d89b41146104f4578063960bfe041461051f578063a8aa1b3114610548578063a9059cbb14610573576101c2565b8063715018a6146104895780637e26d19f146104a0578063893d20e8146104c9576101c2565b80632f54bf6e11610159578063571ac8b011610133578063571ac8b0146103b95780636c0a24eb146103f65780636ddd17131461042157806370a082311461044c576101c2565b80632f54bf6e14610314578063313ce567146103515780633bbac5791461037c576101c2565b80630b78f9c0116101955780630b78f9c01461025a578063144eef071461028357806318160ddd146102ac57806323b872dd146102d7576101c2565b80630445b667146101c757806306fdde03146101f2578063095ea7b31461021d576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6106d5565b6040516101e9919061205f565b60405180910390f35b3480156101fe57600080fd5b506102076106db565b604051610214919061210a565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f91906121ca565b610718565b6040516102519190612225565b60405180910390f35b34801561026657600080fd5b50610281600480360381019061027c9190612240565b61080a565b005b34801561028f57600080fd5b506102aa60048036038101906102a591906123f4565b6108b8565b005b3480156102b857600080fd5b506102c1610995565b6040516102ce919061205f565b60405180910390f35b3480156102e357600080fd5b506102fe60048036038101906102f99190612450565b61099f565b60405161030b9190612225565b60405180910390f35b34801561032057600080fd5b5061033b600480360381019061033691906124a3565b610b9f565b6040516103489190612225565b60405180910390f35b34801561035d57600080fd5b50610366610bf8565b60405161037391906124ec565b60405180910390f35b34801561038857600080fd5b506103a3600480360381019061039e91906124a3565b610c01565b6040516103b09190612225565b60405180910390f35b3480156103c557600080fd5b506103e060048036038101906103db91906124a3565b610c21565b6040516103ed9190612225565b60405180910390f35b34801561040257600080fd5b5061040b610c54565b604051610418919061205f565b60405180910390f35b34801561042d57600080fd5b50610436610c5a565b6040516104439190612225565b60405180910390f35b34801561045857600080fd5b50610473600480360381019061046e91906124a3565b610c6d565b604051610480919061205f565b60405180910390f35b34801561049557600080fd5b5061049e610cb6565b005b3480156104ac57600080fd5b506104c760048036038101906104c29190612507565b610d79565b005b3480156104d557600080fd5b506104de610dde565b6040516104eb9190612543565b60405180910390f35b34801561050057600080fd5b50610509610e07565b604051610516919061210a565b60405180910390f35b34801561052b57600080fd5b506105466004803603810190610541919061255e565b610e44565b005b34801561055457600080fd5b5061055d610e96565b60405161056a9190612543565b60405180910390f35b34801561057f57600080fd5b5061059a600480360381019061059591906121ca565b610ebc565b6040516105a79190612225565b60405180910390f35b3480156105bc57600080fd5b506105d760048036038101906105d2919061258b565b610ed1565b005b3480156105e557600080fd5b5061060060048036038101906105fb91906125cb565b610f74565b60405161060d919061205f565b60405180910390f35b34801561062257600080fd5b5061063d600480360381019061063891906124a3565b610ffb565b005b34801561064b57600080fd5b50610654611087565b6040516106619190612543565b60405180910390f35b34801561067657600080fd5b50610691600480360381019061068c919061255e565b6110ad565b005b34801561069f57600080fd5b506106a8611119565b005b3480156106b657600080fd5b506106bf611184565b6040516106cc919061266a565b60405180910390f35b60105481565b60606040518060400160405280600981526020017f576174617473756d690000000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516107f8919061205f565b60405180910390a36001905092915050565b61081333610b9f565b610852576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610849906126d1565b60405180910390fd5b81600a8190555080600b81905550600a80541115801561087557506064600b5411155b6108b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ab9061273d565b60405180910390fd5b5050565b6108c133610b9f565b610900576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f7906126d1565b60405180910390fd5b60005b82518110156109905781600960008584815181106109245761092361275d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610988906127bb565b915050610903565b505050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610b8b57610b0a826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111aa9092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610b9684848461120e565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b60096020528060005260406000206000915054906101000a900460ff1681565b6000610c4d827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610718565b9050919050565b60045481565b600f60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610cbf33610b9f565b610cfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf5906126d1565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610d6f9190612543565b60405180910390a1565b610d8233610b9f565b610dc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db8906126d1565b60405180910390fd5b80600f60146101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f245453554d490000000000000000000000000000000000000000000000000000815250905090565b610e4d33610b9f565b610e8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e83906126d1565b60405180910390fd5b8060108190555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ec933848461120e565b905092915050565b610eda33610b9f565b610f19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f10906126d1565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61100433610b9f565b611043576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103a906126d1565b60405180910390fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110b633610b9f565b6110f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ec906126d1565b60405180910390fd5b6103e8816003546111069190612803565b611110919061288c565b60048190555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611181573d6000803e3d6000fd5b50565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008383111582906111f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e9919061210a565b60405180910390fd5b506000838561120191906128bd565b9050809150509392505050565b6000601160009054906101000a900460ff1615611237576112308484846116cd565b90506116c6565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112e35750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156113cc57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061138c575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461138991906128f1565b11155b6113cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c290612997565b60405180910390fd5b5b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611459576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145090612a03565b60405180910390fd5b6114616118a0565b1561146f5761146e611977565b5b6114f8826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111aa9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600082905061154985611ca7565b156115c657600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036115b6576115af85846000611cfe565b90506115c5565b6115c285846001611cfe565b90505b5b61161881600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7790919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116b8919061205f565b60405180910390a360019150505b9392505050565b6000611758826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111aa9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117ed82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7790919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161188d919061205f565b60405180910390a3600190509392505050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561190d5750601160009054906101000a900460ff16155b80156119255750600f60149054906101000a900460ff165b80156119725750601054600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601160006101000a81548160ff0219169083151502179055506000600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060026010546119e59190612803565b81106119fd5760026010546119fa9190612803565b90505b6000600267ffffffffffffffff811115611a1a57611a19612285565b5b604051908082528060200260200182016040528015611a485781602001602082028036833780820191505090505b5090503081600081518110611a6057611a5f61275d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b2b9190612a38565b81600181518110611b3f57611b3e61275d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611bdd959493929190612b5e565b600060405180830381600087803b158015611bf757600080fd5b505af1158015611c0b573d6000803e3d6000fd5b505050506702c68af0bb1400004710611c8857600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611c86573d6000803e3d6000fd5b505b50506000601160006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b60008082611d3457611d2f600c54611d21600a5487611ed590919063ffffffff16565b611f4f90919063ffffffff16565b611d5e565b611d5d600c54611d4f600b5487611ed590919063ffffffff16565b611f4f90919063ffffffff16565b5b9050611db281600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7790919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e52919061205f565b60405180910390a3611e6d8185611f9990919063ffffffff16565b9150509392505050565b6000808284611e8691906128f1565b905083811015611ecb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec290612c04565b60405180910390fd5b8091505092915050565b6000808303611ee75760009050611f49565b60008284611ef59190612803565b9050828482611f04919061288c565b14611f44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3b90612c96565b60405180910390fd5b809150505b92915050565b6000611f9183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611fe3565b905092915050565b6000611fdb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111aa565b905092915050565b6000808311829061202a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612021919061210a565b60405180910390fd5b5060008385612039919061288c565b9050809150509392505050565b6000819050919050565b61205981612046565b82525050565b60006020820190506120746000830184612050565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156120b4578082015181840152602081019050612099565b60008484015250505050565b6000601f19601f8301169050919050565b60006120dc8261207a565b6120e68185612085565b93506120f6818560208601612096565b6120ff816120c0565b840191505092915050565b6000602082019050818103600083015261212481846120d1565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061216b82612140565b9050919050565b61217b81612160565b811461218657600080fd5b50565b60008135905061219881612172565b92915050565b6121a781612046565b81146121b257600080fd5b50565b6000813590506121c48161219e565b92915050565b600080604083850312156121e1576121e0612136565b5b60006121ef85828601612189565b9250506020612200858286016121b5565b9150509250929050565b60008115159050919050565b61221f8161220a565b82525050565b600060208201905061223a6000830184612216565b92915050565b6000806040838503121561225757612256612136565b5b6000612265858286016121b5565b9250506020612276858286016121b5565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6122bd826120c0565b810181811067ffffffffffffffff821117156122dc576122db612285565b5b80604052505050565b60006122ef61212c565b90506122fb82826122b4565b919050565b600067ffffffffffffffff82111561231b5761231a612285565b5b602082029050602081019050919050565b600080fd5b600061234461233f84612300565b6122e5565b905080838252602082019050602084028301858111156123675761236661232c565b5b835b81811015612390578061237c8882612189565b845260208401935050602081019050612369565b5050509392505050565b600082601f8301126123af576123ae612280565b5b81356123bf848260208601612331565b91505092915050565b6123d18161220a565b81146123dc57600080fd5b50565b6000813590506123ee816123c8565b92915050565b6000806040838503121561240b5761240a612136565b5b600083013567ffffffffffffffff8111156124295761242861213b565b5b6124358582860161239a565b9250506020612446858286016123df565b9150509250929050565b60008060006060848603121561246957612468612136565b5b600061247786828701612189565b935050602061248886828701612189565b9250506040612499868287016121b5565b9150509250925092565b6000602082840312156124b9576124b8612136565b5b60006124c784828501612189565b91505092915050565b600060ff82169050919050565b6124e6816124d0565b82525050565b600060208201905061250160008301846124dd565b92915050565b60006020828403121561251d5761251c612136565b5b600061252b848285016123df565b91505092915050565b61253d81612160565b82525050565b60006020820190506125586000830184612534565b92915050565b60006020828403121561257457612573612136565b5b6000612582848285016121b5565b91505092915050565b600080604083850312156125a2576125a1612136565b5b60006125b085828601612189565b92505060206125c1858286016123df565b9150509250929050565b600080604083850312156125e2576125e1612136565b5b60006125f085828601612189565b925050602061260185828601612189565b9150509250929050565b6000819050919050565b600061263061262b61262684612140565b61260b565b612140565b9050919050565b600061264282612615565b9050919050565b600061265482612637565b9050919050565b61266481612649565b82525050565b600060208201905061267f600083018461265b565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b60006126bb600683612085565b91506126c682612685565b602082019050919050565b600060208201905081810360008301526126ea816126ae565b9050919050565b7f4d757374206b656570206665657320617420313025206f72206c657373000000600082015250565b6000612727601d83612085565b9150612732826126f1565b602082019050919050565b600060208201905081810360008301526127568161271a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006127c682612046565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127f8576127f761278c565b5b600182019050919050565b600061280e82612046565b915061281983612046565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156128525761285161278c565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061289782612046565b91506128a283612046565b9250826128b2576128b161285d565b5b828204905092915050565b60006128c882612046565b91506128d383612046565b92508282039050818111156128eb576128ea61278c565b5b92915050565b60006128fc82612046565b915061290783612046565b925082820190508082111561291f5761291e61278c565b5b92915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b6000612981602583612085565b915061298c82612925565b604082019050919050565b600060208201905081810360008301526129b081612974565b9050919050565b7f426f742041646472657373000000000000000000000000000000000000000000600082015250565b60006129ed600b83612085565b91506129f8826129b7565b602082019050919050565b60006020820190508181036000830152612a1c816129e0565b9050919050565b600081519050612a3281612172565b92915050565b600060208284031215612a4e57612a4d612136565b5b6000612a5c84828501612a23565b91505092915050565b6000819050919050565b6000612a8a612a85612a8084612a65565b61260b565b612046565b9050919050565b612a9a81612a6f565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ad581612160565b82525050565b6000612ae78383612acc565b60208301905092915050565b6000602082019050919050565b6000612b0b82612aa0565b612b158185612aab565b9350612b2083612abc565b8060005b83811015612b51578151612b388882612adb565b9750612b4383612af3565b925050600181019050612b24565b5085935050505092915050565b600060a082019050612b736000830188612050565b612b806020830187612a91565b8181036040830152612b928186612b00565b9050612ba16060830185612534565b612bae6080830184612050565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612bee601b83612085565b9150612bf982612bb8565b602082019050919050565b60006020820190508181036000830152612c1d81612be1565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c80602183612085565b9150612c8b82612c24565b604082019050919050565b60006020820190508181036000830152612caf81612c73565b905091905056fea2646970667358221220bb5d265f220698f8ce0f001d9cbdc5bcf91f1131ed7a6ba07cef797ce227daa164736f6c63430008100033
Deployed Bytecode
0x6080604052600436106101bb5760003560e01c8063715018a6116100ec578063d05b5a001161008a578063e96fada211610064578063e96fada21461063f578063f1d5f5171461066a578063f429389014610693578063f887ea40146106aa576101c2565b8063d05b5a00146105b0578063dd62ed3e146105d9578063e01bb68814610616576101c2565b806395d89b41116100c657806395d89b41146104f4578063960bfe041461051f578063a8aa1b3114610548578063a9059cbb14610573576101c2565b8063715018a6146104895780637e26d19f146104a0578063893d20e8146104c9576101c2565b80632f54bf6e11610159578063571ac8b011610133578063571ac8b0146103b95780636c0a24eb146103f65780636ddd17131461042157806370a082311461044c576101c2565b80632f54bf6e14610314578063313ce567146103515780633bbac5791461037c576101c2565b80630b78f9c0116101955780630b78f9c01461025a578063144eef071461028357806318160ddd146102ac57806323b872dd146102d7576101c2565b80630445b667146101c757806306fdde03146101f2578063095ea7b31461021d576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6106d5565b6040516101e9919061205f565b60405180910390f35b3480156101fe57600080fd5b506102076106db565b604051610214919061210a565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f91906121ca565b610718565b6040516102519190612225565b60405180910390f35b34801561026657600080fd5b50610281600480360381019061027c9190612240565b61080a565b005b34801561028f57600080fd5b506102aa60048036038101906102a591906123f4565b6108b8565b005b3480156102b857600080fd5b506102c1610995565b6040516102ce919061205f565b60405180910390f35b3480156102e357600080fd5b506102fe60048036038101906102f99190612450565b61099f565b60405161030b9190612225565b60405180910390f35b34801561032057600080fd5b5061033b600480360381019061033691906124a3565b610b9f565b6040516103489190612225565b60405180910390f35b34801561035d57600080fd5b50610366610bf8565b60405161037391906124ec565b60405180910390f35b34801561038857600080fd5b506103a3600480360381019061039e91906124a3565b610c01565b6040516103b09190612225565b60405180910390f35b3480156103c557600080fd5b506103e060048036038101906103db91906124a3565b610c21565b6040516103ed9190612225565b60405180910390f35b34801561040257600080fd5b5061040b610c54565b604051610418919061205f565b60405180910390f35b34801561042d57600080fd5b50610436610c5a565b6040516104439190612225565b60405180910390f35b34801561045857600080fd5b50610473600480360381019061046e91906124a3565b610c6d565b604051610480919061205f565b60405180910390f35b34801561049557600080fd5b5061049e610cb6565b005b3480156104ac57600080fd5b506104c760048036038101906104c29190612507565b610d79565b005b3480156104d557600080fd5b506104de610dde565b6040516104eb9190612543565b60405180910390f35b34801561050057600080fd5b50610509610e07565b604051610516919061210a565b60405180910390f35b34801561052b57600080fd5b506105466004803603810190610541919061255e565b610e44565b005b34801561055457600080fd5b5061055d610e96565b60405161056a9190612543565b60405180910390f35b34801561057f57600080fd5b5061059a600480360381019061059591906121ca565b610ebc565b6040516105a79190612225565b60405180910390f35b3480156105bc57600080fd5b506105d760048036038101906105d2919061258b565b610ed1565b005b3480156105e557600080fd5b5061060060048036038101906105fb91906125cb565b610f74565b60405161060d919061205f565b60405180910390f35b34801561062257600080fd5b5061063d600480360381019061063891906124a3565b610ffb565b005b34801561064b57600080fd5b50610654611087565b6040516106619190612543565b60405180910390f35b34801561067657600080fd5b50610691600480360381019061068c919061255e565b6110ad565b005b34801561069f57600080fd5b506106a8611119565b005b3480156106b657600080fd5b506106bf611184565b6040516106cc919061266a565b60405180910390f35b60105481565b60606040518060400160405280600981526020017f576174617473756d690000000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516107f8919061205f565b60405180910390a36001905092915050565b61081333610b9f565b610852576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610849906126d1565b60405180910390fd5b81600a8190555080600b81905550600a80541115801561087557506064600b5411155b6108b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ab9061273d565b60405180910390fd5b5050565b6108c133610b9f565b610900576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f7906126d1565b60405180910390fd5b60005b82518110156109905781600960008584815181106109245761092361275d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610988906127bb565b915050610903565b505050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610b8b57610b0a826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111aa9092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610b9684848461120e565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b60096020528060005260406000206000915054906101000a900460ff1681565b6000610c4d827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610718565b9050919050565b60045481565b600f60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610cbf33610b9f565b610cfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf5906126d1565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610d6f9190612543565b60405180910390a1565b610d8233610b9f565b610dc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db8906126d1565b60405180910390fd5b80600f60146101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f245453554d490000000000000000000000000000000000000000000000000000815250905090565b610e4d33610b9f565b610e8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e83906126d1565b60405180910390fd5b8060108190555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ec933848461120e565b905092915050565b610eda33610b9f565b610f19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f10906126d1565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61100433610b9f565b611043576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103a906126d1565b60405180910390fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110b633610b9f565b6110f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ec906126d1565b60405180910390fd5b6103e8816003546111069190612803565b611110919061288c565b60048190555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611181573d6000803e3d6000fd5b50565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008383111582906111f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e9919061210a565b60405180910390fd5b506000838561120191906128bd565b9050809150509392505050565b6000601160009054906101000a900460ff1615611237576112308484846116cd565b90506116c6565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112e35750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156113cc57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061138c575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461138991906128f1565b11155b6113cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c290612997565b60405180910390fd5b5b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611459576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145090612a03565b60405180910390fd5b6114616118a0565b1561146f5761146e611977565b5b6114f8826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111aa9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600082905061154985611ca7565b156115c657600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036115b6576115af85846000611cfe565b90506115c5565b6115c285846001611cfe565b90505b5b61161881600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7790919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116b8919061205f565b60405180910390a360019150505b9392505050565b6000611758826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111aa9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117ed82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7790919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161188d919061205f565b60405180910390a3600190509392505050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561190d5750601160009054906101000a900460ff16155b80156119255750600f60149054906101000a900460ff165b80156119725750601054600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601160006101000a81548160ff0219169083151502179055506000600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060026010546119e59190612803565b81106119fd5760026010546119fa9190612803565b90505b6000600267ffffffffffffffff811115611a1a57611a19612285565b5b604051908082528060200260200182016040528015611a485781602001602082028036833780820191505090505b5090503081600081518110611a6057611a5f61275d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b2b9190612a38565b81600181518110611b3f57611b3e61275d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611bdd959493929190612b5e565b600060405180830381600087803b158015611bf757600080fd5b505af1158015611c0b573d6000803e3d6000fd5b505050506702c68af0bb1400004710611c8857600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611c86573d6000803e3d6000fd5b505b50506000601160006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b60008082611d3457611d2f600c54611d21600a5487611ed590919063ffffffff16565b611f4f90919063ffffffff16565b611d5e565b611d5d600c54611d4f600b5487611ed590919063ffffffff16565b611f4f90919063ffffffff16565b5b9050611db281600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7790919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e52919061205f565b60405180910390a3611e6d8185611f9990919063ffffffff16565b9150509392505050565b6000808284611e8691906128f1565b905083811015611ecb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec290612c04565b60405180910390fd5b8091505092915050565b6000808303611ee75760009050611f49565b60008284611ef59190612803565b9050828482611f04919061288c565b14611f44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3b90612c96565b60405180910390fd5b809150505b92915050565b6000611f9183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611fe3565b905092915050565b6000611fdb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111aa565b905092915050565b6000808311829061202a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612021919061210a565b60405180910390fd5b5060008385612039919061288c565b9050809150509392505050565b6000819050919050565b61205981612046565b82525050565b60006020820190506120746000830184612050565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156120b4578082015181840152602081019050612099565b60008484015250505050565b6000601f19601f8301169050919050565b60006120dc8261207a565b6120e68185612085565b93506120f6818560208601612096565b6120ff816120c0565b840191505092915050565b6000602082019050818103600083015261212481846120d1565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061216b82612140565b9050919050565b61217b81612160565b811461218657600080fd5b50565b60008135905061219881612172565b92915050565b6121a781612046565b81146121b257600080fd5b50565b6000813590506121c48161219e565b92915050565b600080604083850312156121e1576121e0612136565b5b60006121ef85828601612189565b9250506020612200858286016121b5565b9150509250929050565b60008115159050919050565b61221f8161220a565b82525050565b600060208201905061223a6000830184612216565b92915050565b6000806040838503121561225757612256612136565b5b6000612265858286016121b5565b9250506020612276858286016121b5565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6122bd826120c0565b810181811067ffffffffffffffff821117156122dc576122db612285565b5b80604052505050565b60006122ef61212c565b90506122fb82826122b4565b919050565b600067ffffffffffffffff82111561231b5761231a612285565b5b602082029050602081019050919050565b600080fd5b600061234461233f84612300565b6122e5565b905080838252602082019050602084028301858111156123675761236661232c565b5b835b81811015612390578061237c8882612189565b845260208401935050602081019050612369565b5050509392505050565b600082601f8301126123af576123ae612280565b5b81356123bf848260208601612331565b91505092915050565b6123d18161220a565b81146123dc57600080fd5b50565b6000813590506123ee816123c8565b92915050565b6000806040838503121561240b5761240a612136565b5b600083013567ffffffffffffffff8111156124295761242861213b565b5b6124358582860161239a565b9250506020612446858286016123df565b9150509250929050565b60008060006060848603121561246957612468612136565b5b600061247786828701612189565b935050602061248886828701612189565b9250506040612499868287016121b5565b9150509250925092565b6000602082840312156124b9576124b8612136565b5b60006124c784828501612189565b91505092915050565b600060ff82169050919050565b6124e6816124d0565b82525050565b600060208201905061250160008301846124dd565b92915050565b60006020828403121561251d5761251c612136565b5b600061252b848285016123df565b91505092915050565b61253d81612160565b82525050565b60006020820190506125586000830184612534565b92915050565b60006020828403121561257457612573612136565b5b6000612582848285016121b5565b91505092915050565b600080604083850312156125a2576125a1612136565b5b60006125b085828601612189565b92505060206125c1858286016123df565b9150509250929050565b600080604083850312156125e2576125e1612136565b5b60006125f085828601612189565b925050602061260185828601612189565b9150509250929050565b6000819050919050565b600061263061262b61262684612140565b61260b565b612140565b9050919050565b600061264282612615565b9050919050565b600061265482612637565b9050919050565b61266481612649565b82525050565b600060208201905061267f600083018461265b565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b60006126bb600683612085565b91506126c682612685565b602082019050919050565b600060208201905081810360008301526126ea816126ae565b9050919050565b7f4d757374206b656570206665657320617420313025206f72206c657373000000600082015250565b6000612727601d83612085565b9150612732826126f1565b602082019050919050565b600060208201905081810360008301526127568161271a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006127c682612046565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127f8576127f761278c565b5b600182019050919050565b600061280e82612046565b915061281983612046565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156128525761285161278c565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061289782612046565b91506128a283612046565b9250826128b2576128b161285d565b5b828204905092915050565b60006128c882612046565b91506128d383612046565b92508282039050818111156128eb576128ea61278c565b5b92915050565b60006128fc82612046565b915061290783612046565b925082820190508082111561291f5761291e61278c565b5b92915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b6000612981602583612085565b915061298c82612925565b604082019050919050565b600060208201905081810360008301526129b081612974565b9050919050565b7f426f742041646472657373000000000000000000000000000000000000000000600082015250565b60006129ed600b83612085565b91506129f8826129b7565b602082019050919050565b60006020820190508181036000830152612a1c816129e0565b9050919050565b600081519050612a3281612172565b92915050565b600060208284031215612a4e57612a4d612136565b5b6000612a5c84828501612a23565b91505092915050565b6000819050919050565b6000612a8a612a85612a8084612a65565b61260b565b612046565b9050919050565b612a9a81612a6f565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ad581612160565b82525050565b6000612ae78383612acc565b60208301905092915050565b6000602082019050919050565b6000612b0b82612aa0565b612b158185612aab565b9350612b2083612abc565b8060005b83811015612b51578151612b388882612adb565b9750612b4383612af3565b925050600181019050612b24565b5085935050505092915050565b600060a082019050612b736000830188612050565b612b806020830187612a91565b8181036040830152612b928186612b00565b9050612ba16060830185612534565b612bae6080830184612050565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612bee601b83612085565b9150612bf982612bb8565b602082019050919050565b60006020820190508181036000830152612c1d81612be1565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c80602183612085565b9150612c8b82612c24565b604082019050919050565b60006020820190508181036000830152612caf81612c73565b905091905056fea2646970667358221220bb5d265f220698f8ce0f001d9cbdc5bcf91f1131ed7a6ba07cef797ce227daa164736f6c63430008100033
Deployed Bytecode Sourcemap
4167:7764:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5147:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6114:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6536:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11320:281;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11129:183;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5844:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7054:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2405:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5938:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4843:37;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6760:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4571:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5110:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6284:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2514:131;;;;;;;;;;;;;:::i;:::-;;10903:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6200:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6024:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11609:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5082:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6890:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11003:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6395:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11722:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4994:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10753:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10634:111;;;;;;;;;;;;;:::i;:::-;;5051:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5147:56;;;;:::o;6114:80::-;6162:13;6186:5;;;;;;;;;;;;;;;;;6179:12;;6114:80;:::o;6536:216::-;6611:4;6663:6;6628:11;:23;6640:10;6628:23;;;;;;;;;;;;;;;:32;6652:7;6628:32;;;;;;;;;;;;;;;:41;;;;6706:7;6685:37;;6694:10;6685:37;;;6715:6;6685:37;;;;;;:::i;:::-;;;;;;;;6740:4;6733:11;;6536:216;;;;:::o;11320:281::-;2358:19;2366:10;2358:7;:19::i;:::-;2350:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11433:13:::1;11418:12;:28;;;;11477:17;11458:16;:36;;;;11530:2;11514:12:::0;::::1;:18;;:45;;;;;11556:3;11536:16;;:23;;11514:45;11506:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;11320:281:::0;;:::o;11129:183::-;2358:19;2366:10;2358:7;:19::i;:::-;2350:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11216:9:::1;11211:94;11235:5;:12;11231:1;:16;11211:94;;;11287:6;11269:5;:15;11275:5;11281:1;11275:8;;;;;;;;:::i;:::-;;;;;;;;11269:15;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;11249:3;;;;;:::i;:::-;;;;11211:94;;;;11129:183:::0;;:::o;5844:88::-;5899:7;5917:12;;5910:19;;5844:88;:::o;7054:370::-;7154:4;7209:17;7174:11;:19;7186:6;7174:19;;;;;;;;;;;;;;;:31;7194:10;7174:31;;;;;;;;;;;;;;;;:52;7171:186;;7276:69;7312:6;7276:69;;;;;;;;;;;;;;;;;:11;:19;7288:6;7276:19;;;;;;;;;;;;;;;:31;7296:10;7276:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;7242:11;:19;7254:6;7242:19;;;;;;;;;;;;;;;:31;7262:10;7242:31;;;;;;;;;;;;;;;:103;;;;7171:186;7376:40;7390:6;7398:9;7409:6;7376:13;:40::i;:::-;7369:47;;7054:370;;;;;:::o;2405:103::-;2460:4;2495:5;;;;;;;;;;;2484:16;;:7;:16;;;2477:23;;2405:103;;;:::o;5938:80::-;5990:5;4498:1;5999:16;;5938:80;:::o;4843:37::-;;;;;;;;;;;;;;;;;;;;;;:::o;6760:122::-;6815:4;6839:35;6847:7;6856:17;6839:7;:35::i;:::-;6832:42;;6760:122;;;:::o;4571:56::-;;;;:::o;5110:30::-;;;;;;;;;;;;;:::o;6284:105::-;6350:7;6368:9;:18;6378:7;6368:18;;;;;;;;;;;;;;;;6361:25;;6284:105;;;:::o;2514:131::-;2358:19;2366:10;2358:7;:19::i;:::-;2350:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;2587:1:::1;2571:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;2605:32;2634:1;2605:32;;;;;;:::i;:::-;;;;;;;;2514:131::o:0;10903:92::-;2358:19;2366:10;2358:7;:19::i;:::-;2350:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;10981:6:::1;10967:11;;:20;;;;;;;;;;;;;;;;;;10903:92:::0;:::o;6200:78::-;6252:7;6270:5;;;;;;;;;;;6263:12;;6200:78;:::o;6024:84::-;6074:13;6098:7;;;;;;;;;;;;;;;;;6091:14;;6024:84;:::o;11609:105::-;2358:19;2366:10;2358:7;:19::i;:::-;2350:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11697:9:::1;11681:13;:25;;;;11609:105:::0;:::o;5082:19::-;;;;;;;;;;;;;:::o;6890:156::-;6970:4;6994:44;7008:10;7020:9;7031:6;6994:13;:44::i;:::-;6987:51;;6890:156;;;;:::o;11003:119::-;2358:19;2366:10;2358:7;:19::i;:::-;2350:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11108:6:::1;11088:5;:17;11094:10;11088:17;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;11003:119:::0;;:::o;6395:133::-;6479:7;6497:11;:19;6509:6;6497:19;;;;;;;;;;;;;;;:28;6517:7;6497:28;;;;;;;;;;;;;;;;6490:35;;6395:133;;;;:::o;11722:138::-;2358:19;2366:10;2358:7;:19::i;:::-;2350:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11831:21:::1;11808:20;;:44;;;;;;;;;;;;;;;;;;11722:138:::0;:::o;4994:48::-;;;;;;;;;;;;;:::o;10753:142::-;2358:19;2366:10;2358:7;:19::i;:::-;2350:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;10883:4:::1;10865:13;10850:12;;:28;;;;:::i;:::-;10849:38;;;;:::i;:::-;10830:16;:57;;;;10753:142:::0;:::o;10634:111::-;10684:20;;;;;;;;;;;10676:38;;:61;10715:21;10676:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10634:111::o;5051:24::-;;;;;;;;;;;;;:::o;494:190::-;580:7;613:1;608;:6;;616:12;600:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;640:9;656:1;652;:5;;;;:::i;:::-;640:17;;675:1;668:8;;;494:190;;;;;:::o;7432:1043::-;7524:4;7544:6;;;;;;;;;;;7541:63;;;7560:41;7575:6;7583:9;7594:6;7560:14;:41::i;:::-;7553:48;;;;7541:63;7641:4;;;;;;;;;;;7628:17;;:9;:17;;;;:38;;;;;7662:4;;;;;;;;;;;7649:17;;:9;:17;;;;7628:38;7624:200;;;7691:15;:26;7707:9;7691:26;;;;;;;;;;;;;;;;;;;;;;;;;:79;;;;7754:16;;7744:6;7721:9;:20;7731:9;7721:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:49;;7691:79;7683:129;;;;;;;;;;;;:::i;:::-;;;;;;;;;7624:200;7853:5;:13;7859:6;7853:13;;;;;;;;;;;;;;;;;;;;;;;;;7852:14;7844:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;7898:16;:14;:16::i;:::-;7895:35;;;7917:10;:8;:10::i;:::-;7895:35;7963:53;7985:6;7963:53;;;;;;;;;;;;;;;;;:9;:17;7973:6;7963:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;7943:9;:17;7953:6;7943:17;;;;;;;;;;;;;;;:73;;;;8029:22;8055:6;8029:32;;8075:21;8089:6;8075:13;:21::i;:::-;8072:235;;;8125:4;;;;;;;;;;;8115:14;;:6;:14;;;8112:183;;8166:29;8174:6;8182;8189:5;8166:7;:29::i;:::-;8149:46;;8112:183;;;8251:28;8259:6;8267;8274:4;8251:7;:28::i;:::-;8234:45;;8112:183;8072:235;8344:40;8369:14;8344:9;:20;8354:9;8344:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;8321:9;:20;8331:9;8321:20;;;;;;;;;;;;;;;:63;;;;8419:9;8402:43;;8411:6;8402:43;;;8430:14;8402:43;;;;;;:::i;:::-;;;;;;;;8463:4;8456:11;;;7432:1043;;;;;;:::o;8487:330::-;8580:4;8617:53;8639:6;8617:53;;;;;;;;;;;;;;;;;:9;:17;8627:6;8617:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;8597:9;:17;8607:6;8597:17;;;;;;;;;;;;;;;:73;;;;8704:32;8729:6;8704:9;:20;8714:9;8704:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;8681:9;:20;8691:9;8681:20;;;;;;;;;;;;;;;:55;;;;8769:9;8752:35;;8761:6;8752:35;;;8780:6;8752:35;;;;;;:::i;:::-;;;;;;;;8805:4;8798:11;;8487:330;;;;;:::o;9358:197::-;9407:4;9445;;;;;;;;;;;9431:18;;:10;:18;;;;:38;;;;;9463:6;;;;;;;;;;;9462:7;9431:38;:62;;;;;9482:11;;;;;;;;;;;9431:62;:116;;;;;9534:13;;9506:9;:24;9524:4;9506:24;;;;;;;;;;;;;;;;:41;;9431:116;9424:123;;9358:197;:::o;9563:685::-;5260:4;5251:6;;:13;;;;;;;;;;;;;;;;;;9612:20:::1;9635:9;:24;9653:4;9635:24;;;;;;;;;;;;;;;;9612:47;;9705:1;9691:13;;:15;;;;:::i;:::-;9674:12;:33;9670:95;;9752:1;9738:13;;:15;;;;:::i;:::-;9723:30;;9670:95;9775:21;9813:1;9799:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9775:40;;9844:4;9826;9831:1;9826:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9870:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9860:4;9865:1;9860:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9896:6;;;;;;;;;;;:57;;;9968:12;9995:1;10011:4;10038;10058:15;9896:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10126:18;10101:21;:43;10097:136;;10168:20;;;;;;;;;;;10160:38;;:61;10199:21;10160:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;10097:136;9601:647;;5278:5:::0;5269:6;;:14;;;;;;;;;;;;;;;;;;9563:685::o;8825:114::-;8887:4;8912:11;:19;8924:6;8912:19;;;;;;;;;;;;;;;;;;;;;;;;;8911:20;8904:27;;8825:114;;;:::o;8947:403::-;9027:7;9047:14;9064:6;:104;;9124:44;9153:14;;9124:24;9135:12;;9124:6;:10;;:24;;;;:::i;:::-;:28;;:44;;;;:::i;:::-;9064:104;;;9073:48;9106:14;;9073:28;9084:16;;9073:6;:10;;:28;;;;:::i;:::-;:32;;:48;;;;:::i;:::-;9064:104;9047:121;;9206:39;9235:9;9206;:24;9224:4;9206:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9179:9;:24;9197:4;9179:24;;;;;;;;;;;;;;;:66;;;;9286:4;9261:42;;9270:6;9261:42;;;9293:9;9261:42;;;;;;:::i;:::-;;;;;;;;9321:21;9332:9;9321:6;:10;;:21;;;;:::i;:::-;9314:28;;;8947:403;;;;;:::o;167:179::-;225:7;245:9;261:1;257;:5;;;;:::i;:::-;245:17;;286:1;281;:6;;273:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;337:1;330:8;;;167:179;;;;:::o;690:246::-;748:7;777:1;772;:6;768:47;;802:1;795:8;;;;768:47;825:9;841:1;837;:5;;;;:::i;:::-;825:17;;870:1;865;861;:5;;;;:::i;:::-;:10;853:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;927:1;920:8;;;690:246;;;;;:::o;942:132::-;1000:7;1027:39;1031:1;1034;1027:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1020:46;;942:132;;;;:::o;352:136::-;410:7;437:43;441:1;444;437:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;430:50;;352:136;;;;:::o;1080:189::-;1166:7;1198:1;1194;:5;1201:12;1186:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1225:9;1241:1;1237;:5;;;;:::i;:::-;1225:17;;1260:1;1253:8;;;1080:189;;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:246::-;803:1;813:113;827:6;824:1;821:13;813:113;;;912:1;907:3;903:11;897:18;893:1;888:3;884:11;877:39;849:2;846:1;842:10;837:15;;813:113;;;960:1;951:6;946:3;942:16;935:27;784:184;722:246;;;:::o;974:102::-;1015:6;1066:2;1062:7;1057:2;1050:5;1046:14;1042:28;1032:38;;974:102;;;:::o;1082:377::-;1170:3;1198:39;1231:5;1198:39;:::i;:::-;1253:71;1317:6;1312:3;1253:71;:::i;:::-;1246:78;;1333:65;1391:6;1386:3;1379:4;1372:5;1368:16;1333:65;:::i;:::-;1423:29;1445:6;1423:29;:::i;:::-;1418:3;1414:39;1407:46;;1174:285;1082:377;;;;:::o;1465:313::-;1578:4;1616:2;1605:9;1601:18;1593:26;;1665:9;1659:4;1655:20;1651:1;1640:9;1636:17;1629:47;1693:78;1766:4;1757:6;1693:78;:::i;:::-;1685:86;;1465:313;;;;:::o;1784:75::-;1817:6;1850:2;1844:9;1834:19;;1784:75;:::o;1865:117::-;1974:1;1971;1964:12;1988:117;2097:1;2094;2087:12;2111:126;2148:7;2188:42;2181:5;2177:54;2166:65;;2111:126;;;:::o;2243:96::-;2280:7;2309:24;2327:5;2309:24;:::i;:::-;2298:35;;2243:96;;;:::o;2345:122::-;2418:24;2436:5;2418:24;:::i;:::-;2411:5;2408:35;2398:63;;2457:1;2454;2447:12;2398:63;2345:122;:::o;2473:139::-;2519:5;2557:6;2544:20;2535:29;;2573:33;2600:5;2573:33;:::i;:::-;2473:139;;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::o;3798:474::-;3866:6;3874;3923:2;3911:9;3902:7;3898:23;3894:32;3891:119;;;3929:79;;:::i;:::-;3891:119;4049:1;4074:53;4119:7;4110:6;4099:9;4095:22;4074:53;:::i;:::-;4064:63;;4020:117;4176:2;4202:53;4247:7;4238:6;4227:9;4223:22;4202:53;:::i;:::-;4192:63;;4147:118;3798:474;;;;;:::o;4278:117::-;4387:1;4384;4377:12;4401:180;4449:77;4446:1;4439:88;4546:4;4543:1;4536:15;4570:4;4567:1;4560:15;4587:281;4670:27;4692:4;4670:27;:::i;:::-;4662:6;4658:40;4800:6;4788:10;4785:22;4764:18;4752:10;4749:34;4746:62;4743:88;;;4811:18;;:::i;:::-;4743:88;4851:10;4847:2;4840:22;4630:238;4587:281;;:::o;4874:129::-;4908:6;4935:20;;:::i;:::-;4925:30;;4964:33;4992:4;4984:6;4964:33;:::i;:::-;4874:129;;;:::o;5009:311::-;5086:4;5176:18;5168:6;5165:30;5162:56;;;5198:18;;:::i;:::-;5162:56;5248:4;5240:6;5236:17;5228:25;;5308:4;5302;5298:15;5290:23;;5009:311;;;:::o;5326:117::-;5435:1;5432;5425:12;5466:710;5562:5;5587:81;5603:64;5660:6;5603:64;:::i;:::-;5587:81;:::i;:::-;5578:90;;5688:5;5717:6;5710:5;5703:21;5751:4;5744:5;5740:16;5733:23;;5804:4;5796:6;5792:17;5784:6;5780:30;5833:3;5825:6;5822:15;5819:122;;;5852:79;;:::i;:::-;5819:122;5967:6;5950:220;5984:6;5979:3;5976:15;5950:220;;;6059:3;6088:37;6121:3;6109:10;6088:37;:::i;:::-;6083:3;6076:50;6155:4;6150:3;6146:14;6139:21;;6026:144;6010:4;6005:3;6001:14;5994:21;;5950:220;;;5954:21;5568:608;;5466:710;;;;;:::o;6199:370::-;6270:5;6319:3;6312:4;6304:6;6300:17;6296:27;6286:122;;6327:79;;:::i;:::-;6286:122;6444:6;6431:20;6469:94;6559:3;6551:6;6544:4;6536:6;6532:17;6469:94;:::i;:::-;6460:103;;6276:293;6199:370;;;;:::o;6575:116::-;6645:21;6660:5;6645:21;:::i;:::-;6638:5;6635:32;6625:60;;6681:1;6678;6671:12;6625:60;6575:116;:::o;6697:133::-;6740:5;6778:6;6765:20;6756:29;;6794:30;6818:5;6794:30;:::i;:::-;6697:133;;;;:::o;6836:678::-;6926:6;6934;6983:2;6971:9;6962:7;6958:23;6954:32;6951:119;;;6989:79;;:::i;:::-;6951:119;7137:1;7126:9;7122:17;7109:31;7167:18;7159:6;7156:30;7153:117;;;7189:79;;:::i;:::-;7153:117;7294:78;7364:7;7355:6;7344:9;7340:22;7294:78;:::i;:::-;7284:88;;7080:302;7421:2;7447:50;7489:7;7480:6;7469:9;7465:22;7447:50;:::i;:::-;7437:60;;7392:115;6836:678;;;;;:::o;7520:619::-;7597:6;7605;7613;7662:2;7650:9;7641:7;7637:23;7633:32;7630:119;;;7668:79;;:::i;:::-;7630:119;7788:1;7813:53;7858:7;7849:6;7838:9;7834:22;7813:53;:::i;:::-;7803:63;;7759:117;7915:2;7941:53;7986:7;7977:6;7966:9;7962:22;7941:53;:::i;:::-;7931:63;;7886:118;8043:2;8069:53;8114:7;8105:6;8094:9;8090:22;8069:53;:::i;:::-;8059:63;;8014:118;7520:619;;;;;:::o;8145:329::-;8204:6;8253:2;8241:9;8232:7;8228:23;8224:32;8221:119;;;8259:79;;:::i;:::-;8221:119;8379:1;8404:53;8449:7;8440:6;8429:9;8425:22;8404:53;:::i;:::-;8394:63;;8350:117;8145:329;;;;:::o;8480:86::-;8515:7;8555:4;8548:5;8544:16;8533:27;;8480:86;;;:::o;8572:112::-;8655:22;8671:5;8655:22;:::i;:::-;8650:3;8643:35;8572:112;;:::o;8690:214::-;8779:4;8817:2;8806:9;8802:18;8794:26;;8830:67;8894:1;8883:9;8879:17;8870:6;8830:67;:::i;:::-;8690:214;;;;:::o;8910:323::-;8966:6;9015:2;9003:9;8994:7;8990:23;8986:32;8983:119;;;9021:79;;:::i;:::-;8983:119;9141:1;9166:50;9208:7;9199:6;9188:9;9184:22;9166:50;:::i;:::-;9156:60;;9112:114;8910:323;;;;:::o;9239:118::-;9326:24;9344:5;9326:24;:::i;:::-;9321:3;9314:37;9239:118;;:::o;9363:222::-;9456:4;9494:2;9483:9;9479:18;9471:26;;9507:71;9575:1;9564:9;9560:17;9551:6;9507:71;:::i;:::-;9363:222;;;;:::o;9591:329::-;9650:6;9699:2;9687:9;9678:7;9674:23;9670:32;9667:119;;;9705:79;;:::i;:::-;9667:119;9825:1;9850:53;9895:7;9886:6;9875:9;9871:22;9850:53;:::i;:::-;9840:63;;9796:117;9591:329;;;;:::o;9926:468::-;9991:6;9999;10048:2;10036:9;10027:7;10023:23;10019:32;10016:119;;;10054:79;;:::i;:::-;10016:119;10174:1;10199:53;10244:7;10235:6;10224:9;10220:22;10199:53;:::i;:::-;10189:63;;10145:117;10301:2;10327:50;10369:7;10360:6;10349:9;10345:22;10327:50;:::i;:::-;10317:60;;10272:115;9926:468;;;;;:::o;10400:474::-;10468:6;10476;10525:2;10513:9;10504:7;10500:23;10496:32;10493:119;;;10531:79;;:::i;:::-;10493:119;10651:1;10676:53;10721:7;10712:6;10701:9;10697:22;10676:53;:::i;:::-;10666:63;;10622:117;10778:2;10804:53;10849:7;10840:6;10829:9;10825:22;10804:53;:::i;:::-;10794:63;;10749:118;10400:474;;;;;:::o;10880:60::-;10908:3;10929:5;10922:12;;10880:60;;;:::o;10946:142::-;10996:9;11029:53;11047:34;11056:24;11074:5;11056:24;:::i;:::-;11047:34;:::i;:::-;11029:53;:::i;:::-;11016:66;;10946:142;;;:::o;11094:126::-;11144:9;11177:37;11208:5;11177:37;:::i;:::-;11164:50;;11094:126;;;:::o;11226:144::-;11294:9;11327:37;11358:5;11327:37;:::i;:::-;11314:50;;11226:144;;;:::o;11376:167::-;11481:55;11530:5;11481:55;:::i;:::-;11476:3;11469:68;11376:167;;:::o;11549:258::-;11660:4;11698:2;11687:9;11683:18;11675:26;;11711:89;11797:1;11786:9;11782:17;11773:6;11711:89;:::i;:::-;11549:258;;;;:::o;11813:156::-;11953:8;11949:1;11941:6;11937:14;11930:32;11813:156;:::o;11975:365::-;12117:3;12138:66;12202:1;12197:3;12138:66;:::i;:::-;12131:73;;12213:93;12302:3;12213:93;:::i;:::-;12331:2;12326:3;12322:12;12315:19;;11975:365;;;:::o;12346:419::-;12512:4;12550:2;12539:9;12535:18;12527:26;;12599:9;12593:4;12589:20;12585:1;12574:9;12570:17;12563:47;12627:131;12753:4;12627:131;:::i;:::-;12619:139;;12346:419;;;:::o;12771:179::-;12911:31;12907:1;12899:6;12895:14;12888:55;12771:179;:::o;12956:366::-;13098:3;13119:67;13183:2;13178:3;13119:67;:::i;:::-;13112:74;;13195:93;13284:3;13195:93;:::i;:::-;13313:2;13308:3;13304:12;13297:19;;12956:366;;;:::o;13328:419::-;13494:4;13532:2;13521:9;13517:18;13509:26;;13581:9;13575:4;13571:20;13567:1;13556:9;13552:17;13545:47;13609:131;13735:4;13609:131;:::i;:::-;13601:139;;13328:419;;;:::o;13753:180::-;13801:77;13798:1;13791:88;13898:4;13895:1;13888:15;13922:4;13919:1;13912:15;13939:180;13987:77;13984:1;13977:88;14084:4;14081:1;14074:15;14108:4;14105:1;14098:15;14125:233;14164:3;14187:24;14205:5;14187:24;:::i;:::-;14178:33;;14233:66;14226:5;14223:77;14220:103;;14303:18;;:::i;:::-;14220:103;14350:1;14343:5;14339:13;14332:20;;14125:233;;;:::o;14364:348::-;14404:7;14427:20;14445:1;14427:20;:::i;:::-;14422:25;;14461:20;14479:1;14461:20;:::i;:::-;14456:25;;14649:1;14581:66;14577:74;14574:1;14571:81;14566:1;14559:9;14552:17;14548:105;14545:131;;;14656:18;;:::i;:::-;14545:131;14704:1;14701;14697:9;14686:20;;14364:348;;;;:::o;14718:180::-;14766:77;14763:1;14756:88;14863:4;14860:1;14853:15;14887:4;14884:1;14877:15;14904:185;14944:1;14961:20;14979:1;14961:20;:::i;:::-;14956:25;;14995:20;15013:1;14995:20;:::i;:::-;14990:25;;15034:1;15024:35;;15039:18;;:::i;:::-;15024:35;15081:1;15078;15074:9;15069:14;;14904:185;;;;:::o;15095:194::-;15135:4;15155:20;15173:1;15155:20;:::i;:::-;15150:25;;15189:20;15207:1;15189:20;:::i;:::-;15184:25;;15233:1;15230;15226:9;15218:17;;15257:1;15251:4;15248:11;15245:37;;;15262:18;;:::i;:::-;15245:37;15095:194;;;;:::o;15295:191::-;15335:3;15354:20;15372:1;15354:20;:::i;:::-;15349:25;;15388:20;15406:1;15388:20;:::i;:::-;15383:25;;15431:1;15428;15424:9;15417:16;;15452:3;15449:1;15446:10;15443:36;;;15459:18;;:::i;:::-;15443:36;15295:191;;;;:::o;15492:224::-;15632:34;15628:1;15620:6;15616:14;15609:58;15701:7;15696:2;15688:6;15684:15;15677:32;15492:224;:::o;15722:366::-;15864:3;15885:67;15949:2;15944:3;15885:67;:::i;:::-;15878:74;;15961:93;16050:3;15961:93;:::i;:::-;16079:2;16074:3;16070:12;16063:19;;15722:366;;;:::o;16094:419::-;16260:4;16298:2;16287:9;16283:18;16275:26;;16347:9;16341:4;16337:20;16333:1;16322:9;16318:17;16311:47;16375:131;16501:4;16375:131;:::i;:::-;16367:139;;16094:419;;;:::o;16519:161::-;16659:13;16655:1;16647:6;16643:14;16636:37;16519:161;:::o;16686:366::-;16828:3;16849:67;16913:2;16908:3;16849:67;:::i;:::-;16842:74;;16925:93;17014:3;16925:93;:::i;:::-;17043:2;17038:3;17034:12;17027:19;;16686:366;;;:::o;17058:419::-;17224:4;17262:2;17251:9;17247:18;17239:26;;17311:9;17305:4;17301:20;17297:1;17286:9;17282:17;17275:47;17339:131;17465:4;17339:131;:::i;:::-;17331:139;;17058:419;;;:::o;17483:143::-;17540:5;17571:6;17565:13;17556:22;;17587:33;17614:5;17587:33;:::i;:::-;17483:143;;;;:::o;17632:351::-;17702:6;17751:2;17739:9;17730:7;17726:23;17722:32;17719:119;;;17757:79;;:::i;:::-;17719:119;17877:1;17902:64;17958:7;17949:6;17938:9;17934:22;17902:64;:::i;:::-;17892:74;;17848:128;17632:351;;;;:::o;17989:85::-;18034:7;18063:5;18052:16;;17989:85;;;:::o;18080:158::-;18138:9;18171:61;18189:42;18198:32;18224:5;18198:32;:::i;:::-;18189:42;:::i;:::-;18171:61;:::i;:::-;18158:74;;18080:158;;;:::o;18244:147::-;18339:45;18378:5;18339:45;:::i;:::-;18334:3;18327:58;18244:147;;:::o;18397:114::-;18464:6;18498:5;18492:12;18482:22;;18397:114;;;:::o;18517:184::-;18616:11;18650:6;18645:3;18638:19;18690:4;18685:3;18681:14;18666:29;;18517:184;;;;:::o;18707:132::-;18774:4;18797:3;18789:11;;18827:4;18822:3;18818:14;18810:22;;18707:132;;;:::o;18845:108::-;18922:24;18940:5;18922:24;:::i;:::-;18917:3;18910:37;18845:108;;:::o;18959:179::-;19028:10;19049:46;19091:3;19083:6;19049:46;:::i;:::-;19127:4;19122:3;19118:14;19104:28;;18959:179;;;;:::o;19144:113::-;19214:4;19246;19241:3;19237:14;19229:22;;19144:113;;;:::o;19293:732::-;19412:3;19441:54;19489:5;19441:54;:::i;:::-;19511:86;19590:6;19585:3;19511:86;:::i;:::-;19504:93;;19621:56;19671:5;19621:56;:::i;:::-;19700:7;19731:1;19716:284;19741:6;19738:1;19735:13;19716:284;;;19817:6;19811:13;19844:63;19903:3;19888:13;19844:63;:::i;:::-;19837:70;;19930:60;19983:6;19930:60;:::i;:::-;19920:70;;19776:224;19763:1;19760;19756:9;19751:14;;19716:284;;;19720:14;20016:3;20009:10;;19417:608;;;19293:732;;;;:::o;20031:831::-;20294:4;20332:3;20321:9;20317:19;20309:27;;20346:71;20414:1;20403:9;20399:17;20390:6;20346:71;:::i;:::-;20427:80;20503:2;20492:9;20488:18;20479:6;20427:80;:::i;:::-;20554:9;20548:4;20544:20;20539:2;20528:9;20524:18;20517:48;20582:108;20685:4;20676:6;20582:108;:::i;:::-;20574:116;;20700:72;20768:2;20757:9;20753:18;20744:6;20700:72;:::i;:::-;20782:73;20850:3;20839:9;20835:19;20826:6;20782:73;:::i;:::-;20031:831;;;;;;;;:::o;20868:177::-;21008:29;21004:1;20996:6;20992:14;20985:53;20868:177;:::o;21051:366::-;21193:3;21214:67;21278:2;21273:3;21214:67;:::i;:::-;21207:74;;21290:93;21379:3;21290:93;:::i;:::-;21408:2;21403:3;21399:12;21392:19;;21051:366;;;:::o;21423:419::-;21589:4;21627:2;21616:9;21612:18;21604:26;;21676:9;21670:4;21666:20;21662:1;21651:9;21647:17;21640:47;21704:131;21830:4;21704:131;:::i;:::-;21696:139;;21423:419;;;:::o;21848:220::-;21988:34;21984:1;21976:6;21972:14;21965:58;22057:3;22052:2;22044:6;22040:15;22033:28;21848:220;:::o;22074:366::-;22216:3;22237:67;22301:2;22296:3;22237:67;:::i;:::-;22230:74;;22313:93;22402:3;22313:93;:::i;:::-;22431:2;22426:3;22422:12;22415:19;;22074:366;;;:::o;22446:419::-;22612:4;22650:2;22639:9;22635:18;22627:26;;22699:9;22693:4;22689:20;22685:1;22674:9;22670:17;22663:47;22727:131;22853:4;22727:131;:::i;:::-;22719:139;;22446:419;;;:::o
Swarm Source
ipfs://bb5d265f220698f8ce0f001d9cbdc5bcf91f1131ed7a6ba07cef797ce227daa1
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.