Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 Stadium
Holders
27
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
BetTogetherInu
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-11-18 */ /* Hayya Hayya! Bet Together Inu $Stadium Telegram: https://t.me/bettogetherinu Twitter: https://twitter.com/BetTogetherInu */ // SPDX-License-Identifier: MIT pragma solidity 0.8.17; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } 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; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract BetTogetherInu is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; address payable private _taxWallet; uint256 private _initialTax=4; uint256 private _finalTax=4; uint256 private _reduceTaxAt=20; uint256 private _preventSwapBefore=30; uint256 private _buyCount=0; uint8 private constant _decimals = 8; uint256 private constant _tTotal = 1000000000 * 10**_decimals; string private constant _name = "Bet Together Inu"; string private constant _symbol = "Stadium"; uint256 public _maxTxAmount = 20000000 * 10**_decimals; uint256 public _maxWalletSize = 20000000 * 10**_decimals; uint256 public _taxSwapThreshold=15000000 * 10**_decimals; uint256 public _maxTaxSwap=25000000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(_msgSender()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; if (from != owner() && to != owner()) { require(!bots[from] && !bots[to]); if(!inSwap){ taxAmount = amount.mul((_buyCount>_reduceTaxAt)?_finalTax:_initialTax).div(100); } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); _buyCount++; } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } } function setExcludedFromFee(address adds, bool onoff) external onlyOwner{ _isExcludedFromFee[adds] = onoff; } function min(uint256 a, uint256 b) private view returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function addBots(address[] memory bots_) external onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function delBots(address[] memory notbot) external onlyOwner { for (uint i = 0; i < notbot.length; i++) { bots[notbot[i]] = false; } } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); swapEnabled = true; tradingOpen = true; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function setMaxTxnAmount(uint256 maxTxAmount) external onlyOwner { if(maxTxAmount > _tTotal.mul(1).div(1000)){ _maxTxAmount = maxTxAmount; } } function setMaxWalletSize(uint256 maxWalletSize) external onlyOwner { if(maxWalletSize > _tTotal.mul(1).div(1000)){ _maxWalletSize = maxWalletSize; } } function setMinSwapTokensThreshold(uint256 swapTokensAtAmount, uint256 maxTaxSwap) external { require(_msgSender() == _taxWallet); _taxSwapThreshold = swapTokensAtAmount; _maxTaxSwap = maxTaxSwap; } function setFinalTax(uint256 ftax) external { require(_msgSender() == _taxWallet); if(ftax < 5){ _finalTax = ftax; } } receive() external payable {} function manualSwap() external { require(_msgSender() == _taxWallet); swapTokensForEth(balanceOf(address(this))); } function manualSend() external { require(_msgSender() == _taxWallet); sendETHToFee(address(this).balance); } }
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":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adds","type":"address"},{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"ftax","type":"uint256"}],"name":"setFinalTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"},{"internalType":"uint256","name":"maxTaxSwap","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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
6080604052600460065560046007556014600855601e6009556000600a556008600a6200002d919062000604565b6301312d006200003e919062000655565b600b556008600a62000051919062000604565b6301312d0062000062919062000655565b600c556008600a62000075919062000604565b62e4e1c062000085919062000655565b600d556008600a62000098919062000604565b63017d7840620000a9919062000655565b600e556000601060156101000a81548160ff0219169083151502179055506000601060166101000a81548160ff021916908315150217905550348015620000ef57600080fd5b506000620001026200043960201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001b06200043960201b60201c565b600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506008600a62000200919062000604565b633b9aca0062000211919062000655565b60016000620002256200043960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620002796200044160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003ac6200043960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008600a6200040b919062000604565b633b9aca006200041c919062000655565b6040516200042b9190620006b1565b60405180910390a3620006ce565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620004f857808604811115620004d057620004cf6200046a565b5b6001851615620004e05780820291505b8081029050620004f08562000499565b9450620004b0565b94509492505050565b600082620005135760019050620005e6565b81620005235760009050620005e6565b81600181146200053c576002811462000547576200057d565b6001915050620005e6565b60ff8411156200055c576200055b6200046a565b5b8360020a9150848211156200057657620005756200046a565b5b50620005e6565b5060208310610133831016604e8410600b8410161715620005b75782820a905083811115620005b157620005b06200046a565b5b620005e6565b620005c68484846001620004a6565b92509050818404811115620005e057620005df6200046a565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200061182620005ed565b91506200061e83620005f7565b92506200064d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000501565b905092915050565b60006200066282620005ed565b91506200066f83620005ed565b92508282026200067f81620005ed565b915082820484148315176200069957620006986200046a565b5b5092915050565b620006ab81620005ed565b82525050565b6000602082019050620006c86000830184620006a0565b92915050565b6137d980620006de6000396000f3fe6080604052600436106101855760003560e01c806374010ece116100d1578063a9059cbb1161008a578063d34628cc11610064578063d34628cc14610531578063dd62ed3e1461055a578063ea1644d514610597578063f4293890146105c05761018c565b8063a9059cbb146104b2578063bf474bed146104ef578063c9567bf91461051a5761018c565b806374010ece146103c6578063751039fc146103ef5780637d1db4a5146104065780638da5cb5b146104315780638f9a55c01461045c57806395d89b41146104875761018c565b80632b64a0aa1161013e57806351bc3c851161011857806351bc3c85146103325780636612e66f1461034957806370a0823114610372578063715018a6146103af5761018c565b80632b64a0aa146102b5578063313ce567146102de57806331c2d847146103095761018c565b806306fdde0314610191578063095ea7b3146101bc5780630faee56f146101f957806312e808011461022457806318160ddd1461024d57806323b872dd146102785761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a66105d7565b6040516101b391906126d4565b60405180910390f35b3480156101c857600080fd5b506101e360048036038101906101de919061279e565b610614565b6040516101f091906127f9565b60405180910390f35b34801561020557600080fd5b5061020e610632565b60405161021b9190612823565b60405180910390f35b34801561023057600080fd5b5061024b6004803603810190610246919061283e565b610638565b005b34801561025957600080fd5b506102626106ab565b60405161026f9190612823565b60405180910390f35b34801561028457600080fd5b5061029f600480360381019061029a919061287e565b6106cf565b6040516102ac91906127f9565b60405180910390f35b3480156102c157600080fd5b506102dc60048036038101906102d791906128d1565b6107a8565b005b3480156102ea57600080fd5b506102f361081d565b604051610300919061291a565b60405180910390f35b34801561031557600080fd5b50610330600480360381019061032b9190612a7d565b610826565b005b34801561033e57600080fd5b50610347610950565b005b34801561035557600080fd5b50610370600480360381019061036b9190612af2565b6109c4565b005b34801561037e57600080fd5b5061039960048036038101906103949190612b32565b610ab4565b6040516103a69190612823565b60405180910390f35b3480156103bb57600080fd5b506103c4610afd565b005b3480156103d257600080fd5b506103ed60048036038101906103e891906128d1565b610c50565b005b3480156103fb57600080fd5b50610404610d3b565b005b34801561041257600080fd5b5061041b610e6b565b6040516104289190612823565b60405180910390f35b34801561043d57600080fd5b50610446610e71565b6040516104539190612b6e565b60405180910390f35b34801561046857600080fd5b50610471610e9a565b60405161047e9190612823565b60405180910390f35b34801561049357600080fd5b5061049c610ea0565b6040516104a991906126d4565b60405180910390f35b3480156104be57600080fd5b506104d960048036038101906104d4919061279e565b610edd565b6040516104e691906127f9565b60405180910390f35b3480156104fb57600080fd5b50610504610efb565b6040516105119190612823565b60405180910390f35b34801561052657600080fd5b5061052f610f01565b005b34801561053d57600080fd5b5061055860048036038101906105539190612a7d565b611439565b005b34801561056657600080fd5b50610581600480360381019061057c9190612b89565b611563565b60405161058e9190612823565b60405180910390f35b3480156105a357600080fd5b506105be60048036038101906105b991906128d1565b6115ea565b005b3480156105cc57600080fd5b506105d56116d5565b005b60606040518060400160405280601081526020017f42657420546f67657468657220496e7500000000000000000000000000000000815250905090565b6000610628610621611741565b8484611749565b6001905092915050565b600e5481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610679611741565b73ffffffffffffffffffffffffffffffffffffffff161461069957600080fd5b81600d8190555080600e819055505050565b60006008600a6106bb9190612d2b565b633b9aca006106ca9190612d76565b905090565b60006106dc848484611912565b61079d846106e8611741565b6107988560405180606001604052806028815260200161377c60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061074e611741565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121139092919063ffffffff16565b611749565b600190509392505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107e9611741565b73ffffffffffffffffffffffffffffffffffffffff161461080957600080fd5b600581101561081a57806007819055505b50565b60006008905090565b61082e611741565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b290612e04565b60405180910390fd5b60005b815181101561094c576000600460008484815181106108e0576108df612e24565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061094490612e53565b9150506108be565b5050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610991611741565b73ffffffffffffffffffffffffffffffffffffffff16146109b157600080fd5b6109c26109bd30610ab4565b612177565b565b6109cc611741565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5090612e04565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b05611741565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8990612e04565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610c58611741565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ce5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdc90612e04565b60405180910390fd5b610d296103e8610d1b60016008600a610cfe9190612d2b565b633b9aca00610d0d9190612d76565b6123f090919063ffffffff16565b61246a90919063ffffffff16565b811115610d385780600b819055505b50565b610d43611741565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc790612e04565b60405180910390fd5b6008600a610dde9190612d2b565b633b9aca00610ded9190612d76565b600b819055506008600a610e019190612d2b565b633b9aca00610e109190612d76565b600c819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a610e459190612d2b565b633b9aca00610e549190612d76565b604051610e619190612823565b60405180910390a1565b600b5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600c5481565b60606040518060400160405280600781526020017f5374616469756d00000000000000000000000000000000000000000000000000815250905090565b6000610ef1610eea611741565b8484611912565b6001905092915050565b600d5481565b610f09611741565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8d90612e04565b60405180910390fd5b601060149054906101000a900460ff1615610fe6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fdd90612ee7565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061108430600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a6110709190612d2b565b633b9aca0061107f9190612d76565b611749565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111159190612f1c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561119e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c29190612f1c565b6040518363ffffffff1660e01b81526004016111df929190612f49565b6020604051808303816000875af11580156111fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112229190612f1c565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306112ab30610ab4565b6000806112b6610e71565b426040518863ffffffff1660e01b81526004016112d896959493929190612fb7565b60606040518083038185885af11580156112f6573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061131b919061302d565b5050506001601060166101000a81548160ff0219169083151502179055506001601060146101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016113f3929190613080565b6020604051808303816000875af1158015611412573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143691906130be565b50565b611441611741565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c590612e04565b60405180910390fd5b60005b815181101561155f576001600460008484815181106114f3576114f2612e24565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061155790612e53565b9150506114d1565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6115f2611741565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461167f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167690612e04565b60405180910390fd5b6116c36103e86116b560016008600a6116989190612d2b565b633b9aca006116a79190612d76565b6123f090919063ffffffff16565b61246a90919063ffffffff16565b8111156116d25780600c819055505b50565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611716611741565b73ffffffffffffffffffffffffffffffffffffffff161461173657600080fd5b61173f476124b4565b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117af9061315d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611827576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181e906131ef565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119059190612823565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611981576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197890613281565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e790613313565b60405180910390fd5b60008111611a33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2a906133a5565b60405180910390fd5b6000611a3d610e71565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611aab5750611a7b610e71565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611e5657600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611b545750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611b5d57600080fd5b601060159054906101000a900460ff16611bb057611bad6064611b9f600854600a5411611b8c57600654611b90565b6007545b856123f090919063ffffffff16565b61246a90919063ffffffff16565b90505b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c5b5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611cb15750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d6c57600b54821115611cfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf290613411565b60405180910390fd5b600c5482611d0885610ab4565b611d129190613431565b1115611d53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4a906134b1565b60405180910390fd5b600a6000815480929190611d6690612e53565b91905055505b6000611d7730610ab4565b9050601060159054906101000a900460ff16158015611de45750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611dfc5750601060169054906101000a900460ff165b8015611e095750600d5481115b8015611e185750600954600a54115b15611e5457611e3a611e3584611e3084600e54612520565b612520565b612177565b60004790506000811115611e5257611e51476124b4565b5b505b505b611ea882600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461253990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f4f611f01828461253990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461258390919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611ff4848661253990919063ffffffff16565b6040516120019190612823565b60405180910390a3600081111561210d5761206481600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461258390919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121049190612823565b60405180910390a35b50505050565b600083831115829061215b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215291906126d4565b60405180910390fd5b506000838561216a91906134d1565b9050809150509392505050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156121af576121ae61293a565b5b6040519080825280602002602001820160405280156121dd5781602001602082028036833780820191505090505b50905030816000815181106121f5576121f4612e24565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561229c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122c09190612f1c565b816001815181106122d4576122d3612e24565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061233b30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611749565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161239f9594939291906135c3565b600060405180830381600087803b1580156123b957600080fd5b505af11580156123cd573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b60008083036124025760009050612464565b600082846124109190612d76565b905082848261241f919061364c565b1461245f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612456906136ef565b60405180910390fd5b809150505b92915050565b60006124ac83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506125e1565b905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561251c573d6000803e3d6000fd5b5050565b600081831161252f5782612531565b815b905092915050565b600061257b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612113565b905092915050565b60008082846125929190613431565b9050838110156125d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ce9061375b565b60405180910390fd5b8091505092915050565b60008083118290612628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161261f91906126d4565b60405180910390fd5b5060008385612637919061364c565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561267e578082015181840152602081019050612663565b60008484015250505050565b6000601f19601f8301169050919050565b60006126a682612644565b6126b0818561264f565b93506126c0818560208601612660565b6126c98161268a565b840191505092915050565b600060208201905081810360008301526126ee818461269b565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006127358261270a565b9050919050565b6127458161272a565b811461275057600080fd5b50565b6000813590506127628161273c565b92915050565b6000819050919050565b61277b81612768565b811461278657600080fd5b50565b60008135905061279881612772565b92915050565b600080604083850312156127b5576127b4612700565b5b60006127c385828601612753565b92505060206127d485828601612789565b9150509250929050565b60008115159050919050565b6127f3816127de565b82525050565b600060208201905061280e60008301846127ea565b92915050565b61281d81612768565b82525050565b60006020820190506128386000830184612814565b92915050565b6000806040838503121561285557612854612700565b5b600061286385828601612789565b925050602061287485828601612789565b9150509250929050565b60008060006060848603121561289757612896612700565b5b60006128a586828701612753565b93505060206128b686828701612753565b92505060406128c786828701612789565b9150509250925092565b6000602082840312156128e7576128e6612700565b5b60006128f584828501612789565b91505092915050565b600060ff82169050919050565b612914816128fe565b82525050565b600060208201905061292f600083018461290b565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6129728261268a565b810181811067ffffffffffffffff821117156129915761299061293a565b5b80604052505050565b60006129a46126f6565b90506129b08282612969565b919050565b600067ffffffffffffffff8211156129d0576129cf61293a565b5b602082029050602081019050919050565b600080fd5b60006129f96129f4846129b5565b61299a565b90508083825260208201905060208402830185811115612a1c57612a1b6129e1565b5b835b81811015612a455780612a318882612753565b845260208401935050602081019050612a1e565b5050509392505050565b600082601f830112612a6457612a63612935565b5b8135612a748482602086016129e6565b91505092915050565b600060208284031215612a9357612a92612700565b5b600082013567ffffffffffffffff811115612ab157612ab0612705565b5b612abd84828501612a4f565b91505092915050565b612acf816127de565b8114612ada57600080fd5b50565b600081359050612aec81612ac6565b92915050565b60008060408385031215612b0957612b08612700565b5b6000612b1785828601612753565b9250506020612b2885828601612add565b9150509250929050565b600060208284031215612b4857612b47612700565b5b6000612b5684828501612753565b91505092915050565b612b688161272a565b82525050565b6000602082019050612b836000830184612b5f565b92915050565b60008060408385031215612ba057612b9f612700565b5b6000612bae85828601612753565b9250506020612bbf85828601612753565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612c4f57808604811115612c2b57612c2a612bc9565b5b6001851615612c3a5780820291505b8081029050612c4885612bf8565b9450612c0f565b94509492505050565b600082612c685760019050612d24565b81612c765760009050612d24565b8160018114612c8c5760028114612c9657612cc5565b6001915050612d24565b60ff841115612ca857612ca7612bc9565b5b8360020a915084821115612cbf57612cbe612bc9565b5b50612d24565b5060208310610133831016604e8410600b8410161715612cfa5782820a905083811115612cf557612cf4612bc9565b5b612d24565b612d078484846001612c05565b92509050818404811115612d1e57612d1d612bc9565b5b81810290505b9392505050565b6000612d3682612768565b9150612d41836128fe565b9250612d6e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612c58565b905092915050565b6000612d8182612768565b9150612d8c83612768565b9250828202612d9a81612768565b91508282048414831517612db157612db0612bc9565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612dee60208361264f565b9150612df982612db8565b602082019050919050565b60006020820190508181036000830152612e1d81612de1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612e5e82612768565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612e9057612e8f612bc9565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612ed160178361264f565b9150612edc82612e9b565b602082019050919050565b60006020820190508181036000830152612f0081612ec4565b9050919050565b600081519050612f168161273c565b92915050565b600060208284031215612f3257612f31612700565b5b6000612f4084828501612f07565b91505092915050565b6000604082019050612f5e6000830185612b5f565b612f6b6020830184612b5f565b9392505050565b6000819050919050565b6000819050919050565b6000612fa1612f9c612f9784612f72565b612f7c565b612768565b9050919050565b612fb181612f86565b82525050565b600060c082019050612fcc6000830189612b5f565b612fd96020830188612814565b612fe66040830187612fa8565b612ff36060830186612fa8565b6130006080830185612b5f565b61300d60a0830184612814565b979650505050505050565b60008151905061302781612772565b92915050565b60008060006060848603121561304657613045612700565b5b600061305486828701613018565b935050602061306586828701613018565b925050604061307686828701613018565b9150509250925092565b60006040820190506130956000830185612b5f565b6130a26020830184612814565b9392505050565b6000815190506130b881612ac6565b92915050565b6000602082840312156130d4576130d3612700565b5b60006130e2848285016130a9565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061314760248361264f565b9150613152826130eb565b604082019050919050565b600060208201905081810360008301526131768161313a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006131d960228361264f565b91506131e48261317d565b604082019050919050565b60006020820190508181036000830152613208816131cc565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061326b60258361264f565b91506132768261320f565b604082019050919050565b6000602082019050818103600083015261329a8161325e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006132fd60238361264f565b9150613308826132a1565b604082019050919050565b6000602082019050818103600083015261332c816132f0565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061338f60298361264f565b915061339a82613333565b604082019050919050565b600060208201905081810360008301526133be81613382565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006133fb60198361264f565b9150613406826133c5565b602082019050919050565b6000602082019050818103600083015261342a816133ee565b9050919050565b600061343c82612768565b915061344783612768565b925082820190508082111561345f5761345e612bc9565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b600061349b601a8361264f565b91506134a682613465565b602082019050919050565b600060208201905081810360008301526134ca8161348e565b9050919050565b60006134dc82612768565b91506134e783612768565b92508282039050818111156134ff576134fe612bc9565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61353a8161272a565b82525050565b600061354c8383613531565b60208301905092915050565b6000602082019050919050565b600061357082613505565b61357a8185613510565b935061358583613521565b8060005b838110156135b657815161359d8882613540565b97506135a883613558565b925050600181019050613589565b5085935050505092915050565b600060a0820190506135d86000830188612814565b6135e56020830187612fa8565b81810360408301526135f78186613565565b90506136066060830185612b5f565b6136136080830184612814565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061365782612768565b915061366283612768565b9250826136725761367161361d565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006136d960218361264f565b91506136e48261367d565b604082019050919050565b60006020820190508181036000830152613708816136cc565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613745601b8361264f565b91506137508261370f565b602082019050919050565b6000602082019050818103600083015261377481613738565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122090d5c2a11f589d684050185f28c71ee756fc5d5a5e3ddd5fed95b0aafb6ecaeb64736f6c63430008110033
Deployed Bytecode
0x6080604052600436106101855760003560e01c806374010ece116100d1578063a9059cbb1161008a578063d34628cc11610064578063d34628cc14610531578063dd62ed3e1461055a578063ea1644d514610597578063f4293890146105c05761018c565b8063a9059cbb146104b2578063bf474bed146104ef578063c9567bf91461051a5761018c565b806374010ece146103c6578063751039fc146103ef5780637d1db4a5146104065780638da5cb5b146104315780638f9a55c01461045c57806395d89b41146104875761018c565b80632b64a0aa1161013e57806351bc3c851161011857806351bc3c85146103325780636612e66f1461034957806370a0823114610372578063715018a6146103af5761018c565b80632b64a0aa146102b5578063313ce567146102de57806331c2d847146103095761018c565b806306fdde0314610191578063095ea7b3146101bc5780630faee56f146101f957806312e808011461022457806318160ddd1461024d57806323b872dd146102785761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a66105d7565b6040516101b391906126d4565b60405180910390f35b3480156101c857600080fd5b506101e360048036038101906101de919061279e565b610614565b6040516101f091906127f9565b60405180910390f35b34801561020557600080fd5b5061020e610632565b60405161021b9190612823565b60405180910390f35b34801561023057600080fd5b5061024b6004803603810190610246919061283e565b610638565b005b34801561025957600080fd5b506102626106ab565b60405161026f9190612823565b60405180910390f35b34801561028457600080fd5b5061029f600480360381019061029a919061287e565b6106cf565b6040516102ac91906127f9565b60405180910390f35b3480156102c157600080fd5b506102dc60048036038101906102d791906128d1565b6107a8565b005b3480156102ea57600080fd5b506102f361081d565b604051610300919061291a565b60405180910390f35b34801561031557600080fd5b50610330600480360381019061032b9190612a7d565b610826565b005b34801561033e57600080fd5b50610347610950565b005b34801561035557600080fd5b50610370600480360381019061036b9190612af2565b6109c4565b005b34801561037e57600080fd5b5061039960048036038101906103949190612b32565b610ab4565b6040516103a69190612823565b60405180910390f35b3480156103bb57600080fd5b506103c4610afd565b005b3480156103d257600080fd5b506103ed60048036038101906103e891906128d1565b610c50565b005b3480156103fb57600080fd5b50610404610d3b565b005b34801561041257600080fd5b5061041b610e6b565b6040516104289190612823565b60405180910390f35b34801561043d57600080fd5b50610446610e71565b6040516104539190612b6e565b60405180910390f35b34801561046857600080fd5b50610471610e9a565b60405161047e9190612823565b60405180910390f35b34801561049357600080fd5b5061049c610ea0565b6040516104a991906126d4565b60405180910390f35b3480156104be57600080fd5b506104d960048036038101906104d4919061279e565b610edd565b6040516104e691906127f9565b60405180910390f35b3480156104fb57600080fd5b50610504610efb565b6040516105119190612823565b60405180910390f35b34801561052657600080fd5b5061052f610f01565b005b34801561053d57600080fd5b5061055860048036038101906105539190612a7d565b611439565b005b34801561056657600080fd5b50610581600480360381019061057c9190612b89565b611563565b60405161058e9190612823565b60405180910390f35b3480156105a357600080fd5b506105be60048036038101906105b991906128d1565b6115ea565b005b3480156105cc57600080fd5b506105d56116d5565b005b60606040518060400160405280601081526020017f42657420546f67657468657220496e7500000000000000000000000000000000815250905090565b6000610628610621611741565b8484611749565b6001905092915050565b600e5481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610679611741565b73ffffffffffffffffffffffffffffffffffffffff161461069957600080fd5b81600d8190555080600e819055505050565b60006008600a6106bb9190612d2b565b633b9aca006106ca9190612d76565b905090565b60006106dc848484611912565b61079d846106e8611741565b6107988560405180606001604052806028815260200161377c60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061074e611741565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121139092919063ffffffff16565b611749565b600190509392505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107e9611741565b73ffffffffffffffffffffffffffffffffffffffff161461080957600080fd5b600581101561081a57806007819055505b50565b60006008905090565b61082e611741565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b290612e04565b60405180910390fd5b60005b815181101561094c576000600460008484815181106108e0576108df612e24565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061094490612e53565b9150506108be565b5050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610991611741565b73ffffffffffffffffffffffffffffffffffffffff16146109b157600080fd5b6109c26109bd30610ab4565b612177565b565b6109cc611741565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5090612e04565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b05611741565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8990612e04565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610c58611741565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ce5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdc90612e04565b60405180910390fd5b610d296103e8610d1b60016008600a610cfe9190612d2b565b633b9aca00610d0d9190612d76565b6123f090919063ffffffff16565b61246a90919063ffffffff16565b811115610d385780600b819055505b50565b610d43611741565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc790612e04565b60405180910390fd5b6008600a610dde9190612d2b565b633b9aca00610ded9190612d76565b600b819055506008600a610e019190612d2b565b633b9aca00610e109190612d76565b600c819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a610e459190612d2b565b633b9aca00610e549190612d76565b604051610e619190612823565b60405180910390a1565b600b5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600c5481565b60606040518060400160405280600781526020017f5374616469756d00000000000000000000000000000000000000000000000000815250905090565b6000610ef1610eea611741565b8484611912565b6001905092915050565b600d5481565b610f09611741565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8d90612e04565b60405180910390fd5b601060149054906101000a900460ff1615610fe6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fdd90612ee7565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061108430600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a6110709190612d2b565b633b9aca0061107f9190612d76565b611749565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111159190612f1c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561119e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c29190612f1c565b6040518363ffffffff1660e01b81526004016111df929190612f49565b6020604051808303816000875af11580156111fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112229190612f1c565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306112ab30610ab4565b6000806112b6610e71565b426040518863ffffffff1660e01b81526004016112d896959493929190612fb7565b60606040518083038185885af11580156112f6573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061131b919061302d565b5050506001601060166101000a81548160ff0219169083151502179055506001601060146101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016113f3929190613080565b6020604051808303816000875af1158015611412573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143691906130be565b50565b611441611741565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c590612e04565b60405180910390fd5b60005b815181101561155f576001600460008484815181106114f3576114f2612e24565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061155790612e53565b9150506114d1565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6115f2611741565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461167f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167690612e04565b60405180910390fd5b6116c36103e86116b560016008600a6116989190612d2b565b633b9aca006116a79190612d76565b6123f090919063ffffffff16565b61246a90919063ffffffff16565b8111156116d25780600c819055505b50565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611716611741565b73ffffffffffffffffffffffffffffffffffffffff161461173657600080fd5b61173f476124b4565b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117af9061315d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611827576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181e906131ef565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119059190612823565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611981576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197890613281565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e790613313565b60405180910390fd5b60008111611a33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2a906133a5565b60405180910390fd5b6000611a3d610e71565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611aab5750611a7b610e71565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611e5657600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611b545750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611b5d57600080fd5b601060159054906101000a900460ff16611bb057611bad6064611b9f600854600a5411611b8c57600654611b90565b6007545b856123f090919063ffffffff16565b61246a90919063ffffffff16565b90505b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c5b5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611cb15750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d6c57600b54821115611cfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf290613411565b60405180910390fd5b600c5482611d0885610ab4565b611d129190613431565b1115611d53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4a906134b1565b60405180910390fd5b600a6000815480929190611d6690612e53565b91905055505b6000611d7730610ab4565b9050601060159054906101000a900460ff16158015611de45750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611dfc5750601060169054906101000a900460ff165b8015611e095750600d5481115b8015611e185750600954600a54115b15611e5457611e3a611e3584611e3084600e54612520565b612520565b612177565b60004790506000811115611e5257611e51476124b4565b5b505b505b611ea882600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461253990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f4f611f01828461253990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461258390919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611ff4848661253990919063ffffffff16565b6040516120019190612823565b60405180910390a3600081111561210d5761206481600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461258390919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121049190612823565b60405180910390a35b50505050565b600083831115829061215b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215291906126d4565b60405180910390fd5b506000838561216a91906134d1565b9050809150509392505050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156121af576121ae61293a565b5b6040519080825280602002602001820160405280156121dd5781602001602082028036833780820191505090505b50905030816000815181106121f5576121f4612e24565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561229c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122c09190612f1c565b816001815181106122d4576122d3612e24565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061233b30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611749565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161239f9594939291906135c3565b600060405180830381600087803b1580156123b957600080fd5b505af11580156123cd573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b60008083036124025760009050612464565b600082846124109190612d76565b905082848261241f919061364c565b1461245f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612456906136ef565b60405180910390fd5b809150505b92915050565b60006124ac83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506125e1565b905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561251c573d6000803e3d6000fd5b5050565b600081831161252f5782612531565b815b905092915050565b600061257b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612113565b905092915050565b60008082846125929190613431565b9050838110156125d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ce9061375b565b60405180910390fd5b8091505092915050565b60008083118290612628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161261f91906126d4565b60405180910390fd5b5060008385612637919061364c565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561267e578082015181840152602081019050612663565b60008484015250505050565b6000601f19601f8301169050919050565b60006126a682612644565b6126b0818561264f565b93506126c0818560208601612660565b6126c98161268a565b840191505092915050565b600060208201905081810360008301526126ee818461269b565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006127358261270a565b9050919050565b6127458161272a565b811461275057600080fd5b50565b6000813590506127628161273c565b92915050565b6000819050919050565b61277b81612768565b811461278657600080fd5b50565b60008135905061279881612772565b92915050565b600080604083850312156127b5576127b4612700565b5b60006127c385828601612753565b92505060206127d485828601612789565b9150509250929050565b60008115159050919050565b6127f3816127de565b82525050565b600060208201905061280e60008301846127ea565b92915050565b61281d81612768565b82525050565b60006020820190506128386000830184612814565b92915050565b6000806040838503121561285557612854612700565b5b600061286385828601612789565b925050602061287485828601612789565b9150509250929050565b60008060006060848603121561289757612896612700565b5b60006128a586828701612753565b93505060206128b686828701612753565b92505060406128c786828701612789565b9150509250925092565b6000602082840312156128e7576128e6612700565b5b60006128f584828501612789565b91505092915050565b600060ff82169050919050565b612914816128fe565b82525050565b600060208201905061292f600083018461290b565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6129728261268a565b810181811067ffffffffffffffff821117156129915761299061293a565b5b80604052505050565b60006129a46126f6565b90506129b08282612969565b919050565b600067ffffffffffffffff8211156129d0576129cf61293a565b5b602082029050602081019050919050565b600080fd5b60006129f96129f4846129b5565b61299a565b90508083825260208201905060208402830185811115612a1c57612a1b6129e1565b5b835b81811015612a455780612a318882612753565b845260208401935050602081019050612a1e565b5050509392505050565b600082601f830112612a6457612a63612935565b5b8135612a748482602086016129e6565b91505092915050565b600060208284031215612a9357612a92612700565b5b600082013567ffffffffffffffff811115612ab157612ab0612705565b5b612abd84828501612a4f565b91505092915050565b612acf816127de565b8114612ada57600080fd5b50565b600081359050612aec81612ac6565b92915050565b60008060408385031215612b0957612b08612700565b5b6000612b1785828601612753565b9250506020612b2885828601612add565b9150509250929050565b600060208284031215612b4857612b47612700565b5b6000612b5684828501612753565b91505092915050565b612b688161272a565b82525050565b6000602082019050612b836000830184612b5f565b92915050565b60008060408385031215612ba057612b9f612700565b5b6000612bae85828601612753565b9250506020612bbf85828601612753565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612c4f57808604811115612c2b57612c2a612bc9565b5b6001851615612c3a5780820291505b8081029050612c4885612bf8565b9450612c0f565b94509492505050565b600082612c685760019050612d24565b81612c765760009050612d24565b8160018114612c8c5760028114612c9657612cc5565b6001915050612d24565b60ff841115612ca857612ca7612bc9565b5b8360020a915084821115612cbf57612cbe612bc9565b5b50612d24565b5060208310610133831016604e8410600b8410161715612cfa5782820a905083811115612cf557612cf4612bc9565b5b612d24565b612d078484846001612c05565b92509050818404811115612d1e57612d1d612bc9565b5b81810290505b9392505050565b6000612d3682612768565b9150612d41836128fe565b9250612d6e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612c58565b905092915050565b6000612d8182612768565b9150612d8c83612768565b9250828202612d9a81612768565b91508282048414831517612db157612db0612bc9565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612dee60208361264f565b9150612df982612db8565b602082019050919050565b60006020820190508181036000830152612e1d81612de1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612e5e82612768565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612e9057612e8f612bc9565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612ed160178361264f565b9150612edc82612e9b565b602082019050919050565b60006020820190508181036000830152612f0081612ec4565b9050919050565b600081519050612f168161273c565b92915050565b600060208284031215612f3257612f31612700565b5b6000612f4084828501612f07565b91505092915050565b6000604082019050612f5e6000830185612b5f565b612f6b6020830184612b5f565b9392505050565b6000819050919050565b6000819050919050565b6000612fa1612f9c612f9784612f72565b612f7c565b612768565b9050919050565b612fb181612f86565b82525050565b600060c082019050612fcc6000830189612b5f565b612fd96020830188612814565b612fe66040830187612fa8565b612ff36060830186612fa8565b6130006080830185612b5f565b61300d60a0830184612814565b979650505050505050565b60008151905061302781612772565b92915050565b60008060006060848603121561304657613045612700565b5b600061305486828701613018565b935050602061306586828701613018565b925050604061307686828701613018565b9150509250925092565b60006040820190506130956000830185612b5f565b6130a26020830184612814565b9392505050565b6000815190506130b881612ac6565b92915050565b6000602082840312156130d4576130d3612700565b5b60006130e2848285016130a9565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061314760248361264f565b9150613152826130eb565b604082019050919050565b600060208201905081810360008301526131768161313a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006131d960228361264f565b91506131e48261317d565b604082019050919050565b60006020820190508181036000830152613208816131cc565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061326b60258361264f565b91506132768261320f565b604082019050919050565b6000602082019050818103600083015261329a8161325e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006132fd60238361264f565b9150613308826132a1565b604082019050919050565b6000602082019050818103600083015261332c816132f0565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061338f60298361264f565b915061339a82613333565b604082019050919050565b600060208201905081810360008301526133be81613382565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006133fb60198361264f565b9150613406826133c5565b602082019050919050565b6000602082019050818103600083015261342a816133ee565b9050919050565b600061343c82612768565b915061344783612768565b925082820190508082111561345f5761345e612bc9565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b600061349b601a8361264f565b91506134a682613465565b602082019050919050565b600060208201905081810360008301526134ca8161348e565b9050919050565b60006134dc82612768565b91506134e783612768565b92508282039050818111156134ff576134fe612bc9565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61353a8161272a565b82525050565b600061354c8383613531565b60208301905092915050565b6000602082019050919050565b600061357082613505565b61357a8185613510565b935061358583613521565b8060005b838110156135b657815161359d8882613540565b97506135a883613558565b925050600181019050613589565b5085935050505092915050565b600060a0820190506135d86000830188612814565b6135e56020830187612fa8565b81810360408301526135f78186613565565b90506136066060830185612b5f565b6136136080830184612814565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061365782612768565b915061366283612768565b9250826136725761367161361d565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006136d960218361264f565b91506136e48261367d565b604082019050919050565b60006020820190508181036000830152613708816136cc565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613745601b8361264f565b91506137508261370f565b602082019050919050565b6000602082019050818103600083015261377481613738565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122090d5c2a11f589d684050185f28c71ee756fc5d5a5e3ddd5fed95b0aafb6ecaeb64736f6c63430008110033
Deployed Bytecode Sourcemap
3609:8246:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5297:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6130:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4573:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11133:230;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5574:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6299:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11371:159;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5483:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9906:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11575:138;;;;;;;;;;;;;:::i;:::-;;8737:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5677:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2690:148;;;;;;;;;;;;;:::i;:::-;;10757:174;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9465:159;;;;;;;;;;;;;:::i;:::-;;4383:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2476:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4446:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5388:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5804:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4509:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10078:671;;;;;;;;;;;;;:::i;:::-;;9732:166;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5979:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10940:183;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11721:131;;;;;;;;;;;;;:::i;:::-;;5297:83;5334:13;5367:5;;;;;;;;;;;;;;;;;5360:12;;5297:83;:::o;6130:161::-;6205:4;6222:39;6231:12;:10;:12::i;:::-;6245:7;6254:6;6222:8;:39::i;:::-;6279:4;6272:11;;6130:161;;;;:::o;4573:51::-;;;;:::o;11133:230::-;11260:10;;;;;;;;;;;11244:26;;:12;:10;:12::i;:::-;:26;;;11236:35;;;;;;11302:18;11282:17;:38;;;;11345:10;11331:11;:24;;;;11133:230;;:::o;5574:95::-;5627:7;4200:1;4256:2;:13;;;;:::i;:::-;4243:10;:26;;;;:::i;:::-;5647:14;;5574:95;:::o;6299:313::-;6397:4;6414:36;6424:6;6432:9;6443:6;6414:9;:36::i;:::-;6461:121;6470:6;6478:12;:10;:12::i;:::-;6492:89;6530:6;6492:89;;;;;;;;;;;;;;;;;:11;:19;6504:6;6492:19;;;;;;;;;;;;;;;:33;6512:12;:10;:12::i;:::-;6492:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6461:8;:121::i;:::-;6600:4;6593:11;;6299:313;;;;;:::o;11371:159::-;11450:10;;;;;;;;;;;11434:26;;:12;:10;:12::i;:::-;:26;;;11426:35;;;;;;11482:1;11475:4;:8;11472:51;;;11507:4;11495:9;:16;;;;11472:51;11371:159;:::o;5483:83::-;5524:5;4200:1;5542:16;;5483:83;:::o;9906:164::-;2613:12;:10;:12::i;:::-;2603:22;;:6;;;;;;;;;;:22;;;2595:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9981:6:::1;9976:87;9997:6;:13;9993:1;:17;9976:87;;;10048:5;10030:4;:15;10035:6;10042:1;10035:9;;;;;;;;:::i;:::-;;;;;;;;10030:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;10012:3;;;;;:::i;:::-;;;;9976:87;;;;9906:164:::0;:::o;11575:138::-;11641:10;;;;;;;;;;;11625:26;;:12;:10;:12::i;:::-;:26;;;11617:35;;;;;;11663:42;11680:24;11698:4;11680:9;:24::i;:::-;11663:16;:42::i;:::-;11575:138::o;8737:123::-;2613:12;:10;:12::i;:::-;2603:22;;:6;;;;;;;;;;:22;;;2595:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8847:5:::1;8820:18;:24;8839:4;8820:24;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;8737:123:::0;;:::o;5677:119::-;5743:7;5770:9;:18;5780:7;5770:18;;;;;;;;;;;;;;;;5763:25;;5677:119;;;:::o;2690:148::-;2613:12;:10;:12::i;:::-;2603:22;;:6;;;;;;;;;;:22;;;2595:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2797:1:::1;2760:40;;2781:6;::::0;::::1;;;;;;;;2760:40;;;;;;;;;;;;2828:1;2811:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2690:148::o:0;10757:174::-;2613:12;:10;:12::i;:::-;2603:22;;:6;;;;;;;;;;:22;;;2595:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10850:24:::1;10869:4;10850:14;10862:1;4200;4256:2;:13;;;;:::i;:::-;4243:10;:26;;;;:::i;:::-;10850:11;;:14;;;;:::i;:::-;:18;;:24;;;;:::i;:::-;10836:11;:38;10833:91;;;10901:11;10886:12;:26;;;;10833:91;10757:174:::0;:::o;9465:159::-;2613:12;:10;:12::i;:::-;2603:22;;:6;;;;;;;;;;:22;;;2595:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4200:1:::1;4256:2;:13;;;;:::i;:::-;4243:10;:26;;;;:::i;:::-;9518:12;:22;;;;4200:1;4256:2;:13;;;;:::i;:::-;4243:10;:26;;;;:::i;:::-;9551:14;:22;;;;9589:27;4200:1;4256:2;:13;;;;:::i;:::-;4243:10;:26;;;;:::i;:::-;9589:27;;;;;;:::i;:::-;;;;;;;;9465:159::o:0;4383:56::-;;;;:::o;2476:79::-;2514:7;2541:6;;;;;;;;;;;2534:13;;2476:79;:::o;4446:56::-;;;;:::o;5388:87::-;5427:13;5460:7;;;;;;;;;;;;;;;;;5453:14;;5388:87;:::o;5804:167::-;5882:4;5899:42;5909:12;:10;:12::i;:::-;5923:9;5934:6;5899:9;:42::i;:::-;5959:4;5952:11;;5804:167;;;;:::o;4509:57::-;;;;:::o;10078:671::-;2613:12;:10;:12::i;:::-;2603:22;;:6;;;;;;;;;;:22;;;2595:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10142:11:::1;;;;;;;;;;;10141:12;10133:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10228:42;10191:15;;:80;;;;;;;;;;;;;;;;;;10282:58;10299:4;10314:15;;;;;;;;;;;4200:1;4256:2;:13;;;;:::i;:::-;4243:10;:26;;;;:::i;:::-;10282:8;:58::i;:::-;10385:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10367:55;;;10431:4;10438:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10367:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10351:13;;:110;;;;;;;;;;;;;;;;;;10472:15;;;;;;;;;;;:31;;;10511:21;10542:4;10548:24;10566:4;10548:9;:24::i;:::-;10573:1;10575::::0;10577:7:::1;:5;:7::i;:::-;10585:15;10472:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10626:4;10612:11;;:18;;;;;;;;;;;;;;;;;;10655:4;10641:11;;:18;;;;;;;;;;;;;;;;;;10677:13;;;;;;;;;;;10670:29;;;10708:15;;;;;;;;;;;10726:14;10670:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10078:671::o:0;9732:166::-;2613:12;:10;:12::i;:::-;2603:22;;:6;;;;;;;;;;:22;;;2595:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9808:6:::1;9803:88;9824:5;:12;9820:1;:16;9803:88;;;9875:4;9858;:14;9863:5;9869:1;9863:8;;;;;;;;:::i;:::-;;;;;;;;9858:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;9838:3;;;;;:::i;:::-;;;;9803:88;;;;9732:166:::0;:::o;5979:143::-;6060:7;6087:11;:18;6099:5;6087:18;;;;;;;;;;;;;;;:27;6106:7;6087:27;;;;;;;;;;;;;;;;6080:34;;5979:143;;;;:::o;10940:183::-;2613:12;:10;:12::i;:::-;2603:22;;:6;;;;;;;;;;:22;;;2595:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11038:24:::1;11057:4;11038:14;11050:1;4200;4256:2;:13;;;;:::i;:::-;4243:10;:26;;;;:::i;:::-;11038:11;;:14;;;;:::i;:::-;:18;;:24;;;;:::i;:::-;11022:13;:40;11019:97;;;11091:13;11074:14;:30;;;;11019:97;10940:183:::0;:::o;11721:131::-;11787:10;;;;;;;;;;;11771:26;;:12;:10;:12::i;:::-;:26;;;11763:35;;;;;;11809;11822:21;11809:12;:35::i;:::-;11721:131::o;231:98::-;284:7;311:10;304:17;;231:98;:::o;6620:335::-;6730:1;6713:19;;:5;:19;;;6705:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6811:1;6792:21;;:7;:21;;;6784:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6893:6;6863:11;:18;6875:5;6863:18;;;;;;;;;;;;;;;:27;6882:7;6863:27;;;;;;;;;;;;;;;:36;;;;6931:7;6915:32;;6924:5;6915:32;;;6940:6;6915:32;;;;;;:::i;:::-;;;;;;;;6620:335;;;:::o;6963:1766::-;7067:1;7051:18;;:4;:18;;;7043:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7144:1;7130:16;;:2;:16;;;7122:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7214:1;7205:6;:10;7197:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7272:17;7314:7;:5;:7::i;:::-;7306:15;;:4;:15;;;;:32;;;;;7331:7;:5;:7::i;:::-;7325:13;;:2;:13;;;;7306:32;7302:1071;;;7364:4;:10;7369:4;7364:10;;;;;;;;;;;;;;;;;;;;;;;;;7363:11;:24;;;;;7379:4;:8;7384:2;7379:8;;;;;;;;;;;;;;;;;;;;;;;;;7378:9;7363:24;7355:33;;;;;;7407:6;;;;;;;;;;;7403:123;;7443:67;7506:3;7443:58;7465:12;;7455:9;;:22;7454:46;;7489:11;;7454:46;;;7479:9;;7454:46;7443:6;:10;;:58;;;;:::i;:::-;:62;;:67;;;;:::i;:::-;7431:79;;7403:123;7554:13;;;;;;;;;;;7546:21;;:4;:21;;;:55;;;;;7585:15;;;;;;;;;;;7571:30;;:2;:30;;;;7546:55;:83;;;;;7607:18;:22;7626:2;7607:22;;;;;;;;;;;;;;;;;;;;;;;;;7605:24;7546:83;7542:313;;;7669:12;;7659:6;:22;;7651:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7764:14;;7754:6;7738:13;7748:2;7738:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7730:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7828:9;;:11;;;;;;;;;:::i;:::-;;;;;;7542:313;7871:28;7902:24;7920:4;7902:9;:24::i;:::-;7871:55;;7946:6;;;;;;;;;;;7945:7;:32;;;;;7964:13;;;;;;;;;;;7956:21;;:4;:21;;;;7945:32;:47;;;;;7981:11;;;;;;;;;;;7945:47;:89;;;;;8017:17;;7996:20;:38;7945:89;:121;;;;;8048:18;;8038:9;;:28;7945:121;7941:421;;;8087:67;8104:49;8108:6;8115:37;8119:20;8140:11;;8115:3;:37::i;:::-;8104:3;:49::i;:::-;8087:16;:67::i;:::-;8173:26;8202:21;8173:50;;8266:1;8245:18;:22;8242:105;;;8292:35;8305:21;8292:12;:35::i;:::-;8242:105;8068:294;7941:421;7340:1033;7302:1071;8401:27;8421:6;8401:9;:15;8411:4;8401:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8385:9;:15;8395:4;8385:15;;;;;;;;;;;;;;;:43;;;;8453:40;8471:21;8482:9;8471:6;:10;;:21;;;;:::i;:::-;8453:9;:13;8463:2;8453:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;8439:9;:13;8449:2;8439:13;;;;;;;;;;;;;;;:54;;;;8524:2;8509:41;;8518:4;8509:41;;;8528:21;8539:9;8528:6;:10;;:21;;;;:::i;:::-;8509:41;;;;;;:::i;:::-;;;;;;;;8574:1;8564:9;:11;8561:161;;;8614:39;8643:9;8614;:24;8632:4;8614:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8589:9;:24;8607:4;8589:24;;;;;;;;;;;;;;;:64;;;;8694:4;8671:39;;8680:4;8671:39;;;8700:9;8671:39;;;;;;:::i;:::-;;;;;;;;8561:161;7032:1697;6963:1766;;;:::o;1368:190::-;1454:7;1487:1;1482;:6;;1490:12;1474:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1514:9;1530:1;1526;:5;;;;:::i;:::-;1514:17;;1549:1;1542:8;;;1368:190;;;;;:::o;8974:483::-;4915:4;4906:6;;:13;;;;;;;;;;;;;;;;;;9052:21:::1;9090:1;9076:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9052:40;;9121:4;9103;9108:1;9103:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9147:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9137:4;9142:1;9137:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9180:62;9197:4;9212:15;;;;;;;;;;;9230:11;9180:8;:62::i;:::-;9253:15;;;;;;;;;;;:66;;;9334:11;9360:1;9376:4;9403;9423:15;9253:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9041:416;4951:5:::0;4942:6;;:14;;;;;;;;;;;;;;;;;;8974:483;:::o;1566:246::-;1624:7;1653:1;1648;:6;1644:47;;1678:1;1671:8;;;;1644:47;1701:9;1717:1;1713;:5;;;;:::i;:::-;1701:17;;1746:1;1741;1737;:5;;;;:::i;:::-;:10;1729:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1803:1;1796:8;;;1566:246;;;;;:::o;1820:132::-;1878:7;1905:39;1909:1;1912;1905:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1898:46;;1820:132;;;;:::o;9632:92::-;9689:10;;;;;;;;;;;:19;;:27;9709:6;9689:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9632:92;:::o;8868:98::-;8925:7;8952:1;8950;:3;8949:9;;8957:1;8949:9;;;8955:1;8949:9;8942:16;;8868:98;;;;:::o;1224:136::-;1282:7;1309:43;1313:1;1316;1309:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1302:50;;1224:136;;;;:::o;1037:179::-;1095:7;1115:9;1131:1;1127;:5;;;;:::i;:::-;1115:17;;1156:1;1151;:6;;1143:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1207:1;1200:8;;;1037:179;;;;:::o;1960:189::-;2046:7;2078:1;2074;:5;2081:12;2066:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2105:9;2121:1;2117;:5;;;;:::i;:::-;2105:17;;2140:1;2133:8;;;1960:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::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:619::-;4355:6;4363;4371;4420:2;4408:9;4399:7;4395:23;4391:32;4388:119;;;4426:79;;:::i;:::-;4388:119;4546:1;4571:53;4616:7;4607:6;4596:9;4592:22;4571:53;:::i;:::-;4561:63;;4517:117;4673:2;4699:53;4744:7;4735:6;4724:9;4720:22;4699:53;:::i;:::-;4689:63;;4644:118;4801:2;4827:53;4872:7;4863:6;4852:9;4848:22;4827:53;:::i;:::-;4817:63;;4772:118;4278:619;;;;;:::o;4903:329::-;4962:6;5011:2;4999:9;4990:7;4986:23;4982:32;4979:119;;;5017:79;;:::i;:::-;4979:119;5137:1;5162:53;5207:7;5198:6;5187:9;5183:22;5162:53;:::i;:::-;5152:63;;5108:117;4903:329;;;;:::o;5238:86::-;5273:7;5313:4;5306:5;5302:16;5291:27;;5238:86;;;:::o;5330:112::-;5413:22;5429:5;5413:22;:::i;:::-;5408:3;5401:35;5330:112;;:::o;5448:214::-;5537:4;5575:2;5564:9;5560:18;5552:26;;5588:67;5652:1;5641:9;5637:17;5628:6;5588:67;:::i;:::-;5448:214;;;;:::o;5668:117::-;5777:1;5774;5767:12;5791:180;5839:77;5836:1;5829:88;5936:4;5933:1;5926:15;5960:4;5957:1;5950:15;5977:281;6060:27;6082:4;6060:27;:::i;:::-;6052:6;6048:40;6190:6;6178:10;6175:22;6154:18;6142:10;6139:34;6136:62;6133:88;;;6201:18;;:::i;:::-;6133:88;6241:10;6237:2;6230:22;6020:238;5977:281;;:::o;6264:129::-;6298:6;6325:20;;:::i;:::-;6315:30;;6354:33;6382:4;6374:6;6354:33;:::i;:::-;6264:129;;;:::o;6399:311::-;6476:4;6566:18;6558:6;6555:30;6552:56;;;6588:18;;:::i;:::-;6552:56;6638:4;6630:6;6626:17;6618:25;;6698:4;6692;6688:15;6680:23;;6399:311;;;:::o;6716:117::-;6825:1;6822;6815:12;6856:710;6952:5;6977:81;6993:64;7050:6;6993:64;:::i;:::-;6977:81;:::i;:::-;6968:90;;7078:5;7107:6;7100:5;7093:21;7141:4;7134:5;7130:16;7123:23;;7194:4;7186:6;7182:17;7174:6;7170:30;7223:3;7215:6;7212:15;7209:122;;;7242:79;;:::i;:::-;7209:122;7357:6;7340:220;7374:6;7369:3;7366:15;7340:220;;;7449:3;7478:37;7511:3;7499:10;7478:37;:::i;:::-;7473:3;7466:50;7545:4;7540:3;7536:14;7529:21;;7416:144;7400:4;7395:3;7391:14;7384:21;;7340:220;;;7344:21;6958:608;;6856:710;;;;;:::o;7589:370::-;7660:5;7709:3;7702:4;7694:6;7690:17;7686:27;7676:122;;7717:79;;:::i;:::-;7676:122;7834:6;7821:20;7859:94;7949:3;7941:6;7934:4;7926:6;7922:17;7859:94;:::i;:::-;7850:103;;7666:293;7589:370;;;;:::o;7965:539::-;8049:6;8098:2;8086:9;8077:7;8073:23;8069:32;8066:119;;;8104:79;;:::i;:::-;8066:119;8252:1;8241:9;8237:17;8224:31;8282:18;8274:6;8271:30;8268:117;;;8304:79;;:::i;:::-;8268:117;8409:78;8479:7;8470:6;8459:9;8455:22;8409:78;:::i;:::-;8399:88;;8195:302;7965:539;;;;:::o;8510:116::-;8580:21;8595:5;8580:21;:::i;:::-;8573:5;8570:32;8560:60;;8616:1;8613;8606:12;8560:60;8510:116;:::o;8632:133::-;8675:5;8713:6;8700:20;8691:29;;8729:30;8753:5;8729:30;:::i;:::-;8632:133;;;;:::o;8771:468::-;8836:6;8844;8893:2;8881:9;8872:7;8868:23;8864:32;8861:119;;;8899:79;;:::i;:::-;8861:119;9019:1;9044:53;9089:7;9080:6;9069:9;9065:22;9044:53;:::i;:::-;9034:63;;8990:117;9146:2;9172:50;9214:7;9205:6;9194:9;9190:22;9172:50;:::i;:::-;9162:60;;9117:115;8771:468;;;;;:::o;9245:329::-;9304:6;9353:2;9341:9;9332:7;9328:23;9324:32;9321:119;;;9359:79;;:::i;:::-;9321:119;9479:1;9504:53;9549:7;9540:6;9529:9;9525:22;9504:53;:::i;:::-;9494:63;;9450:117;9245:329;;;;:::o;9580:118::-;9667:24;9685:5;9667:24;:::i;:::-;9662:3;9655:37;9580:118;;:::o;9704:222::-;9797:4;9835:2;9824:9;9820:18;9812:26;;9848:71;9916:1;9905:9;9901:17;9892:6;9848:71;:::i;:::-;9704:222;;;;:::o;9932:474::-;10000:6;10008;10057:2;10045:9;10036:7;10032:23;10028:32;10025:119;;;10063:79;;:::i;:::-;10025:119;10183:1;10208:53;10253:7;10244:6;10233:9;10229:22;10208:53;:::i;:::-;10198:63;;10154:117;10310:2;10336:53;10381:7;10372:6;10361:9;10357:22;10336:53;:::i;:::-;10326:63;;10281:118;9932:474;;;;;:::o;10412:180::-;10460:77;10457:1;10450:88;10557:4;10554:1;10547:15;10581:4;10578:1;10571:15;10598:102;10640:8;10687:5;10684:1;10680:13;10659:34;;10598:102;;;:::o;10706:848::-;10767:5;10774:4;10798:6;10789:15;;10822:5;10813:14;;10836:712;10857:1;10847:8;10844:15;10836:712;;;10952:4;10947:3;10943:14;10937:4;10934:24;10931:50;;;10961:18;;:::i;:::-;10931:50;11011:1;11001:8;10997:16;10994:451;;;11426:4;11419:5;11415:16;11406:25;;10994:451;11476:4;11470;11466:15;11458:23;;11506:32;11529:8;11506:32;:::i;:::-;11494:44;;10836:712;;;10706:848;;;;;;;:::o;11560:1073::-;11614:5;11805:8;11795:40;;11826:1;11817:10;;11828:5;;11795:40;11854:4;11844:36;;11871:1;11862:10;;11873:5;;11844:36;11940:4;11988:1;11983:27;;;;12024:1;12019:191;;;;11933:277;;11983:27;12001:1;11992:10;;12003:5;;;12019:191;12064:3;12054:8;12051:17;12048:43;;;12071:18;;:::i;:::-;12048:43;12120:8;12117:1;12113:16;12104:25;;12155:3;12148:5;12145:14;12142:40;;;12162:18;;:::i;:::-;12142:40;12195:5;;;11933:277;;12319:2;12309:8;12306:16;12300:3;12294:4;12291:13;12287:36;12269:2;12259:8;12256:16;12251:2;12245:4;12242:12;12238:35;12222:111;12219:246;;;12375:8;12369:4;12365:19;12356:28;;12410:3;12403:5;12400:14;12397:40;;;12417:18;;:::i;:::-;12397:40;12450:5;;12219:246;12490:42;12528:3;12518:8;12512:4;12509:1;12490:42;:::i;:::-;12475:57;;;;12564:4;12559:3;12555:14;12548:5;12545:25;12542:51;;;12573:18;;:::i;:::-;12542:51;12622:4;12615:5;12611:16;12602:25;;11560:1073;;;;;;:::o;12639:281::-;12697:5;12721:23;12739:4;12721:23;:::i;:::-;12713:31;;12765:25;12781:8;12765:25;:::i;:::-;12753:37;;12809:104;12846:66;12836:8;12830:4;12809:104;:::i;:::-;12800:113;;12639:281;;;;:::o;12926:410::-;12966:7;12989:20;13007:1;12989:20;:::i;:::-;12984:25;;13023:20;13041:1;13023:20;:::i;:::-;13018:25;;13078:1;13075;13071:9;13100:30;13118:11;13100:30;:::i;:::-;13089:41;;13279:1;13270:7;13266:15;13263:1;13260:22;13240:1;13233:9;13213:83;13190:139;;13309:18;;:::i;:::-;13190:139;12974:362;12926:410;;;;:::o;13342:182::-;13482:34;13478:1;13470:6;13466:14;13459:58;13342:182;:::o;13530:366::-;13672:3;13693:67;13757:2;13752:3;13693:67;:::i;:::-;13686:74;;13769:93;13858:3;13769:93;:::i;:::-;13887:2;13882:3;13878:12;13871:19;;13530:366;;;:::o;13902:419::-;14068:4;14106:2;14095:9;14091:18;14083:26;;14155:9;14149:4;14145:20;14141:1;14130:9;14126:17;14119:47;14183:131;14309:4;14183:131;:::i;:::-;14175:139;;13902:419;;;:::o;14327:180::-;14375:77;14372:1;14365:88;14472:4;14469:1;14462:15;14496:4;14493:1;14486:15;14513:233;14552:3;14575:24;14593:5;14575:24;:::i;:::-;14566:33;;14621:66;14614:5;14611:77;14608:103;;14691:18;;:::i;:::-;14608:103;14738:1;14731:5;14727:13;14720:20;;14513:233;;;:::o;14752:173::-;14892:25;14888:1;14880:6;14876:14;14869:49;14752:173;:::o;14931:366::-;15073:3;15094:67;15158:2;15153:3;15094:67;:::i;:::-;15087:74;;15170:93;15259:3;15170:93;:::i;:::-;15288:2;15283:3;15279:12;15272:19;;14931:366;;;:::o;15303:419::-;15469:4;15507:2;15496:9;15492:18;15484:26;;15556:9;15550:4;15546:20;15542:1;15531:9;15527:17;15520:47;15584:131;15710:4;15584:131;:::i;:::-;15576:139;;15303:419;;;:::o;15728:143::-;15785:5;15816:6;15810:13;15801:22;;15832:33;15859:5;15832:33;:::i;:::-;15728:143;;;;:::o;15877:351::-;15947:6;15996:2;15984:9;15975:7;15971:23;15967:32;15964:119;;;16002:79;;:::i;:::-;15964:119;16122:1;16147:64;16203:7;16194:6;16183:9;16179:22;16147:64;:::i;:::-;16137:74;;16093:128;15877:351;;;;:::o;16234:332::-;16355:4;16393:2;16382:9;16378:18;16370:26;;16406:71;16474:1;16463:9;16459:17;16450:6;16406:71;:::i;:::-;16487:72;16555:2;16544:9;16540:18;16531:6;16487:72;:::i;:::-;16234:332;;;;;:::o;16572:85::-;16617:7;16646:5;16635:16;;16572:85;;;:::o;16663:60::-;16691:3;16712:5;16705:12;;16663:60;;;:::o;16729:158::-;16787:9;16820:61;16838:42;16847:32;16873:5;16847:32;:::i;:::-;16838:42;:::i;:::-;16820:61;:::i;:::-;16807:74;;16729:158;;;:::o;16893:147::-;16988:45;17027:5;16988:45;:::i;:::-;16983:3;16976:58;16893:147;;:::o;17046:807::-;17295:4;17333:3;17322:9;17318:19;17310:27;;17347:71;17415:1;17404:9;17400:17;17391:6;17347:71;:::i;:::-;17428:72;17496:2;17485:9;17481:18;17472:6;17428:72;:::i;:::-;17510:80;17586:2;17575:9;17571:18;17562:6;17510:80;:::i;:::-;17600;17676:2;17665:9;17661:18;17652:6;17600:80;:::i;:::-;17690:73;17758:3;17747:9;17743:19;17734:6;17690:73;:::i;:::-;17773;17841:3;17830:9;17826:19;17817:6;17773:73;:::i;:::-;17046:807;;;;;;;;;:::o;17859:143::-;17916:5;17947:6;17941:13;17932:22;;17963:33;17990:5;17963:33;:::i;:::-;17859:143;;;;:::o;18008:663::-;18096:6;18104;18112;18161:2;18149:9;18140:7;18136:23;18132:32;18129:119;;;18167:79;;:::i;:::-;18129:119;18287:1;18312:64;18368:7;18359:6;18348:9;18344:22;18312:64;:::i;:::-;18302:74;;18258:128;18425:2;18451:64;18507:7;18498:6;18487:9;18483:22;18451:64;:::i;:::-;18441:74;;18396:129;18564:2;18590:64;18646:7;18637:6;18626:9;18622:22;18590:64;:::i;:::-;18580:74;;18535:129;18008:663;;;;;:::o;18677:332::-;18798:4;18836:2;18825:9;18821:18;18813:26;;18849:71;18917:1;18906:9;18902:17;18893:6;18849:71;:::i;:::-;18930:72;18998:2;18987:9;18983:18;18974:6;18930:72;:::i;:::-;18677:332;;;;;:::o;19015:137::-;19069:5;19100:6;19094:13;19085:22;;19116:30;19140:5;19116:30;:::i;:::-;19015:137;;;;:::o;19158:345::-;19225:6;19274:2;19262:9;19253:7;19249:23;19245:32;19242:119;;;19280:79;;:::i;:::-;19242:119;19400:1;19425:61;19478:7;19469:6;19458:9;19454:22;19425:61;:::i;:::-;19415:71;;19371:125;19158:345;;;;:::o;19509:223::-;19649:34;19645:1;19637:6;19633:14;19626:58;19718:6;19713:2;19705:6;19701:15;19694:31;19509:223;:::o;19738:366::-;19880:3;19901:67;19965:2;19960:3;19901:67;:::i;:::-;19894:74;;19977:93;20066:3;19977:93;:::i;:::-;20095:2;20090:3;20086:12;20079:19;;19738:366;;;:::o;20110:419::-;20276:4;20314:2;20303:9;20299:18;20291:26;;20363:9;20357:4;20353:20;20349:1;20338:9;20334:17;20327:47;20391:131;20517:4;20391:131;:::i;:::-;20383:139;;20110:419;;;:::o;20535:221::-;20675:34;20671:1;20663:6;20659:14;20652:58;20744:4;20739:2;20731:6;20727:15;20720:29;20535:221;:::o;20762:366::-;20904:3;20925:67;20989:2;20984:3;20925:67;:::i;:::-;20918:74;;21001:93;21090:3;21001:93;:::i;:::-;21119:2;21114:3;21110:12;21103:19;;20762:366;;;:::o;21134:419::-;21300:4;21338:2;21327:9;21323:18;21315:26;;21387:9;21381:4;21377:20;21373:1;21362:9;21358:17;21351:47;21415:131;21541:4;21415:131;:::i;:::-;21407:139;;21134:419;;;:::o;21559:224::-;21699:34;21695:1;21687:6;21683:14;21676:58;21768:7;21763:2;21755:6;21751:15;21744:32;21559:224;:::o;21789:366::-;21931:3;21952:67;22016:2;22011:3;21952:67;:::i;:::-;21945:74;;22028:93;22117:3;22028:93;:::i;:::-;22146:2;22141:3;22137:12;22130:19;;21789:366;;;:::o;22161:419::-;22327:4;22365:2;22354:9;22350:18;22342:26;;22414:9;22408:4;22404:20;22400:1;22389:9;22385:17;22378:47;22442:131;22568:4;22442:131;:::i;:::-;22434:139;;22161:419;;;:::o;22586:222::-;22726:34;22722:1;22714:6;22710:14;22703:58;22795:5;22790:2;22782:6;22778:15;22771:30;22586:222;:::o;22814:366::-;22956:3;22977:67;23041:2;23036:3;22977:67;:::i;:::-;22970:74;;23053:93;23142:3;23053:93;:::i;:::-;23171:2;23166:3;23162:12;23155:19;;22814:366;;;:::o;23186:419::-;23352:4;23390:2;23379:9;23375:18;23367:26;;23439:9;23433:4;23429:20;23425:1;23414:9;23410:17;23403:47;23467:131;23593:4;23467:131;:::i;:::-;23459:139;;23186:419;;;:::o;23611:228::-;23751:34;23747:1;23739:6;23735:14;23728:58;23820:11;23815:2;23807:6;23803:15;23796:36;23611:228;:::o;23845:366::-;23987:3;24008:67;24072:2;24067:3;24008:67;:::i;:::-;24001:74;;24084:93;24173:3;24084:93;:::i;:::-;24202:2;24197:3;24193:12;24186:19;;23845:366;;;:::o;24217:419::-;24383:4;24421:2;24410:9;24406:18;24398:26;;24470:9;24464:4;24460:20;24456:1;24445:9;24441:17;24434:47;24498:131;24624:4;24498:131;:::i;:::-;24490:139;;24217:419;;;:::o;24642:175::-;24782:27;24778:1;24770:6;24766:14;24759:51;24642:175;:::o;24823:366::-;24965:3;24986:67;25050:2;25045:3;24986:67;:::i;:::-;24979:74;;25062:93;25151:3;25062:93;:::i;:::-;25180:2;25175:3;25171:12;25164:19;;24823:366;;;:::o;25195:419::-;25361:4;25399:2;25388:9;25384:18;25376:26;;25448:9;25442:4;25438:20;25434:1;25423:9;25419:17;25412:47;25476:131;25602:4;25476:131;:::i;:::-;25468:139;;25195:419;;;:::o;25620:191::-;25660:3;25679:20;25697:1;25679:20;:::i;:::-;25674:25;;25713:20;25731:1;25713:20;:::i;:::-;25708:25;;25756:1;25753;25749:9;25742:16;;25777:3;25774:1;25771:10;25768:36;;;25784:18;;:::i;:::-;25768:36;25620:191;;;;:::o;25817:176::-;25957:28;25953:1;25945:6;25941:14;25934:52;25817:176;:::o;25999:366::-;26141:3;26162:67;26226:2;26221:3;26162:67;:::i;:::-;26155:74;;26238:93;26327:3;26238:93;:::i;:::-;26356:2;26351:3;26347:12;26340:19;;25999:366;;;:::o;26371:419::-;26537:4;26575:2;26564:9;26560:18;26552:26;;26624:9;26618:4;26614:20;26610:1;26599:9;26595:17;26588:47;26652:131;26778:4;26652:131;:::i;:::-;26644:139;;26371:419;;;:::o;26796:194::-;26836:4;26856:20;26874:1;26856:20;:::i;:::-;26851:25;;26890:20;26908:1;26890:20;:::i;:::-;26885:25;;26934:1;26931;26927:9;26919:17;;26958:1;26952:4;26949:11;26946:37;;;26963:18;;:::i;:::-;26946:37;26796:194;;;;:::o;26996:114::-;27063:6;27097:5;27091:12;27081:22;;26996:114;;;:::o;27116:184::-;27215:11;27249:6;27244:3;27237:19;27289:4;27284:3;27280:14;27265:29;;27116:184;;;;:::o;27306:132::-;27373:4;27396:3;27388:11;;27426:4;27421:3;27417:14;27409:22;;27306:132;;;:::o;27444:108::-;27521:24;27539:5;27521:24;:::i;:::-;27516:3;27509:37;27444:108;;:::o;27558:179::-;27627:10;27648:46;27690:3;27682:6;27648:46;:::i;:::-;27726:4;27721:3;27717:14;27703:28;;27558:179;;;;:::o;27743:113::-;27813:4;27845;27840:3;27836:14;27828:22;;27743:113;;;:::o;27892:732::-;28011:3;28040:54;28088:5;28040:54;:::i;:::-;28110:86;28189:6;28184:3;28110:86;:::i;:::-;28103:93;;28220:56;28270:5;28220:56;:::i;:::-;28299:7;28330:1;28315:284;28340:6;28337:1;28334:13;28315:284;;;28416:6;28410:13;28443:63;28502:3;28487:13;28443:63;:::i;:::-;28436:70;;28529:60;28582:6;28529:60;:::i;:::-;28519:70;;28375:224;28362:1;28359;28355:9;28350:14;;28315:284;;;28319:14;28615:3;28608:10;;28016:608;;;27892:732;;;;:::o;28630:831::-;28893:4;28931:3;28920:9;28916:19;28908:27;;28945:71;29013:1;29002:9;28998:17;28989:6;28945:71;:::i;:::-;29026:80;29102:2;29091:9;29087:18;29078:6;29026:80;:::i;:::-;29153:9;29147:4;29143:20;29138:2;29127:9;29123:18;29116:48;29181:108;29284:4;29275:6;29181:108;:::i;:::-;29173:116;;29299:72;29367:2;29356:9;29352:18;29343:6;29299:72;:::i;:::-;29381:73;29449:3;29438:9;29434:19;29425:6;29381:73;:::i;:::-;28630:831;;;;;;;;:::o;29467:180::-;29515:77;29512:1;29505:88;29612:4;29609:1;29602:15;29636:4;29633:1;29626:15;29653:185;29693:1;29710:20;29728:1;29710:20;:::i;:::-;29705:25;;29744:20;29762:1;29744:20;:::i;:::-;29739:25;;29783:1;29773:35;;29788:18;;:::i;:::-;29773:35;29830:1;29827;29823:9;29818:14;;29653:185;;;;:::o;29844:220::-;29984:34;29980:1;29972:6;29968:14;29961:58;30053:3;30048:2;30040:6;30036:15;30029:28;29844:220;:::o;30070:366::-;30212:3;30233:67;30297:2;30292:3;30233:67;:::i;:::-;30226:74;;30309:93;30398:3;30309:93;:::i;:::-;30427:2;30422:3;30418:12;30411:19;;30070:366;;;:::o;30442:419::-;30608:4;30646:2;30635:9;30631:18;30623:26;;30695:9;30689:4;30685:20;30681:1;30670:9;30666:17;30659:47;30723:131;30849:4;30723:131;:::i;:::-;30715:139;;30442:419;;;:::o;30867:177::-;31007:29;31003:1;30995:6;30991:14;30984:53;30867:177;:::o;31050:366::-;31192:3;31213:67;31277:2;31272:3;31213:67;:::i;:::-;31206:74;;31289:93;31378:3;31289:93;:::i;:::-;31407:2;31402:3;31398:12;31391:19;;31050:366;;;:::o;31422:419::-;31588:4;31626:2;31615:9;31611:18;31603:26;;31675:9;31669:4;31665:20;31661:1;31650:9;31646:17;31639:47;31703:131;31829:4;31703:131;:::i;:::-;31695:139;;31422:419;;;:::o
Swarm Source
ipfs://90d5c2a11f589d684050185f28c71ee756fc5d5a5e3ddd5fed95b0aafb6ecaeb
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.