ERC-20
Overview
Max Total Supply
10,000,000,000 NINJACAP
Holders
53
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
84,999,991.5 NINJACAPValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
NinjaCAP
Compiler Version
v0.8.12+commit.f00d7308
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-03-04 */ /* /$$ /$$ /$$$$$$ /$$ /$$ /$$$$$ /$$$$$$ /$$$$$$ /$$$$$$ /$$$$$$$ /$$$$$$ /$$$$$$$$ /$$$$$$ /$$ | $$$ | $$|_ $$_/| $$$ | $$ |__ $$ /$$__ $$ /$$__ $$ /$$__ $$| $$__ $$|_ $$_/|__ $$__//$$__ $$| $$ | $$$$| $$ | $$ | $$$$| $$ | $$| $$ \ $$ | $$ \__/| $$ \ $$| $$ \ $$ | $$ | $$ | $$ \ $$| $$ | $$ $$ $$ | $$ | $$ $$ $$ | $$| $$$$$$$$ | $$ | $$$$$$$$| $$$$$$$/ | $$ | $$ | $$$$$$$$| $$ | $$ $$$$ | $$ | $$ $$$$ /$$ | $$| $$__ $$ | $$ | $$__ $$| $$____/ | $$ | $$ | $$__ $$| $$ | $$\ $$$ | $$ | $$\ $$$| $$ | $$| $$ | $$ | $$ $$| $$ | $$| $$ | $$ | $$ | $$ | $$| $$ | $$ \ $$ /$$$$$$| $$ \ $$| $$$$$$/| $$ | $$ | $$$$$$/| $$ | $$| $$ /$$$$$$ | $$ | $$ | $$| $$$$$$$$ |__/ \__/|______/|__/ \__/ \______/ |__/ |__/ \______/ |__/ |__/|__/ |______/ |__/ |__/ |__/|________/ https://t.me/ninjacap https://t.me/ninjacap https://t.me/ninjacap */ //SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.10; 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); } contract Ownable is Context { address private _owner; address private _previousOwner; 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 NinjaCAP is Context, IERC20, Ownable { mapping (address => uint) private _owned; mapping (address => mapping (address => uint)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private _isBot; mapping (address => User) private cooldown; uint private constant _totalSupply = 1e10 * 10**9; string public constant name = unicode"Ninja Capital"; string public constant symbol = unicode"NINJACAP"; uint8 public constant decimals = 9; IUniswapV2Router02 private uniswapV2Router; address payable public _TaxAdd; address public uniswapV2Pair; uint public _buyFee = 15; uint public _sellFee = 15; uint private _feeRate = 15; uint public _maxBuyAmount; uint public _maxHeldTokens; uint public _launchedAt; bool private _tradingOpen; bool private _inSwap = false; bool public _useImpactFeeSetter = false; struct User { uint buy; bool exists; } event FeeMultiplierUpdated(uint _multiplier); event ImpactFeeSetterUpdated(bool _usefeesetter); event FeeRateUpdated(uint _rate); event FeesUpdated(uint _buy, uint _sell); event TaxAddUpdated(address _taxwallet); modifier lockTheSwap { _inSwap = true; _; _inSwap = false; } constructor (address payable TaxAdd) { _TaxAdd = TaxAdd; _owned[_msgSender()] = _totalSupply; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[TaxAdd] = true; _isExcludedFromFee[address(0xdead)] = true; emit Transfer(address(0), _msgSender(), _totalSupply); } function balanceOf(address account) public view override returns (uint) { return _owned[account]; } function transfer(address recipient, uint amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function totalSupply() public pure override returns (uint) { return _totalSupply; } function allowance(address owner, address spender) public view override returns (uint) { return _allowances[owner][spender]; } function approve(address spender, uint amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint amount) public override returns (bool) { _transfer(sender, recipient, amount); uint allowedAmount = _allowances[sender][_msgSender()] - amount; _approve(sender, _msgSender(), allowedAmount); return true; } function _approve(address owner, address spender, uint 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, uint amount) private { require(!_isBot[from] && !_isBot[to] && !_isBot[msg.sender]); 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"); bool isBuy = false; if(from != owner() && to != owner()) { if(from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) { require(_tradingOpen, "Trading not yet enabled."); if (block.timestamp == _launchedAt) _isBot[to] = true; require(amount <= _maxBuyAmount, "Exceeds maximum buy amount."); require((amount + balanceOf(address(to))) <= _maxHeldTokens, "You can't own that many tokens at once."); if(!cooldown[to].exists) { cooldown[to] = User(0,true); } cooldown[to].buy = block.timestamp; isBuy = true; } if(!_inSwap && _tradingOpen && from != uniswapV2Pair) { require(cooldown[from].buy < block.timestamp + (15 seconds), "Your sell cooldown has not expired."); uint contractTokenBalance = balanceOf(address(this)); if(contractTokenBalance > 0) { if(_useImpactFeeSetter) { if(contractTokenBalance > (balanceOf(uniswapV2Pair) * _feeRate) / 100) { contractTokenBalance = (balanceOf(uniswapV2Pair) * _feeRate) / 100; } } uint burnAmount = contractTokenBalance/5; contractTokenBalance -= burnAmount; burnToken(burnAmount); swapTokensForEth(contractTokenBalance); } uint contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } isBuy = false; } } bool takeFee = true; if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){ takeFee = false; } _tokenTransfer(from,to,amount,takeFee,isBuy); } function burnToken(uint burnAmount) private lockTheSwap{ if(burnAmount > 0){ _transfer(address(this), address(0xdead),burnAmount); } } function swapTokensForEth(uint 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 sendETHToFee(uint amount) private { _TaxAdd.transfer(amount); } function _tokenTransfer(address sender, address recipient, uint amount, bool takefee, bool buy) private { (uint fee) = _getFee(takefee, buy); _transferStandard(sender, recipient, amount, fee); } function _getFee(bool takefee, bool buy) private view returns (uint) { uint fee = 0; if(takefee) { if(buy) { fee = _buyFee; } else { fee = _sellFee; } } return fee; } function _transferStandard(address sender, address recipient, uint amount, uint fee) private { (uint transferAmount, uint team) = _getValues(amount, fee); _owned[sender] = _owned[sender] - amount; _owned[recipient] = _owned[recipient] + transferAmount; _takeTeam(team); emit Transfer(sender, recipient, transferAmount); } function _getValues(uint amount, uint teamFee) private pure returns (uint, uint) { uint team = (amount * teamFee) / 100; uint transferAmount = amount - team; return (transferAmount, team); } function _takeTeam(uint team) private { _owned[address(this)] = _owned[address(this)] + team; } receive() external payable {} function addLiquidity() external onlyOwner() { require(!_tradingOpen, "Trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _approve(address(this), address(uniswapV2Router), _totalSupply); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function openTrading() external onlyOwner() { require(!_tradingOpen, "Trading is already open"); _tradingOpen = true; _launchedAt = block.timestamp; _maxBuyAmount = 100000000 * 10**9; _maxHeldTokens = 200000000 * 10**9; } function setMaxTxn(uint maxbuy, uint maxheld) external { require(_msgSender() == _TaxAdd); require(maxbuy >= 100000000 * 10**9); require(maxheld >= 200000000 * 10**9); _maxBuyAmount = maxbuy; _maxHeldTokens = maxheld; } function manualswap() external { require(_msgSender() == _TaxAdd); uint contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _TaxAdd); uint contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function setFeeRate(uint rate) external { require(_msgSender() == _TaxAdd); require(rate > 0, "can't be zero"); _feeRate = rate; emit FeeRateUpdated(_feeRate); } function setFees(uint buy, uint sell) external { require(_msgSender() == _TaxAdd); require(buy < 15 && sell < 15 && buy < _buyFee && sell < _sellFee); _buyFee = buy; _sellFee = sell; emit FeesUpdated(_buyFee, _sellFee); } function toggleImpactFee(bool onoff) external { require(_msgSender() == _TaxAdd); _useImpactFeeSetter = onoff; emit ImpactFeeSetterUpdated(_useImpactFeeSetter); } function updateTaxAdd(address newAddress) external { require(_msgSender() == _TaxAdd); _TaxAdd = payable(newAddress); emit TaxAddUpdated(_TaxAdd); } function thisBalance() public view returns (uint) { return balanceOf(address(this)); } function amountInPool() public view returns (uint) { return balanceOf(uniswapV2Pair); } function setBots(address[] memory bots_) external onlyOwner() { for (uint i = 0; i < bots_.length; i++) { if (bots_[i] != uniswapV2Pair && bots_[i] != address(uniswapV2Router)) { _isBot[bots_[i]] = true; } } } function delBots(address[] memory bots_) external { require(_msgSender() == _TaxAdd); for (uint i = 0; i < bots_.length; i++) { _isBot[bots_[i]] = false; } } function isBot(address ad) public view returns (bool) { return _isBot[ad]; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address payable","name":"TaxAdd","type":"address"}],"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":"_multiplier","type":"uint256"}],"name":"FeeMultiplierUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"FeeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_buy","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_sell","type":"uint256"}],"name":"FeesUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_usefeesetter","type":"bool"}],"name":"ImpactFeeSetterUpdated","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":false,"internalType":"address","name":"_taxwallet","type":"address"}],"name":"TaxAddUpdated","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":"_TaxAdd","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxBuyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxHeldTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_useImpactFeeSetter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"amountInPool","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":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"ad","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setFeeRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buy","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxbuy","type":"uint256"},{"internalType":"uint256","name":"maxheld","type":"uint256"}],"name":"setMaxTxn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"thisBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"toggleImpactFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updateTaxAdd","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600f600a55600f600b55600f600c556000601060016101000a81548160ff0219169083151502179055506000601060026101000a81548160ff0219169083151502179055503480156200005657600080fd5b50604051620041883803806200418883398181016040528101906200007c91906200045a565b60006200008e620003bf60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35080600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550678ac7230489e80000600260006200018a620003bf60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160046000620001de620003c760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016004600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000349620003bf60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef678ac7230489e80000604051620003b09190620004a7565b60405180910390a350620004c4565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200042282620003f5565b9050919050565b620004348162000415565b81146200044057600080fd5b50565b600081519050620004548162000429565b92915050565b600060208284031215620004735762000472620003f0565b5b6000620004838482850162000443565b91505092915050565b6000819050919050565b620004a1816200048c565b82525050565b6000602082019050620004be600083018462000496565b92915050565b613cb480620004d46000396000f3fe6080604052600436106101f25760003560e01c8063590f897e1161010d578063a3f4782f116100a0578063c9567bf91161006f578063c9567bf9146106c4578063db92dbb6146106db578063dcb0e0ad14610706578063dd62ed3e1461072f578063e8078d941461076c576101f9565b8063a3f4782f1461061e578063a9059cbb14610647578063b515566a14610684578063c3c8cd80146106ad576101f9565b806373f54a11116100dc57806373f54a11146105745780638da5cb5b1461059d57806394b8d8f2146105c857806395d89b41146105f3576101f9565b8063590f897e146104de5780636fc3eaec1461050957806370a0823114610520578063715018a61461055d576101f9565b806327f3a72a116101855780633bbac579116101545780633bbac5791461042257806340b9a54b1461045f57806345596e2e1461048a57806349bd5a5e146104b3576101f9565b806327f3a72a14610378578063313ce567146103a357806331c2d847146103ce57806332d873d8146103f7576101f9565b8063104ce66d116101c1578063104ce66d146102ba57806318160ddd146102e55780631940d0201461031057806323b872dd1461033b576101f9565b80630492f055146101fe57806306fdde0314610229578063095ea7b3146102545780630b78f9c014610291576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b50610213610783565b6040516102209190612b46565b60405180910390f35b34801561023557600080fd5b5061023e610789565b60405161024b9190612bfa565b60405180910390f35b34801561026057600080fd5b5061027b60048036038101906102769190612cba565b6107c2565b6040516102889190612d15565b60405180910390f35b34801561029d57600080fd5b506102b860048036038101906102b39190612d30565b6107e0565b005b3480156102c657600080fd5b506102cf6108c3565b6040516102dc9190612d91565b60405180910390f35b3480156102f157600080fd5b506102fa6108e9565b6040516103079190612b46565b60405180910390f35b34801561031c57600080fd5b506103256108f9565b6040516103329190612b46565b60405180910390f35b34801561034757600080fd5b50610362600480360381019061035d9190612dac565b6108ff565b60405161036f9190612d15565b60405180910390f35b34801561038457600080fd5b5061038d6109bd565b60405161039a9190612b46565b60405180910390f35b3480156103af57600080fd5b506103b86109cd565b6040516103c59190612e1b565b60405180910390f35b3480156103da57600080fd5b506103f560048036038101906103f09190612f7e565b6109d2565b005b34801561040357600080fd5b5061040c610ac8565b6040516104199190612b46565b60405180910390f35b34801561042e57600080fd5b5061044960048036038101906104449190612fc7565b610ace565b6040516104569190612d15565b60405180910390f35b34801561046b57600080fd5b50610474610b24565b6040516104819190612b46565b60405180910390f35b34801561049657600080fd5b506104b160048036038101906104ac9190612ff4565b610b2a565b005b3480156104bf57600080fd5b506104c8610c11565b6040516104d59190613030565b60405180910390f35b3480156104ea57600080fd5b506104f3610c37565b6040516105009190612b46565b60405180910390f35b34801561051557600080fd5b5061051e610c3d565b005b34801561052c57600080fd5b5061054760048036038101906105429190612fc7565b610caf565b6040516105549190612b46565b60405180910390f35b34801561056957600080fd5b50610572610cf8565b005b34801561058057600080fd5b5061059b60048036038101906105969190612fc7565b610e4b565b005b3480156105a957600080fd5b506105b2610f49565b6040516105bf9190613030565b60405180910390f35b3480156105d457600080fd5b506105dd610f72565b6040516105ea9190612d15565b60405180910390f35b3480156105ff57600080fd5b50610608610f85565b6040516106159190612bfa565b60405180910390f35b34801561062a57600080fd5b5061064560048036038101906106409190612d30565b610fbe565b005b34801561065357600080fd5b5061066e60048036038101906106699190612cba565b61105b565b60405161067b9190612d15565b60405180910390f35b34801561069057600080fd5b506106ab60048036038101906106a69190612f7e565b611079565b005b3480156106b957600080fd5b506106c2611289565b005b3480156106d057600080fd5b506106d9611303565b005b3480156106e757600080fd5b506106f061142a565b6040516106fd9190612b46565b60405180910390f35b34801561071257600080fd5b5061072d60048036038101906107289190613077565b61145c565b005b34801561073b57600080fd5b50610756600480360381019061075191906130a4565b611520565b6040516107639190612b46565b60405180910390f35b34801561077857600080fd5b506107816115a7565b005b600d5481565b6040518060400160405280600d81526020017f4e696e6a61204361706974616c0000000000000000000000000000000000000081525081565b60006107d66107cf611a57565b8484611a5f565b6001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610821611a57565b73ffffffffffffffffffffffffffffffffffffffff161461084157600080fd5b600f821080156108515750600f81105b801561085e5750600a5482105b801561086b5750600b5481105b61087457600080fd5b81600a8190555080600b819055507f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a1600a54600b546040516108b79291906130e4565b60405180910390a15050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000678ac7230489e80000905090565b600e5481565b600061090c848484611c2a565b600082600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610958611a57565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461099d919061313c565b90506109b1856109ab611a57565b83611a5f565b60019150509392505050565b60006109c830610caf565b905090565b600981565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a13611a57565b73ffffffffffffffffffffffffffffffffffffffff1614610a3357600080fd5b60005b8151811015610ac457600060056000848481518110610a5857610a57613170565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610abc9061319f565b915050610a36565b5050565b600f5481565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600a5481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b6b611a57565b73ffffffffffffffffffffffffffffffffffffffff1614610b8b57600080fd5b60008111610bce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc590613234565b60405180910390fd5b80600c819055507f208f1b468d3d61f0f085e975bd9d04367c930d599642faad06695229f3eadcd8600c54604051610c069190612b46565b60405180910390a150565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c7e611a57565b73ffffffffffffffffffffffffffffffffffffffff1614610c9e57600080fd5b6000479050610cac81612536565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d00611a57565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d84906132a0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e8c611a57565b73ffffffffffffffffffffffffffffffffffffffff1614610eac57600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f5a9bcd8aea0cbf27de081c73815e420f65287b49bcf7a17ff691c61a2dd2d2d6600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610f3e919061331f565b60405180910390a150565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601060029054906101000a900460ff1681565b6040518060400160405280600881526020017f4e494e4a4143415000000000000000000000000000000000000000000000000081525081565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fff611a57565b73ffffffffffffffffffffffffffffffffffffffff161461101f57600080fd5b67016345785d8a000082101561103457600080fd5b6702c68af0bb14000081101561104957600080fd5b81600d8190555080600e819055505050565b600061106f611068611a57565b8484611c2a565b6001905092915050565b611081611a57565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461110e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611105906132a0565b60405180910390fd5b60005b815181101561128557600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682828151811061116657611165613170565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16141580156111fa5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168282815181106111d9576111d8613170565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614155b156112725760016005600084848151811061121857611217613170565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b808061127d9061319f565b915050611111565b5050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112ca611a57565b73ffffffffffffffffffffffffffffffffffffffff16146112ea57600080fd5b60006112f530610caf565b9050611300816125a2565b50565b61130b611a57565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138f906132a0565b60405180910390fd5b601060009054906101000a900460ff16156113e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113df90613386565b60405180910390fd5b6001601060006101000a81548160ff02191690831515021790555042600f8190555067016345785d8a0000600d819055506702c68af0bb140000600e81905550565b6000611457600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610caf565b905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661149d611a57565b73ffffffffffffffffffffffffffffffffffffffff16146114bd57600080fd5b80601060026101000a81548160ff0219169083151502179055507ff65c78d1059dbb9ec90732848bcfebbec05ac40af847d3c19adcad63379d3aeb601060029054906101000a900460ff166040516115159190612d15565b60405180910390a150565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6115af611a57565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461163c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611633906132a0565b60405180910390fd5b601060009054906101000a900460ff161561168c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168390613386565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061171b30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16678ac7230489e80000611a5f565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611766573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178a91906133bb565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181591906133bb565b6040518363ffffffff1660e01b81526004016118329291906133e8565b6020604051808303816000875af1158015611851573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187591906133bb565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306118fe30610caf565b600080611909610f49565b426040518863ffffffff1660e01b815260040161192b9695949392919061344c565b60606040518083038185885af1158015611949573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061196e91906134c2565b505050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611a10929190613515565b6020604051808303816000875af1158015611a2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a539190613553565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611acf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac6906135f2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3690613684565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c1d9190612b46565b60405180910390a3505050565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611cce5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d245750600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611d2d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9490613716565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e04906137a8565b60405180910390fd5b60008111611e50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e479061383a565b60405180910390fd5b6000611e5a610f49565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611ec85750611e98610f49565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561247157600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611f785750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611fce5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561224857601060009054906101000a900460ff16612022576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612019906138a6565b60405180910390fd5b600f54421415612085576001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600d548211156120ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c190613912565b60405180910390fd5b600e546120d684610caf565b836120e19190613932565b1115612122576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612119906139fa565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff166121fc5760405180604001604052806000815260200160011515815250600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff0219169083151502179055509050505b42600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550600190505b601060019054906101000a900460ff161580156122715750601060009054906101000a900460ff165b80156122cb5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561247057600f426122dd9190613932565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015410612360576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235790613a8c565b60405180910390fd5b600061236b30610caf565b9050600081111561245157601060029054906101000a900460ff161561241e576064600c546123bb600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610caf565b6123c59190613aac565b6123cf9190613b35565b81111561241d576064600c54612406600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610caf565b6124109190613aac565b61241a9190613b35565b90505b5b600060058261242d9190613b35565b9050808261243b919061313c565b91506124468161281b565b61244f826125a2565b505b600047905060008111156124695761246847612536565b5b6000925050505b5b600060019050600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806125185750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561252257600090505b61252f858585848661286b565b5050505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561259e573d6000803e3d6000fd5b5050565b6001601060016101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156125da576125d9612e3b565b5b6040519080825280602002602001820160405280156126085781602001602082028036833780820191505090505b50905030816000815181106126205761261f613170565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126eb91906133bb565b816001815181106126ff576126fe613170565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061276630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611a5f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016127ca959493929190613c24565b600060405180830381600087803b1580156127e457600080fd5b505af11580156127f8573d6000803e3d6000fd5b50505050506000601060016101000a81548160ff02191690831515021790555050565b6001601060016101000a81548160ff021916908315150217905550600081111561284d5761284c3061dead83611c2a565b5b6000601060016101000a81548160ff02191690831515021790555050565b6000612877838361288d565b9050612885868686846128bb565b505050505050565b6000806000905083156128b15782156128aa57600a5490506128b0565b600b5490505b5b8091505092915050565b6000806128c88484612a5e565b9150915083600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612917919061313c565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129a59190613932565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129f181612a9c565b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612a4e9190612b46565b60405180910390a3505050505050565b600080600060648486612a719190613aac565b612a7b9190613b35565b905060008186612a8b919061313c565b905080829350935050509250929050565b80600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ae79190613932565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000819050919050565b612b4081612b2d565b82525050565b6000602082019050612b5b6000830184612b37565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612b9b578082015181840152602081019050612b80565b83811115612baa576000848401525b50505050565b6000601f19601f8301169050919050565b6000612bcc82612b61565b612bd68185612b6c565b9350612be6818560208601612b7d565b612bef81612bb0565b840191505092915050565b60006020820190508181036000830152612c148184612bc1565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612c5b82612c30565b9050919050565b612c6b81612c50565b8114612c7657600080fd5b50565b600081359050612c8881612c62565b92915050565b612c9781612b2d565b8114612ca257600080fd5b50565b600081359050612cb481612c8e565b92915050565b60008060408385031215612cd157612cd0612c26565b5b6000612cdf85828601612c79565b9250506020612cf085828601612ca5565b9150509250929050565b60008115159050919050565b612d0f81612cfa565b82525050565b6000602082019050612d2a6000830184612d06565b92915050565b60008060408385031215612d4757612d46612c26565b5b6000612d5585828601612ca5565b9250506020612d6685828601612ca5565b9150509250929050565b6000612d7b82612c30565b9050919050565b612d8b81612d70565b82525050565b6000602082019050612da66000830184612d82565b92915050565b600080600060608486031215612dc557612dc4612c26565b5b6000612dd386828701612c79565b9350506020612de486828701612c79565b9250506040612df586828701612ca5565b9150509250925092565b600060ff82169050919050565b612e1581612dff565b82525050565b6000602082019050612e306000830184612e0c565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612e7382612bb0565b810181811067ffffffffffffffff82111715612e9257612e91612e3b565b5b80604052505050565b6000612ea5612c1c565b9050612eb18282612e6a565b919050565b600067ffffffffffffffff821115612ed157612ed0612e3b565b5b602082029050602081019050919050565b600080fd5b6000612efa612ef584612eb6565b612e9b565b90508083825260208201905060208402830185811115612f1d57612f1c612ee2565b5b835b81811015612f465780612f328882612c79565b845260208401935050602081019050612f1f565b5050509392505050565b600082601f830112612f6557612f64612e36565b5b8135612f75848260208601612ee7565b91505092915050565b600060208284031215612f9457612f93612c26565b5b600082013567ffffffffffffffff811115612fb257612fb1612c2b565b5b612fbe84828501612f50565b91505092915050565b600060208284031215612fdd57612fdc612c26565b5b6000612feb84828501612c79565b91505092915050565b60006020828403121561300a57613009612c26565b5b600061301884828501612ca5565b91505092915050565b61302a81612c50565b82525050565b60006020820190506130456000830184613021565b92915050565b61305481612cfa565b811461305f57600080fd5b50565b6000813590506130718161304b565b92915050565b60006020828403121561308d5761308c612c26565b5b600061309b84828501613062565b91505092915050565b600080604083850312156130bb576130ba612c26565b5b60006130c985828601612c79565b92505060206130da85828601612c79565b9150509250929050565b60006040820190506130f96000830185612b37565b6131066020830184612b37565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061314782612b2d565b915061315283612b2d565b9250828210156131655761316461310d565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006131aa82612b2d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156131dd576131dc61310d565b5b600182019050919050565b7f63616e2774206265207a65726f00000000000000000000000000000000000000600082015250565b600061321e600d83612b6c565b9150613229826131e8565b602082019050919050565b6000602082019050818103600083015261324d81613211565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061328a602083612b6c565b915061329582613254565b602082019050919050565b600060208201905081810360008301526132b98161327d565b9050919050565b6000819050919050565b60006132e56132e06132db84612c30565b6132c0565b612c30565b9050919050565b60006132f7826132ca565b9050919050565b6000613309826132ec565b9050919050565b613319816132fe565b82525050565b60006020820190506133346000830184613310565b92915050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000613370601783612b6c565b915061337b8261333a565b602082019050919050565b6000602082019050818103600083015261339f81613363565b9050919050565b6000815190506133b581612c62565b92915050565b6000602082840312156133d1576133d0612c26565b5b60006133df848285016133a6565b91505092915050565b60006040820190506133fd6000830185613021565b61340a6020830184613021565b9392505050565b6000819050919050565b600061343661343161342c84613411565b6132c0565b612b2d565b9050919050565b6134468161341b565b82525050565b600060c0820190506134616000830189613021565b61346e6020830188612b37565b61347b604083018761343d565b613488606083018661343d565b6134956080830185613021565b6134a260a0830184612b37565b979650505050505050565b6000815190506134bc81612c8e565b92915050565b6000806000606084860312156134db576134da612c26565b5b60006134e9868287016134ad565b93505060206134fa868287016134ad565b925050604061350b868287016134ad565b9150509250925092565b600060408201905061352a6000830185613021565b6135376020830184612b37565b9392505050565b60008151905061354d8161304b565b92915050565b60006020828403121561356957613568612c26565b5b60006135778482850161353e565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006135dc602483612b6c565b91506135e782613580565b604082019050919050565b6000602082019050818103600083015261360b816135cf565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061366e602283612b6c565b915061367982613612565b604082019050919050565b6000602082019050818103600083015261369d81613661565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613700602583612b6c565b915061370b826136a4565b604082019050919050565b6000602082019050818103600083015261372f816136f3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613792602383612b6c565b915061379d82613736565b604082019050919050565b600060208201905081810360008301526137c181613785565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613824602983612b6c565b915061382f826137c8565b604082019050919050565b6000602082019050818103600083015261385381613817565b9050919050565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b6000613890601883612b6c565b915061389b8261385a565b602082019050919050565b600060208201905081810360008301526138bf81613883565b9050919050565b7f45786365656473206d6178696d756d2062757920616d6f756e742e0000000000600082015250565b60006138fc601b83612b6c565b9150613907826138c6565b602082019050919050565b6000602082019050818103600083015261392b816138ef565b9050919050565b600061393d82612b2d565b915061394883612b2d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561397d5761397c61310d565b5b828201905092915050565b7f596f752063616e2774206f776e2074686174206d616e7920746f6b656e73206160008201527f74206f6e63652e00000000000000000000000000000000000000000000000000602082015250565b60006139e4602783612b6c565b91506139ef82613988565b604082019050919050565b60006020820190508181036000830152613a13816139d7565b9050919050565b7f596f75722073656c6c20636f6f6c646f776e20686173206e6f7420657870697260008201527f65642e0000000000000000000000000000000000000000000000000000000000602082015250565b6000613a76602383612b6c565b9150613a8182613a1a565b604082019050919050565b60006020820190508181036000830152613aa581613a69565b9050919050565b6000613ab782612b2d565b9150613ac283612b2d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613afb57613afa61310d565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613b4082612b2d565b9150613b4b83612b2d565b925082613b5b57613b5a613b06565b5b828204905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613b9b81612c50565b82525050565b6000613bad8383613b92565b60208301905092915050565b6000602082019050919050565b6000613bd182613b66565b613bdb8185613b71565b9350613be683613b82565b8060005b83811015613c17578151613bfe8882613ba1565b9750613c0983613bb9565b925050600181019050613bea565b5085935050505092915050565b600060a082019050613c396000830188612b37565b613c46602083018761343d565b8181036040830152613c588186613bc6565b9050613c676060830185613021565b613c746080830184612b37565b969550505050505056fea2646970667358221220613e4070aa9d51e410282d26d722b8c3f403f85b84196349f69e7b816d4693ae64736f6c634300080c0033000000000000000000000000db0e30764ee7f87697faaab1af8b7726c99ed564
Deployed Bytecode
0x6080604052600436106101f25760003560e01c8063590f897e1161010d578063a3f4782f116100a0578063c9567bf91161006f578063c9567bf9146106c4578063db92dbb6146106db578063dcb0e0ad14610706578063dd62ed3e1461072f578063e8078d941461076c576101f9565b8063a3f4782f1461061e578063a9059cbb14610647578063b515566a14610684578063c3c8cd80146106ad576101f9565b806373f54a11116100dc57806373f54a11146105745780638da5cb5b1461059d57806394b8d8f2146105c857806395d89b41146105f3576101f9565b8063590f897e146104de5780636fc3eaec1461050957806370a0823114610520578063715018a61461055d576101f9565b806327f3a72a116101855780633bbac579116101545780633bbac5791461042257806340b9a54b1461045f57806345596e2e1461048a57806349bd5a5e146104b3576101f9565b806327f3a72a14610378578063313ce567146103a357806331c2d847146103ce57806332d873d8146103f7576101f9565b8063104ce66d116101c1578063104ce66d146102ba57806318160ddd146102e55780631940d0201461031057806323b872dd1461033b576101f9565b80630492f055146101fe57806306fdde0314610229578063095ea7b3146102545780630b78f9c014610291576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b50610213610783565b6040516102209190612b46565b60405180910390f35b34801561023557600080fd5b5061023e610789565b60405161024b9190612bfa565b60405180910390f35b34801561026057600080fd5b5061027b60048036038101906102769190612cba565b6107c2565b6040516102889190612d15565b60405180910390f35b34801561029d57600080fd5b506102b860048036038101906102b39190612d30565b6107e0565b005b3480156102c657600080fd5b506102cf6108c3565b6040516102dc9190612d91565b60405180910390f35b3480156102f157600080fd5b506102fa6108e9565b6040516103079190612b46565b60405180910390f35b34801561031c57600080fd5b506103256108f9565b6040516103329190612b46565b60405180910390f35b34801561034757600080fd5b50610362600480360381019061035d9190612dac565b6108ff565b60405161036f9190612d15565b60405180910390f35b34801561038457600080fd5b5061038d6109bd565b60405161039a9190612b46565b60405180910390f35b3480156103af57600080fd5b506103b86109cd565b6040516103c59190612e1b565b60405180910390f35b3480156103da57600080fd5b506103f560048036038101906103f09190612f7e565b6109d2565b005b34801561040357600080fd5b5061040c610ac8565b6040516104199190612b46565b60405180910390f35b34801561042e57600080fd5b5061044960048036038101906104449190612fc7565b610ace565b6040516104569190612d15565b60405180910390f35b34801561046b57600080fd5b50610474610b24565b6040516104819190612b46565b60405180910390f35b34801561049657600080fd5b506104b160048036038101906104ac9190612ff4565b610b2a565b005b3480156104bf57600080fd5b506104c8610c11565b6040516104d59190613030565b60405180910390f35b3480156104ea57600080fd5b506104f3610c37565b6040516105009190612b46565b60405180910390f35b34801561051557600080fd5b5061051e610c3d565b005b34801561052c57600080fd5b5061054760048036038101906105429190612fc7565b610caf565b6040516105549190612b46565b60405180910390f35b34801561056957600080fd5b50610572610cf8565b005b34801561058057600080fd5b5061059b60048036038101906105969190612fc7565b610e4b565b005b3480156105a957600080fd5b506105b2610f49565b6040516105bf9190613030565b60405180910390f35b3480156105d457600080fd5b506105dd610f72565b6040516105ea9190612d15565b60405180910390f35b3480156105ff57600080fd5b50610608610f85565b6040516106159190612bfa565b60405180910390f35b34801561062a57600080fd5b5061064560048036038101906106409190612d30565b610fbe565b005b34801561065357600080fd5b5061066e60048036038101906106699190612cba565b61105b565b60405161067b9190612d15565b60405180910390f35b34801561069057600080fd5b506106ab60048036038101906106a69190612f7e565b611079565b005b3480156106b957600080fd5b506106c2611289565b005b3480156106d057600080fd5b506106d9611303565b005b3480156106e757600080fd5b506106f061142a565b6040516106fd9190612b46565b60405180910390f35b34801561071257600080fd5b5061072d60048036038101906107289190613077565b61145c565b005b34801561073b57600080fd5b50610756600480360381019061075191906130a4565b611520565b6040516107639190612b46565b60405180910390f35b34801561077857600080fd5b506107816115a7565b005b600d5481565b6040518060400160405280600d81526020017f4e696e6a61204361706974616c0000000000000000000000000000000000000081525081565b60006107d66107cf611a57565b8484611a5f565b6001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610821611a57565b73ffffffffffffffffffffffffffffffffffffffff161461084157600080fd5b600f821080156108515750600f81105b801561085e5750600a5482105b801561086b5750600b5481105b61087457600080fd5b81600a8190555080600b819055507f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a1600a54600b546040516108b79291906130e4565b60405180910390a15050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000678ac7230489e80000905090565b600e5481565b600061090c848484611c2a565b600082600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610958611a57565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461099d919061313c565b90506109b1856109ab611a57565b83611a5f565b60019150509392505050565b60006109c830610caf565b905090565b600981565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a13611a57565b73ffffffffffffffffffffffffffffffffffffffff1614610a3357600080fd5b60005b8151811015610ac457600060056000848481518110610a5857610a57613170565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610abc9061319f565b915050610a36565b5050565b600f5481565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600a5481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b6b611a57565b73ffffffffffffffffffffffffffffffffffffffff1614610b8b57600080fd5b60008111610bce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc590613234565b60405180910390fd5b80600c819055507f208f1b468d3d61f0f085e975bd9d04367c930d599642faad06695229f3eadcd8600c54604051610c069190612b46565b60405180910390a150565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c7e611a57565b73ffffffffffffffffffffffffffffffffffffffff1614610c9e57600080fd5b6000479050610cac81612536565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d00611a57565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d84906132a0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e8c611a57565b73ffffffffffffffffffffffffffffffffffffffff1614610eac57600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f5a9bcd8aea0cbf27de081c73815e420f65287b49bcf7a17ff691c61a2dd2d2d6600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610f3e919061331f565b60405180910390a150565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601060029054906101000a900460ff1681565b6040518060400160405280600881526020017f4e494e4a4143415000000000000000000000000000000000000000000000000081525081565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fff611a57565b73ffffffffffffffffffffffffffffffffffffffff161461101f57600080fd5b67016345785d8a000082101561103457600080fd5b6702c68af0bb14000081101561104957600080fd5b81600d8190555080600e819055505050565b600061106f611068611a57565b8484611c2a565b6001905092915050565b611081611a57565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461110e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611105906132a0565b60405180910390fd5b60005b815181101561128557600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682828151811061116657611165613170565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16141580156111fa5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168282815181106111d9576111d8613170565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614155b156112725760016005600084848151811061121857611217613170565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b808061127d9061319f565b915050611111565b5050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112ca611a57565b73ffffffffffffffffffffffffffffffffffffffff16146112ea57600080fd5b60006112f530610caf565b9050611300816125a2565b50565b61130b611a57565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138f906132a0565b60405180910390fd5b601060009054906101000a900460ff16156113e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113df90613386565b60405180910390fd5b6001601060006101000a81548160ff02191690831515021790555042600f8190555067016345785d8a0000600d819055506702c68af0bb140000600e81905550565b6000611457600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610caf565b905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661149d611a57565b73ffffffffffffffffffffffffffffffffffffffff16146114bd57600080fd5b80601060026101000a81548160ff0219169083151502179055507ff65c78d1059dbb9ec90732848bcfebbec05ac40af847d3c19adcad63379d3aeb601060029054906101000a900460ff166040516115159190612d15565b60405180910390a150565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6115af611a57565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461163c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611633906132a0565b60405180910390fd5b601060009054906101000a900460ff161561168c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168390613386565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061171b30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16678ac7230489e80000611a5f565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611766573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178a91906133bb565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181591906133bb565b6040518363ffffffff1660e01b81526004016118329291906133e8565b6020604051808303816000875af1158015611851573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187591906133bb565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306118fe30610caf565b600080611909610f49565b426040518863ffffffff1660e01b815260040161192b9695949392919061344c565b60606040518083038185885af1158015611949573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061196e91906134c2565b505050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611a10929190613515565b6020604051808303816000875af1158015611a2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a539190613553565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611acf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac6906135f2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3690613684565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c1d9190612b46565b60405180910390a3505050565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611cce5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d245750600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611d2d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9490613716565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e04906137a8565b60405180910390fd5b60008111611e50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e479061383a565b60405180910390fd5b6000611e5a610f49565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611ec85750611e98610f49565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561247157600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611f785750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611fce5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561224857601060009054906101000a900460ff16612022576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612019906138a6565b60405180910390fd5b600f54421415612085576001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600d548211156120ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c190613912565b60405180910390fd5b600e546120d684610caf565b836120e19190613932565b1115612122576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612119906139fa565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff166121fc5760405180604001604052806000815260200160011515815250600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff0219169083151502179055509050505b42600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550600190505b601060019054906101000a900460ff161580156122715750601060009054906101000a900460ff165b80156122cb5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561247057600f426122dd9190613932565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015410612360576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235790613a8c565b60405180910390fd5b600061236b30610caf565b9050600081111561245157601060029054906101000a900460ff161561241e576064600c546123bb600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610caf565b6123c59190613aac565b6123cf9190613b35565b81111561241d576064600c54612406600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610caf565b6124109190613aac565b61241a9190613b35565b90505b5b600060058261242d9190613b35565b9050808261243b919061313c565b91506124468161281b565b61244f826125a2565b505b600047905060008111156124695761246847612536565b5b6000925050505b5b600060019050600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806125185750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561252257600090505b61252f858585848661286b565b5050505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561259e573d6000803e3d6000fd5b5050565b6001601060016101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156125da576125d9612e3b565b5b6040519080825280602002602001820160405280156126085781602001602082028036833780820191505090505b50905030816000815181106126205761261f613170565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126eb91906133bb565b816001815181106126ff576126fe613170565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061276630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611a5f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016127ca959493929190613c24565b600060405180830381600087803b1580156127e457600080fd5b505af11580156127f8573d6000803e3d6000fd5b50505050506000601060016101000a81548160ff02191690831515021790555050565b6001601060016101000a81548160ff021916908315150217905550600081111561284d5761284c3061dead83611c2a565b5b6000601060016101000a81548160ff02191690831515021790555050565b6000612877838361288d565b9050612885868686846128bb565b505050505050565b6000806000905083156128b15782156128aa57600a5490506128b0565b600b5490505b5b8091505092915050565b6000806128c88484612a5e565b9150915083600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612917919061313c565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129a59190613932565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129f181612a9c565b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612a4e9190612b46565b60405180910390a3505050505050565b600080600060648486612a719190613aac565b612a7b9190613b35565b905060008186612a8b919061313c565b905080829350935050509250929050565b80600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ae79190613932565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000819050919050565b612b4081612b2d565b82525050565b6000602082019050612b5b6000830184612b37565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612b9b578082015181840152602081019050612b80565b83811115612baa576000848401525b50505050565b6000601f19601f8301169050919050565b6000612bcc82612b61565b612bd68185612b6c565b9350612be6818560208601612b7d565b612bef81612bb0565b840191505092915050565b60006020820190508181036000830152612c148184612bc1565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612c5b82612c30565b9050919050565b612c6b81612c50565b8114612c7657600080fd5b50565b600081359050612c8881612c62565b92915050565b612c9781612b2d565b8114612ca257600080fd5b50565b600081359050612cb481612c8e565b92915050565b60008060408385031215612cd157612cd0612c26565b5b6000612cdf85828601612c79565b9250506020612cf085828601612ca5565b9150509250929050565b60008115159050919050565b612d0f81612cfa565b82525050565b6000602082019050612d2a6000830184612d06565b92915050565b60008060408385031215612d4757612d46612c26565b5b6000612d5585828601612ca5565b9250506020612d6685828601612ca5565b9150509250929050565b6000612d7b82612c30565b9050919050565b612d8b81612d70565b82525050565b6000602082019050612da66000830184612d82565b92915050565b600080600060608486031215612dc557612dc4612c26565b5b6000612dd386828701612c79565b9350506020612de486828701612c79565b9250506040612df586828701612ca5565b9150509250925092565b600060ff82169050919050565b612e1581612dff565b82525050565b6000602082019050612e306000830184612e0c565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612e7382612bb0565b810181811067ffffffffffffffff82111715612e9257612e91612e3b565b5b80604052505050565b6000612ea5612c1c565b9050612eb18282612e6a565b919050565b600067ffffffffffffffff821115612ed157612ed0612e3b565b5b602082029050602081019050919050565b600080fd5b6000612efa612ef584612eb6565b612e9b565b90508083825260208201905060208402830185811115612f1d57612f1c612ee2565b5b835b81811015612f465780612f328882612c79565b845260208401935050602081019050612f1f565b5050509392505050565b600082601f830112612f6557612f64612e36565b5b8135612f75848260208601612ee7565b91505092915050565b600060208284031215612f9457612f93612c26565b5b600082013567ffffffffffffffff811115612fb257612fb1612c2b565b5b612fbe84828501612f50565b91505092915050565b600060208284031215612fdd57612fdc612c26565b5b6000612feb84828501612c79565b91505092915050565b60006020828403121561300a57613009612c26565b5b600061301884828501612ca5565b91505092915050565b61302a81612c50565b82525050565b60006020820190506130456000830184613021565b92915050565b61305481612cfa565b811461305f57600080fd5b50565b6000813590506130718161304b565b92915050565b60006020828403121561308d5761308c612c26565b5b600061309b84828501613062565b91505092915050565b600080604083850312156130bb576130ba612c26565b5b60006130c985828601612c79565b92505060206130da85828601612c79565b9150509250929050565b60006040820190506130f96000830185612b37565b6131066020830184612b37565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061314782612b2d565b915061315283612b2d565b9250828210156131655761316461310d565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006131aa82612b2d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156131dd576131dc61310d565b5b600182019050919050565b7f63616e2774206265207a65726f00000000000000000000000000000000000000600082015250565b600061321e600d83612b6c565b9150613229826131e8565b602082019050919050565b6000602082019050818103600083015261324d81613211565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061328a602083612b6c565b915061329582613254565b602082019050919050565b600060208201905081810360008301526132b98161327d565b9050919050565b6000819050919050565b60006132e56132e06132db84612c30565b6132c0565b612c30565b9050919050565b60006132f7826132ca565b9050919050565b6000613309826132ec565b9050919050565b613319816132fe565b82525050565b60006020820190506133346000830184613310565b92915050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000613370601783612b6c565b915061337b8261333a565b602082019050919050565b6000602082019050818103600083015261339f81613363565b9050919050565b6000815190506133b581612c62565b92915050565b6000602082840312156133d1576133d0612c26565b5b60006133df848285016133a6565b91505092915050565b60006040820190506133fd6000830185613021565b61340a6020830184613021565b9392505050565b6000819050919050565b600061343661343161342c84613411565b6132c0565b612b2d565b9050919050565b6134468161341b565b82525050565b600060c0820190506134616000830189613021565b61346e6020830188612b37565b61347b604083018761343d565b613488606083018661343d565b6134956080830185613021565b6134a260a0830184612b37565b979650505050505050565b6000815190506134bc81612c8e565b92915050565b6000806000606084860312156134db576134da612c26565b5b60006134e9868287016134ad565b93505060206134fa868287016134ad565b925050604061350b868287016134ad565b9150509250925092565b600060408201905061352a6000830185613021565b6135376020830184612b37565b9392505050565b60008151905061354d8161304b565b92915050565b60006020828403121561356957613568612c26565b5b60006135778482850161353e565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006135dc602483612b6c565b91506135e782613580565b604082019050919050565b6000602082019050818103600083015261360b816135cf565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061366e602283612b6c565b915061367982613612565b604082019050919050565b6000602082019050818103600083015261369d81613661565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613700602583612b6c565b915061370b826136a4565b604082019050919050565b6000602082019050818103600083015261372f816136f3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613792602383612b6c565b915061379d82613736565b604082019050919050565b600060208201905081810360008301526137c181613785565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613824602983612b6c565b915061382f826137c8565b604082019050919050565b6000602082019050818103600083015261385381613817565b9050919050565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b6000613890601883612b6c565b915061389b8261385a565b602082019050919050565b600060208201905081810360008301526138bf81613883565b9050919050565b7f45786365656473206d6178696d756d2062757920616d6f756e742e0000000000600082015250565b60006138fc601b83612b6c565b9150613907826138c6565b602082019050919050565b6000602082019050818103600083015261392b816138ef565b9050919050565b600061393d82612b2d565b915061394883612b2d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561397d5761397c61310d565b5b828201905092915050565b7f596f752063616e2774206f776e2074686174206d616e7920746f6b656e73206160008201527f74206f6e63652e00000000000000000000000000000000000000000000000000602082015250565b60006139e4602783612b6c565b91506139ef82613988565b604082019050919050565b60006020820190508181036000830152613a13816139d7565b9050919050565b7f596f75722073656c6c20636f6f6c646f776e20686173206e6f7420657870697260008201527f65642e0000000000000000000000000000000000000000000000000000000000602082015250565b6000613a76602383612b6c565b9150613a8182613a1a565b604082019050919050565b60006020820190508181036000830152613aa581613a69565b9050919050565b6000613ab782612b2d565b9150613ac283612b2d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613afb57613afa61310d565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613b4082612b2d565b9150613b4b83612b2d565b925082613b5b57613b5a613b06565b5b828204905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613b9b81612c50565b82525050565b6000613bad8383613b92565b60208301905092915050565b6000602082019050919050565b6000613bd182613b66565b613bdb8185613b71565b9350613be683613b82565b8060005b83811015613c17578151613bfe8882613ba1565b9750613c0983613bb9565b925050600181019050613bea565b5085935050505092915050565b600060a082019050613c396000830188612b37565b613c46602083018761343d565b8181036040830152613c588186613bc6565b9050613c676060830185613021565b613c746080830184612b37565b969550505050505056fea2646970667358221220613e4070aa9d51e410282d26d722b8c3f403f85b84196349f69e7b816d4693ae64736f6c634300080c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000db0e30764ee7f87697faaab1af8b7726c99ed564
-----Decoded View---------------
Arg [0] : TaxAdd (address): 0xDB0e30764EE7f87697fAaAB1Af8B7726C99ed564
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000db0e30764ee7f87697faaab1af8b7726c99ed564
Deployed Bytecode Sourcemap
3679:10933:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4442:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4065:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5996:158;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13131:272;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4274:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5743:97;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4474:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6162:308;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13801:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4180:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14301:202;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4507:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14511:90;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4346:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12921:202;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4311:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4377:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12730:183;;;;;;;;;;;;;:::i;:::-;;5448:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2760:148;;;;;;;;;;;;;:::i;:::-;;13613:180;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2546:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4604:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4124:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12252:274;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5567:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14020:275;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12534:184;;;;;;;;;;;;;:::i;:::-;;11971:273;;;;;;;;;;;;;:::i;:::-;;13909:101;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13411:194;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5848:140;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11275:688;;;;;;;;;;;;;:::i;:::-;;4442:25;;;;:::o;4065:52::-;;;;;;;;;;;;;;;;;;;:::o;5996:158::-;6068:4;6085:39;6094:12;:10;:12::i;:::-;6108:7;6117:6;6085:8;:39::i;:::-;6142:4;6135:11;;5996:158;;;;:::o;13131:272::-;13214:7;;;;;;;;;;;13198:23;;:12;:10;:12::i;:::-;:23;;;13190:32;;;;;;13247:2;13241:3;:8;:21;;;;;13260:2;13253:4;:9;13241:21;:38;;;;;13272:7;;13266:3;:13;13241:38;:57;;;;;13290:8;;13283:4;:15;13241:57;13233:66;;;;;;13320:3;13310:7;:13;;;;13345:4;13334:8;:15;;;;13365:30;13377:7;;13386:8;;13365:30;;;;;;;:::i;:::-;;;;;;;;13131:272;;:::o;4274:30::-;;;;;;;;;;;;;:::o;5743:97::-;5796:4;4044:12;5813:19;;5743:97;:::o;4474:26::-;;;;:::o;6162:308::-;6257:4;6274:36;6284:6;6292:9;6303:6;6274:9;:36::i;:::-;6321:18;6378:6;6342:11;:19;6354:6;6342:19;;;;;;;;;;;;;;;:33;6362:12;:10;:12::i;:::-;6342:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;6321:63;;6395:45;6404:6;6412:12;:10;:12::i;:::-;6426:13;6395:8;:45::i;:::-;6458:4;6451:11;;;6162:308;;;;;:::o;13801:100::-;13845:4;13869:24;13887:4;13869:9;:24::i;:::-;13862:31;;13801:100;:::o;4180:34::-;4213:1;4180:34;:::o;14301:202::-;14386:7;;;;;;;;;;;14370:23;;:12;:10;:12::i;:::-;:23;;;14362:32;;;;;;14410:6;14405:91;14426:5;:12;14422:1;:16;14405:91;;;14479:5;14460:6;:16;14467:5;14473:1;14467:8;;;;;;;;:::i;:::-;;;;;;;;14460:16;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;14440:3;;;;;:::i;:::-;;;;14405:91;;;;14301:202;:::o;4507:23::-;;;;:::o;14511:90::-;14559:4;14583:6;:10;14590:2;14583:10;;;;;;;;;;;;;;;;;;;;;;;;;14576:17;;14511:90;;;:::o;4346:24::-;;;;:::o;12921:202::-;12996:7;;;;;;;;;;;12980:23;;:12;:10;:12::i;:::-;:23;;;12972:32;;;;;;13030:1;13023:4;:8;13015:34;;;;;;;;;;;;:::i;:::-;;;;;;;;;13071:4;13060:8;:15;;;;13091:24;13106:8;;13091:24;;;;;;:::i;:::-;;;;;;;;12921:202;:::o;4311:28::-;;;;;;;;;;;;;:::o;4377:25::-;;;;:::o;12730:183::-;12796:7;;;;;;;;;;;12780:23;;:12;:10;:12::i;:::-;:23;;;12772:32;;;;;;12815:23;12841:21;12815:47;;12873:32;12886:18;12873:12;:32::i;:::-;12761:152;12730:183::o;5448:113::-;5514:4;5538:6;:15;5545:7;5538:15;;;;;;;;;;;;;;;;5531:22;;5448:113;;;:::o;2760:148::-;2683:12;:10;:12::i;:::-;2673:22;;:6;;;;;;;;;;:22;;;2665:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2867:1:::1;2830:40;;2851:6;::::0;::::1;;;;;;;;2830:40;;;;;;;;;;;;2898:1;2881:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2760:148::o:0;13613:180::-;13699:7;;;;;;;;;;;13683:23;;:12;:10;:12::i;:::-;:23;;;13675:32;;;;;;13736:10;13718:7;;:29;;;;;;;;;;;;;;;;;;13763:22;13777:7;;;;;;;;;;;13763:22;;;;;;:::i;:::-;;;;;;;;13613:180;:::o;2546:79::-;2584:7;2611:6;;;;;;;;;;;2604:13;;2546:79;:::o;4604:39::-;;;;;;;;;;;;;:::o;4124:49::-;;;;;;;;;;;;;;;;;;;:::o;12252:274::-;12342:7;;;;;;;;;;;12326:23;;:12;:10;:12::i;:::-;:23;;;12318:32;;;;;;12379:17;12369:6;:27;;12361:36;;;;;;12427:17;12416:7;:28;;12408:37;;;;;;12474:6;12458:13;:22;;;;12509:7;12491:14;:25;;;;12252:274;;:::o;5567:164::-;5642:4;5659:42;5669:12;:10;:12::i;:::-;5683:9;5694:6;5659:9;:42::i;:::-;5719:4;5712:11;;5567:164;;;;:::o;14020:275::-;2683:12;:10;:12::i;:::-;2673:22;;:6;;;;;;;;;;:22;;;2665:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14098:6:::1;14093:195;14114:5;:12;14110:1;:16;14093:195;;;14164:13;;;;;;;;;;;14152:25;;:5;14158:1;14152:8;;;;;;;;:::i;:::-;;;;;;;;:25;;;;:65;;;;;14201:15;;;;;;;;;;;14181:36;;:5;14187:1;14181:8;;;;;;;;:::i;:::-;;;;;;;;:36;;;;14152:65;14148:129;;;14257:4;14238:6;:16;14245:5;14251:1;14245:8;;;;;;;;:::i;:::-;;;;;;;;14238:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;14148:129;14128:3;;;;;:::i;:::-;;;;14093:195;;;;14020:275:::0;:::o;12534:184::-;12600:7;;;;;;;;;;;12584:23;;:12;:10;:12::i;:::-;:23;;;12576:32;;;;;;12619:20;12642:24;12660:4;12642:9;:24::i;:::-;12619:47;;12677:33;12694:15;12677:16;:33::i;:::-;12565:153;12534:184::o;11971:273::-;2683:12;:10;:12::i;:::-;2673:22;;:6;;;;;;;;;;:22;;;2665:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12035:12:::1;;;;;;;;;;;12034:13;12026:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;12101:4;12086:12;;:19;;;;;;;;;;;;;;;;;;12130:15;12116:11;:29;;;;12172:17;12156:13;:33;;;;12218:17;12201:14;:34;;;;11971:273::o:0;13909:101::-;13954:4;13978:24;13988:13;;;;;;;;;;;13978:9;:24::i;:::-;13971:31;;13909:101;:::o;13411:194::-;13492:7;;;;;;;;;;;13476:23;;:12;:10;:12::i;:::-;:23;;;13468:32;;;;;;13533:5;13511:19;;:27;;;;;;;;;;;;;;;;;;13554:43;13577:19;;;;;;;;;;;13554:43;;;;;;:::i;:::-;;;;;;;;13411:194;:::o;5848:140::-;5929:4;5953:11;:18;5965:5;5953:18;;;;;;;;;;;;;;;:27;5972:7;5953:27;;;;;;;;;;;;;;;;5946:34;;5848:140;;;;:::o;11275:688::-;2683:12;:10;:12::i;:::-;2673:22;;:6;;;;;;;;;;:22;;;2665:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11340:12:::1;;;;;;;;;;;11339:13;11331:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;11391:35;11448:42;11391:100;;11520:16;11502:15;;:34;;;;;;;;;;;;;;;;;;11547:63;11564:4;11579:15;;;;;;;;;;;4044:12;11547:8;:63::i;:::-;11655:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11637:56;;;11702:4;11709:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11637:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11621:13;;:112;;;;;;;;;;;;;;;;;;11744:15;;;;;;;;;;;:31;;;11783:21;11814:4;11820:24;11838:4;11820:9;:24::i;:::-;11845:1;11847::::0;11849:7:::1;:5;:7::i;:::-;11857:15;11744:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11891:13;;;;;;;;;;;11884:29;;;11922:15;;;;;;;;;;;11940:14;11884:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11320:643;11275:688::o:0;1409:98::-;1462:7;1489:10;1482:17;;1409:98;:::o;6478:332::-;6585:1;6568:19;;:5;:19;;;;6560:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6666:1;6647:21;;:7;:21;;;;6639:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6748:6;6718:11;:18;6730:5;6718:18;;;;;;;;;;;;;;;:27;6737:7;6718:27;;;;;;;;;;;;;;;:36;;;;6786:7;6770:32;;6779:5;6770:32;;;6795:6;6770:32;;;;;;:::i;:::-;;;;;;;;6478:332;;;:::o;6818:2394::-;6904:6;:12;6911:4;6904:12;;;;;;;;;;;;;;;;;;;;;;;;;6903:13;:28;;;;;6921:6;:10;6928:2;6921:10;;;;;;;;;;;;;;;;;;;;;;;;;6920:11;6903:28;:51;;;;;6936:6;:18;6943:10;6936:18;;;;;;;;;;;;;;;;;;;;;;;;;6935:19;6903:51;6895:60;;;;;;6990:1;6974:18;;:4;:18;;;;6966:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7067:1;7053:16;;:2;:16;;;;7045:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7137:1;7128:6;:10;7120:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7195:10;7235:7;:5;:7::i;:::-;7227:15;;:4;:15;;;;:32;;;;;7252:7;:5;:7::i;:::-;7246:13;;:2;:13;;;;7227:32;7224:1790;;;7287:13;;;;;;;;;;;7279:21;;:4;:21;;;:55;;;;;7318:15;;;;;;;;;;;7304:30;;:2;:30;;;;7279:55;:82;;;;;7339:18;:22;7358:2;7339:22;;;;;;;;;;;;;;;;;;;;;;;;;7338:23;7279:82;7276:649;;;7390:12;;;;;;;;;;;7382:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;7473:11;;7454:15;:30;7450:53;;;7499:4;7486:6;:10;7493:2;7486:10;;;;;;;;;;;;;;;;:17;;;;;;;;;;;;;;;;;;7450:53;7540:13;;7530:6;:23;;7522:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;7649:14;;7622:22;7640:2;7622:9;:22::i;:::-;7613:6;:31;;;;:::i;:::-;7612:51;;7604:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;7733:8;:12;7742:2;7733:12;;;;;;;;;;;;;;;:19;;;;;;;;;;;;7729:95;;7792:12;;;;;;;;7797:1;7792:12;;;;7799:4;7792:12;;;;;7777:8;:12;7786:2;7777:12;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7729:95;7863:15;7844:8;:12;7853:2;7844:12;;;;;;;;;;;;;;;:16;;:34;;;;7905:4;7897:12;;7276:649;7943:7;;;;;;;;;;;7942:8;:24;;;;;7954:12;;;;;;;;;;;7942:24;:49;;;;;7978:13;;;;;;;;;;;7970:21;;:4;:21;;;;7942:49;7939:1064;;;8060:10;8041:15;:30;;;;:::i;:::-;8020:8;:14;8029:4;8020:14;;;;;;;;;;;;;;;:18;;;:51;8012:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;8130:25;8158:24;8176:4;8158:9;:24::i;:::-;8130:52;;8227:1;8204:20;:24;8201:566;;;8256:19;;;;;;;;;;;8253:270;;;8370:3;8358:8;;8331:24;8341:13;;;;;;;;;;;8331:9;:24::i;:::-;:35;;;;:::i;:::-;8330:43;;;;:::i;:::-;8307:20;:66;8304:196;;;8469:3;8457:8;;8430:24;8440:13;;;;;;;;;;;8430:9;:24::i;:::-;:35;;;;:::i;:::-;8429:43;;;;:::i;:::-;8406:66;;8304:196;8253:270;8545:15;8584:1;8563:20;:22;;;;:::i;:::-;8545:40;;8632:10;8608:34;;;;;:::i;:::-;;;8665:21;8675:10;8665:9;:21::i;:::-;8709:38;8726:20;8709:16;:38::i;:::-;8230:537;8201:566;8785:23;8811:21;8785:47;;8875:1;8854:18;:22;8851:105;;;8901:35;8914:21;8901:12;:35::i;:::-;8851:105;8982:5;8974:13;;7993:1010;;7939:1064;7224:1790;9024:12;9039:4;9024:19;;9057:18;:24;9076:4;9057:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;9085:18;:22;9104:2;9085:22;;;;;;;;;;;;;;;;;;;;;;;;;9057:50;9054:96;;;9133:5;9123:15;;9054:96;9160:44;9175:4;9180:2;9183:6;9190:7;9198:5;9160:14;:44::i;:::-;6884:2328;;6818:2394;;;:::o;9896:86::-;9950:7;;;;;;;;;;;:16;;:24;9967:6;9950:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9896:86;:::o;9400:480::-;5007:4;4997:7;;:14;;;;;;;;;;;;;;;;;;9475:21:::1;9513:1;9499:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9475:40;;9544:4;9526;9531:1;9526:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9570:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9560:4;9565:1;9560:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9603:62;9620:4;9635:15;;;;;;;;;;;9653:11;9603:8;:62::i;:::-;9676:15;;;;;;;;;;;:66;;;9757:11;9783:1;9799:4;9826;9846:15;9676:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9464:416;5044:5:::0;5034:7;;:15;;;;;;;;;;;;;;;;;;9400:480;:::o;9220:172::-;5007:4;4997:7;;:14;;;;;;;;;;;;;;;;;;9302:1:::1;9289:10;:14;9286:97;;;9319:52;9337:4;9352:6;9360:10;9319:9;:52::i;:::-;9286:97;5044:5:::0;5034:7;;:15;;;;;;;;;;;;;;;;;;9220:172;:::o;9994:217::-;10110:8;10122:21;10130:7;10139:3;10122:7;:21::i;:::-;10109:34;;10154:49;10172:6;10180:9;10191:6;10199:3;10154:17;:49::i;:::-;10098:113;9994:217;;;;;:::o;10219:280::-;10282:4;10299:8;10310:1;10299:12;;10325:7;10322:149;;;10352:3;10349:111;;;10382:7;;10376:13;;10349:111;;;10436:8;;10430:14;;10349:111;10322:149;10488:3;10481:10;;;10219:280;;;;:::o;10507:372::-;10612:19;10633:9;10646:23;10657:6;10665:3;10646:10;:23::i;:::-;10611:58;;;;10714:6;10697;:14;10704:6;10697:14;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;10680:6;:14;10687:6;10680:14;;;;;;;;;;;;;;;:40;;;;10771:14;10751:6;:17;10758:9;10751:17;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;10731:6;:17;10738:9;10731:17;;;;;;;;;;;;;;;:54;;;;10797:15;10807:4;10797:9;:15::i;:::-;10845:9;10828:43;;10837:6;10828:43;;;10856:14;10828:43;;;;;;:::i;:::-;;;;;;;;10600:279;;10507:372;;;;:::o;10887:222::-;10956:4;10962;10979:9;11012:3;11001:7;10992:6;:16;;;;:::i;:::-;10991:24;;;;:::i;:::-;10979:36;;11026:19;11057:4;11048:6;:13;;;;:::i;:::-;11026:35;;11080:14;11096:4;11072:29;;;;;;10887:222;;;;;:::o;11117:109::-;11214:4;11190:6;:21;11205:4;11190:21;;;;;;;;;;;;;;;;:28;;;;:::i;:::-;11166:6;:21;11181:4;11166:21;;;;;;;;;;;;;;;:52;;;;11117:109;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:307::-;790:1;800:113;814:6;811:1;808:13;800:113;;;899:1;894:3;890:11;884:18;880:1;875:3;871:11;864:39;836:2;833:1;829:10;824:15;;800:113;;;931:6;928:1;925:13;922:101;;;1011:1;1002:6;997:3;993:16;986:27;922:101;771:258;722:307;;;:::o;1035:102::-;1076:6;1127:2;1123:7;1118:2;1111:5;1107:14;1103:28;1093:38;;1035:102;;;:::o;1143:364::-;1231:3;1259:39;1292:5;1259:39;:::i;:::-;1314:71;1378:6;1373:3;1314:71;:::i;:::-;1307:78;;1394:52;1439:6;1434:3;1427:4;1420:5;1416:16;1394:52;:::i;:::-;1471:29;1493:6;1471:29;:::i;:::-;1466:3;1462:39;1455:46;;1235:272;1143:364;;;;:::o;1513:313::-;1626:4;1664:2;1653:9;1649:18;1641:26;;1713:9;1707:4;1703:20;1699:1;1688:9;1684:17;1677:47;1741:78;1814:4;1805:6;1741:78;:::i;:::-;1733:86;;1513:313;;;;:::o;1832:75::-;1865:6;1898:2;1892:9;1882:19;;1832:75;:::o;1913:117::-;2022:1;2019;2012:12;2036:117;2145:1;2142;2135:12;2159:126;2196:7;2236:42;2229:5;2225:54;2214:65;;2159:126;;;:::o;2291:96::-;2328:7;2357:24;2375:5;2357:24;:::i;:::-;2346:35;;2291:96;;;:::o;2393:122::-;2466:24;2484:5;2466:24;:::i;:::-;2459:5;2456:35;2446:63;;2505:1;2502;2495:12;2446:63;2393:122;:::o;2521:139::-;2567:5;2605:6;2592:20;2583:29;;2621:33;2648:5;2621:33;:::i;:::-;2521:139;;;;:::o;2666:122::-;2739:24;2757:5;2739:24;:::i;:::-;2732:5;2729:35;2719:63;;2778:1;2775;2768:12;2719:63;2666:122;:::o;2794:139::-;2840:5;2878:6;2865:20;2856:29;;2894:33;2921:5;2894:33;:::i;:::-;2794:139;;;;:::o;2939:474::-;3007:6;3015;3064:2;3052:9;3043:7;3039:23;3035:32;3032:119;;;3070:79;;:::i;:::-;3032:119;3190:1;3215:53;3260:7;3251:6;3240:9;3236:22;3215:53;:::i;:::-;3205:63;;3161:117;3317:2;3343:53;3388:7;3379:6;3368:9;3364:22;3343:53;:::i;:::-;3333:63;;3288:118;2939:474;;;;;:::o;3419:90::-;3453:7;3496:5;3489:13;3482:21;3471:32;;3419:90;;;:::o;3515:109::-;3596:21;3611:5;3596:21;:::i;:::-;3591:3;3584:34;3515:109;;:::o;3630:210::-;3717:4;3755:2;3744:9;3740:18;3732:26;;3768:65;3830:1;3819:9;3815:17;3806:6;3768:65;:::i;:::-;3630:210;;;;:::o;3846:474::-;3914:6;3922;3971:2;3959:9;3950:7;3946:23;3942:32;3939:119;;;3977:79;;:::i;:::-;3939:119;4097:1;4122:53;4167:7;4158:6;4147:9;4143:22;4122:53;:::i;:::-;4112:63;;4068:117;4224:2;4250:53;4295:7;4286:6;4275:9;4271:22;4250:53;:::i;:::-;4240:63;;4195:118;3846:474;;;;;:::o;4326:104::-;4371:7;4400:24;4418:5;4400:24;:::i;:::-;4389:35;;4326:104;;;:::o;4436:142::-;4539:32;4565:5;4539:32;:::i;:::-;4534:3;4527:45;4436:142;;:::o;4584:254::-;4693:4;4731:2;4720:9;4716:18;4708:26;;4744:87;4828:1;4817:9;4813:17;4804:6;4744:87;:::i;:::-;4584:254;;;;:::o;4844:619::-;4921:6;4929;4937;4986:2;4974:9;4965:7;4961:23;4957:32;4954:119;;;4992:79;;:::i;:::-;4954:119;5112:1;5137:53;5182:7;5173:6;5162:9;5158:22;5137:53;:::i;:::-;5127:63;;5083:117;5239:2;5265:53;5310:7;5301:6;5290:9;5286:22;5265:53;:::i;:::-;5255:63;;5210:118;5367:2;5393:53;5438:7;5429:6;5418:9;5414:22;5393:53;:::i;:::-;5383:63;;5338:118;4844:619;;;;;:::o;5469:86::-;5504:7;5544:4;5537:5;5533:16;5522:27;;5469:86;;;:::o;5561:112::-;5644:22;5660:5;5644:22;:::i;:::-;5639:3;5632:35;5561:112;;:::o;5679:214::-;5768:4;5806:2;5795:9;5791:18;5783:26;;5819:67;5883:1;5872:9;5868:17;5859:6;5819:67;:::i;:::-;5679:214;;;;:::o;5899:117::-;6008:1;6005;5998:12;6022:180;6070:77;6067:1;6060:88;6167:4;6164:1;6157:15;6191:4;6188:1;6181:15;6208:281;6291:27;6313:4;6291:27;:::i;:::-;6283:6;6279:40;6421:6;6409:10;6406:22;6385:18;6373:10;6370:34;6367:62;6364:88;;;6432:18;;:::i;:::-;6364:88;6472:10;6468:2;6461:22;6251:238;6208:281;;:::o;6495:129::-;6529:6;6556:20;;:::i;:::-;6546:30;;6585:33;6613:4;6605:6;6585:33;:::i;:::-;6495:129;;;:::o;6630:311::-;6707:4;6797:18;6789:6;6786:30;6783:56;;;6819:18;;:::i;:::-;6783:56;6869:4;6861:6;6857:17;6849:25;;6929:4;6923;6919:15;6911:23;;6630:311;;;:::o;6947:117::-;7056:1;7053;7046:12;7087:710;7183:5;7208:81;7224:64;7281:6;7224:64;:::i;:::-;7208:81;:::i;:::-;7199:90;;7309:5;7338:6;7331:5;7324:21;7372:4;7365:5;7361:16;7354:23;;7425:4;7417:6;7413:17;7405:6;7401:30;7454:3;7446:6;7443:15;7440:122;;;7473:79;;:::i;:::-;7440:122;7588:6;7571:220;7605:6;7600:3;7597:15;7571:220;;;7680:3;7709:37;7742:3;7730:10;7709:37;:::i;:::-;7704:3;7697:50;7776:4;7771:3;7767:14;7760:21;;7647:144;7631:4;7626:3;7622:14;7615:21;;7571:220;;;7575:21;7189:608;;7087:710;;;;;:::o;7820:370::-;7891:5;7940:3;7933:4;7925:6;7921:17;7917:27;7907:122;;7948:79;;:::i;:::-;7907:122;8065:6;8052:20;8090:94;8180:3;8172:6;8165:4;8157:6;8153:17;8090:94;:::i;:::-;8081:103;;7897:293;7820:370;;;;:::o;8196:539::-;8280:6;8329:2;8317:9;8308:7;8304:23;8300:32;8297:119;;;8335:79;;:::i;:::-;8297:119;8483:1;8472:9;8468:17;8455:31;8513:18;8505:6;8502:30;8499:117;;;8535:79;;:::i;:::-;8499:117;8640:78;8710:7;8701:6;8690:9;8686:22;8640:78;:::i;:::-;8630:88;;8426:302;8196:539;;;;:::o;8741:329::-;8800:6;8849:2;8837:9;8828:7;8824:23;8820:32;8817:119;;;8855:79;;:::i;:::-;8817:119;8975:1;9000:53;9045:7;9036:6;9025:9;9021:22;9000:53;:::i;:::-;8990:63;;8946:117;8741:329;;;;:::o;9076:::-;9135:6;9184:2;9172:9;9163:7;9159:23;9155:32;9152:119;;;9190:79;;:::i;:::-;9152:119;9310:1;9335:53;9380:7;9371:6;9360:9;9356:22;9335:53;:::i;:::-;9325:63;;9281:117;9076:329;;;;:::o;9411:118::-;9498:24;9516:5;9498:24;:::i;:::-;9493:3;9486:37;9411:118;;:::o;9535:222::-;9628:4;9666:2;9655:9;9651:18;9643:26;;9679:71;9747:1;9736:9;9732:17;9723:6;9679:71;:::i;:::-;9535:222;;;;:::o;9763:116::-;9833:21;9848:5;9833:21;:::i;:::-;9826:5;9823:32;9813:60;;9869:1;9866;9859:12;9813:60;9763:116;:::o;9885:133::-;9928:5;9966:6;9953:20;9944:29;;9982:30;10006:5;9982:30;:::i;:::-;9885:133;;;;:::o;10024:323::-;10080:6;10129:2;10117:9;10108:7;10104:23;10100:32;10097:119;;;10135:79;;:::i;:::-;10097:119;10255:1;10280:50;10322:7;10313:6;10302:9;10298:22;10280:50;:::i;:::-;10270:60;;10226:114;10024:323;;;;:::o;10353:474::-;10421:6;10429;10478:2;10466:9;10457:7;10453:23;10449:32;10446:119;;;10484:79;;:::i;:::-;10446:119;10604:1;10629:53;10674:7;10665:6;10654:9;10650:22;10629:53;:::i;:::-;10619:63;;10575:117;10731:2;10757:53;10802:7;10793:6;10782:9;10778:22;10757:53;:::i;:::-;10747:63;;10702:118;10353:474;;;;;:::o;10833:332::-;10954:4;10992:2;10981:9;10977:18;10969:26;;11005:71;11073:1;11062:9;11058:17;11049:6;11005:71;:::i;:::-;11086:72;11154:2;11143:9;11139:18;11130:6;11086:72;:::i;:::-;10833:332;;;;;:::o;11171:180::-;11219:77;11216:1;11209:88;11316:4;11313:1;11306:15;11340:4;11337:1;11330:15;11357:191;11397:4;11417:20;11435:1;11417:20;:::i;:::-;11412:25;;11451:20;11469:1;11451:20;:::i;:::-;11446:25;;11490:1;11487;11484:8;11481:34;;;11495:18;;:::i;:::-;11481:34;11540:1;11537;11533:9;11525:17;;11357:191;;;;:::o;11554:180::-;11602:77;11599:1;11592:88;11699:4;11696:1;11689:15;11723:4;11720:1;11713:15;11740:233;11779:3;11802:24;11820:5;11802:24;:::i;:::-;11793:33;;11848:66;11841:5;11838:77;11835:103;;;11918:18;;:::i;:::-;11835:103;11965:1;11958:5;11954:13;11947:20;;11740:233;;;:::o;11979:163::-;12119:15;12115:1;12107:6;12103:14;12096:39;11979:163;:::o;12148:366::-;12290:3;12311:67;12375:2;12370:3;12311:67;:::i;:::-;12304:74;;12387:93;12476:3;12387:93;:::i;:::-;12505:2;12500:3;12496:12;12489:19;;12148:366;;;:::o;12520:419::-;12686:4;12724:2;12713:9;12709:18;12701:26;;12773:9;12767:4;12763:20;12759:1;12748:9;12744:17;12737:47;12801:131;12927:4;12801:131;:::i;:::-;12793:139;;12520:419;;;:::o;12945:182::-;13085:34;13081:1;13073:6;13069:14;13062:58;12945:182;:::o;13133:366::-;13275:3;13296:67;13360:2;13355:3;13296:67;:::i;:::-;13289:74;;13372:93;13461:3;13372:93;:::i;:::-;13490:2;13485:3;13481:12;13474:19;;13133:366;;;:::o;13505:419::-;13671:4;13709:2;13698:9;13694:18;13686:26;;13758:9;13752:4;13748:20;13744:1;13733:9;13729:17;13722:47;13786:131;13912:4;13786:131;:::i;:::-;13778:139;;13505:419;;;:::o;13930:60::-;13958:3;13979:5;13972:12;;13930:60;;;:::o;13996:142::-;14046:9;14079:53;14097:34;14106:24;14124:5;14106:24;:::i;:::-;14097:34;:::i;:::-;14079:53;:::i;:::-;14066:66;;13996:142;;;:::o;14144:126::-;14194:9;14227:37;14258:5;14227:37;:::i;:::-;14214:50;;14144:126;;;:::o;14276:134::-;14334:9;14367:37;14398:5;14367:37;:::i;:::-;14354:50;;14276:134;;;:::o;14416:147::-;14511:45;14550:5;14511:45;:::i;:::-;14506:3;14499:58;14416:147;;:::o;14569:238::-;14670:4;14708:2;14697:9;14693:18;14685:26;;14721:79;14797:1;14786:9;14782:17;14773:6;14721:79;:::i;:::-;14569:238;;;;:::o;14813:173::-;14953:25;14949:1;14941:6;14937:14;14930:49;14813:173;:::o;14992:366::-;15134:3;15155:67;15219:2;15214:3;15155:67;:::i;:::-;15148:74;;15231:93;15320:3;15231:93;:::i;:::-;15349:2;15344:3;15340:12;15333:19;;14992:366;;;:::o;15364:419::-;15530:4;15568:2;15557:9;15553:18;15545:26;;15617:9;15611:4;15607:20;15603:1;15592:9;15588:17;15581:47;15645:131;15771:4;15645:131;:::i;:::-;15637:139;;15364:419;;;:::o;15789:143::-;15846:5;15877:6;15871:13;15862:22;;15893:33;15920:5;15893:33;:::i;:::-;15789:143;;;;:::o;15938:351::-;16008:6;16057:2;16045:9;16036:7;16032:23;16028:32;16025:119;;;16063:79;;:::i;:::-;16025:119;16183:1;16208:64;16264:7;16255:6;16244:9;16240:22;16208:64;:::i;:::-;16198:74;;16154:128;15938:351;;;;:::o;16295:332::-;16416:4;16454:2;16443:9;16439:18;16431:26;;16467:71;16535:1;16524:9;16520:17;16511:6;16467:71;:::i;:::-;16548:72;16616:2;16605:9;16601:18;16592:6;16548:72;:::i;:::-;16295:332;;;;;:::o;16633:85::-;16678:7;16707:5;16696:16;;16633:85;;;:::o;16724:158::-;16782:9;16815:61;16833:42;16842:32;16868:5;16842:32;:::i;:::-;16833:42;:::i;:::-;16815:61;:::i;:::-;16802:74;;16724:158;;;:::o;16888:147::-;16983:45;17022:5;16983:45;:::i;:::-;16978:3;16971:58;16888:147;;:::o;17041:807::-;17290:4;17328:3;17317:9;17313:19;17305:27;;17342:71;17410:1;17399:9;17395:17;17386:6;17342:71;:::i;:::-;17423:72;17491:2;17480:9;17476:18;17467:6;17423:72;:::i;:::-;17505:80;17581:2;17570:9;17566:18;17557:6;17505:80;:::i;:::-;17595;17671:2;17660:9;17656:18;17647:6;17595:80;:::i;:::-;17685:73;17753:3;17742:9;17738:19;17729:6;17685:73;:::i;:::-;17768;17836:3;17825:9;17821:19;17812:6;17768:73;:::i;:::-;17041:807;;;;;;;;;:::o;17854:143::-;17911:5;17942:6;17936:13;17927:22;;17958:33;17985:5;17958:33;:::i;:::-;17854:143;;;;:::o;18003:663::-;18091:6;18099;18107;18156:2;18144:9;18135:7;18131:23;18127:32;18124:119;;;18162:79;;:::i;:::-;18124:119;18282:1;18307:64;18363:7;18354:6;18343:9;18339:22;18307:64;:::i;:::-;18297:74;;18253:128;18420:2;18446:64;18502:7;18493:6;18482:9;18478:22;18446:64;:::i;:::-;18436:74;;18391:129;18559:2;18585:64;18641:7;18632:6;18621:9;18617:22;18585:64;:::i;:::-;18575:74;;18530:129;18003:663;;;;;:::o;18672:332::-;18793:4;18831:2;18820:9;18816:18;18808:26;;18844:71;18912:1;18901:9;18897:17;18888:6;18844:71;:::i;:::-;18925:72;18993:2;18982:9;18978:18;18969:6;18925:72;:::i;:::-;18672:332;;;;;:::o;19010:137::-;19064:5;19095:6;19089:13;19080:22;;19111:30;19135:5;19111:30;:::i;:::-;19010:137;;;;:::o;19153:345::-;19220:6;19269:2;19257:9;19248:7;19244:23;19240:32;19237:119;;;19275:79;;:::i;:::-;19237:119;19395:1;19420:61;19473:7;19464:6;19453:9;19449:22;19420:61;:::i;:::-;19410:71;;19366:125;19153:345;;;;:::o;19504:223::-;19644:34;19640:1;19632:6;19628:14;19621:58;19713:6;19708:2;19700:6;19696:15;19689:31;19504:223;:::o;19733:366::-;19875:3;19896:67;19960:2;19955:3;19896:67;:::i;:::-;19889:74;;19972:93;20061:3;19972:93;:::i;:::-;20090:2;20085:3;20081:12;20074:19;;19733:366;;;:::o;20105:419::-;20271:4;20309:2;20298:9;20294:18;20286:26;;20358:9;20352:4;20348:20;20344:1;20333:9;20329:17;20322:47;20386:131;20512:4;20386:131;:::i;:::-;20378:139;;20105:419;;;:::o;20530:221::-;20670:34;20666:1;20658:6;20654:14;20647:58;20739:4;20734:2;20726:6;20722:15;20715:29;20530:221;:::o;20757:366::-;20899:3;20920:67;20984:2;20979:3;20920:67;:::i;:::-;20913:74;;20996:93;21085:3;20996:93;:::i;:::-;21114:2;21109:3;21105:12;21098:19;;20757:366;;;:::o;21129:419::-;21295:4;21333:2;21322:9;21318:18;21310:26;;21382:9;21376:4;21372:20;21368:1;21357:9;21353:17;21346:47;21410:131;21536:4;21410:131;:::i;:::-;21402:139;;21129:419;;;:::o;21554:224::-;21694:34;21690:1;21682:6;21678:14;21671:58;21763:7;21758:2;21750:6;21746:15;21739:32;21554:224;:::o;21784:366::-;21926:3;21947:67;22011:2;22006:3;21947:67;:::i;:::-;21940:74;;22023:93;22112:3;22023:93;:::i;:::-;22141:2;22136:3;22132:12;22125:19;;21784:366;;;:::o;22156:419::-;22322:4;22360:2;22349:9;22345:18;22337:26;;22409:9;22403:4;22399:20;22395:1;22384:9;22380:17;22373:47;22437:131;22563:4;22437:131;:::i;:::-;22429:139;;22156:419;;;:::o;22581:222::-;22721:34;22717:1;22709:6;22705:14;22698:58;22790:5;22785:2;22777:6;22773:15;22766:30;22581:222;:::o;22809:366::-;22951:3;22972:67;23036:2;23031:3;22972:67;:::i;:::-;22965:74;;23048:93;23137:3;23048:93;:::i;:::-;23166:2;23161:3;23157:12;23150:19;;22809:366;;;:::o;23181:419::-;23347:4;23385:2;23374:9;23370:18;23362:26;;23434:9;23428:4;23424:20;23420:1;23409:9;23405:17;23398:47;23462:131;23588:4;23462:131;:::i;:::-;23454:139;;23181:419;;;:::o;23606:228::-;23746:34;23742:1;23734:6;23730:14;23723:58;23815:11;23810:2;23802:6;23798:15;23791:36;23606:228;:::o;23840:366::-;23982:3;24003:67;24067:2;24062:3;24003:67;:::i;:::-;23996:74;;24079:93;24168:3;24079:93;:::i;:::-;24197:2;24192:3;24188:12;24181:19;;23840:366;;;:::o;24212:419::-;24378:4;24416:2;24405:9;24401:18;24393:26;;24465:9;24459:4;24455:20;24451:1;24440:9;24436:17;24429:47;24493:131;24619:4;24493:131;:::i;:::-;24485:139;;24212:419;;;:::o;24637:174::-;24777:26;24773:1;24765:6;24761:14;24754:50;24637:174;:::o;24817:366::-;24959:3;24980:67;25044:2;25039:3;24980:67;:::i;:::-;24973:74;;25056:93;25145:3;25056:93;:::i;:::-;25174:2;25169:3;25165:12;25158:19;;24817:366;;;:::o;25189:419::-;25355:4;25393:2;25382:9;25378:18;25370:26;;25442:9;25436:4;25432:20;25428:1;25417:9;25413:17;25406:47;25470:131;25596:4;25470:131;:::i;:::-;25462:139;;25189:419;;;:::o;25614:177::-;25754:29;25750:1;25742:6;25738:14;25731:53;25614:177;:::o;25797:366::-;25939:3;25960:67;26024:2;26019:3;25960:67;:::i;:::-;25953:74;;26036:93;26125:3;26036:93;:::i;:::-;26154:2;26149:3;26145:12;26138:19;;25797:366;;;:::o;26169:419::-;26335:4;26373:2;26362:9;26358:18;26350:26;;26422:9;26416:4;26412:20;26408:1;26397:9;26393:17;26386:47;26450:131;26576:4;26450:131;:::i;:::-;26442:139;;26169:419;;;:::o;26594:305::-;26634:3;26653:20;26671:1;26653:20;:::i;:::-;26648:25;;26687:20;26705:1;26687:20;:::i;:::-;26682:25;;26841:1;26773:66;26769:74;26766:1;26763:81;26760:107;;;26847:18;;:::i;:::-;26760:107;26891:1;26888;26884:9;26877:16;;26594:305;;;;:::o;26905:226::-;27045:34;27041:1;27033:6;27029:14;27022:58;27114:9;27109:2;27101:6;27097:15;27090:34;26905:226;:::o;27137:366::-;27279:3;27300:67;27364:2;27359:3;27300:67;:::i;:::-;27293:74;;27376:93;27465:3;27376:93;:::i;:::-;27494:2;27489:3;27485:12;27478:19;;27137:366;;;:::o;27509:419::-;27675:4;27713:2;27702:9;27698:18;27690:26;;27762:9;27756:4;27752:20;27748:1;27737:9;27733:17;27726:47;27790:131;27916:4;27790:131;:::i;:::-;27782:139;;27509:419;;;:::o;27934:222::-;28074:34;28070:1;28062:6;28058:14;28051:58;28143:5;28138:2;28130:6;28126:15;28119:30;27934:222;:::o;28162:366::-;28304:3;28325:67;28389:2;28384:3;28325:67;:::i;:::-;28318:74;;28401:93;28490:3;28401:93;:::i;:::-;28519:2;28514:3;28510:12;28503:19;;28162:366;;;:::o;28534:419::-;28700:4;28738:2;28727:9;28723:18;28715:26;;28787:9;28781:4;28777:20;28773:1;28762:9;28758:17;28751:47;28815:131;28941:4;28815:131;:::i;:::-;28807:139;;28534:419;;;:::o;28959:348::-;28999:7;29022:20;29040:1;29022:20;:::i;:::-;29017:25;;29056:20;29074:1;29056:20;:::i;:::-;29051:25;;29244:1;29176:66;29172:74;29169:1;29166:81;29161:1;29154:9;29147:17;29143:105;29140:131;;;29251:18;;:::i;:::-;29140:131;29299:1;29296;29292:9;29281:20;;28959:348;;;;:::o;29313:180::-;29361:77;29358:1;29351:88;29458:4;29455:1;29448:15;29482:4;29479:1;29472:15;29499:185;29539:1;29556:20;29574:1;29556:20;:::i;:::-;29551:25;;29590:20;29608:1;29590:20;:::i;:::-;29585:25;;29629:1;29619:35;;29634:18;;:::i;:::-;29619:35;29676:1;29673;29669:9;29664:14;;29499:185;;;;:::o;29690:114::-;29757:6;29791:5;29785:12;29775:22;;29690:114;;;:::o;29810:184::-;29909:11;29943:6;29938:3;29931:19;29983:4;29978:3;29974:14;29959:29;;29810:184;;;;:::o;30000:132::-;30067:4;30090:3;30082:11;;30120:4;30115:3;30111:14;30103:22;;30000:132;;;:::o;30138:108::-;30215:24;30233:5;30215:24;:::i;:::-;30210:3;30203:37;30138:108;;:::o;30252:179::-;30321:10;30342:46;30384:3;30376:6;30342:46;:::i;:::-;30420:4;30415:3;30411:14;30397:28;;30252:179;;;;:::o;30437:113::-;30507:4;30539;30534:3;30530:14;30522:22;;30437:113;;;:::o;30586:732::-;30705:3;30734:54;30782:5;30734:54;:::i;:::-;30804:86;30883:6;30878:3;30804:86;:::i;:::-;30797:93;;30914:56;30964:5;30914:56;:::i;:::-;30993:7;31024:1;31009:284;31034:6;31031:1;31028:13;31009:284;;;31110:6;31104:13;31137:63;31196:3;31181:13;31137:63;:::i;:::-;31130:70;;31223:60;31276:6;31223:60;:::i;:::-;31213:70;;31069:224;31056:1;31053;31049:9;31044:14;;31009:284;;;31013:14;31309:3;31302:10;;30710:608;;;30586:732;;;;:::o;31324:831::-;31587:4;31625:3;31614:9;31610:19;31602:27;;31639:71;31707:1;31696:9;31692:17;31683:6;31639:71;:::i;:::-;31720:80;31796:2;31785:9;31781:18;31772:6;31720:80;:::i;:::-;31847:9;31841:4;31837:20;31832:2;31821:9;31817:18;31810:48;31875:108;31978:4;31969:6;31875:108;:::i;:::-;31867:116;;31993:72;32061:2;32050:9;32046:18;32037:6;31993:72;:::i;:::-;32075:73;32143:3;32132:9;32128:19;32119:6;32075:73;:::i;:::-;31324:831;;;;;;;;:::o
Swarm Source
ipfs://613e4070aa9d51e410282d26d722b8c3f403f85b84196349f69e7b816d4693ae
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.