Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
100,000 NEW MACHINE
Holders
132
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.034708357 NEW MACHINEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
NEWMACHINE
Compiler Version
v0.8.6+commit.11564f7e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-01-03 */ // SPDX-License-Identifier: MIT /* https://themachine.codes/ Unique tokenomics for the new rise! */ pragma solidity ^0.8.6; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; 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( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } contract NEWMACHINE is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "NEW MACHINE"; string private constant _symbol = "NEW MACHINE"; uint8 private constant _decimals = 9; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 100000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private secret = 0; uint256 private _taxFee = 1; uint256 private _teamFee = 30; //launch tax to rekt snipers and bots //reward rates uint256 private r1 = 6; uint256 private r2 = 2; uint256 private r3 = 2; uint256 private _previousTaxFee = _taxFee; uint256 private _previousTeamFee = _teamFee; // Bot detection mapping(address => bool) private rekt; mapping (address => User) private cooldown; struct User { uint256 buy; uint256 sell; bool exists; } address payable private _numOne; address payable private _numTwo; address payable public _winner; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool public fun = false; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; bool private cooldownEnabled = false; uint256 private _maxTxAmount = _tTotal; uint256 public _trigger = 500 *10**9; uint256 private maxTaxSwap = 5000; uint256 public launchBlock; event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor(address payable walletOne, address payable walletTwo,address payable walletThree) { _numOne = walletOne; _numTwo = walletTwo; _winner = walletThree; _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_numOne] = true; _isExcludedFromFee[_numTwo] = true; _isExcludedFromFee[_winner] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } function manageCooldown(bool onoff) external { require(_msgSender() == _numOne); cooldownEnabled = onoff; } function tokenFromReflection(uint256 rAmount) private view returns (uint256) { require( rAmount <= _rTotal, "Amount must be less than total reflections" ); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function removeAllFee() private { if (_taxFee == 0 && _teamFee == 0) return; _previousTaxFee = _taxFee; _previousTeamFee = _teamFee; _taxFee = 0; _teamFee = 0; } function restoreAllFee() private { _taxFee = _previousTaxFee; _teamFee = _previousTeamFee; } function _approve( address owner, address spender, uint256 amount ) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer( address from, address to, uint256 amount ) private { require(from != address(0), "ERC20: transfer from the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (from != owner() && to != owner()) { if (cooldownEnabled) { if(!cooldown[msg.sender].exists) { cooldown[msg.sender] = User(0,0,true); } if ( from != address(this) && to != address(this) && from != address(uniswapV2Router) && to != address(uniswapV2Router) ) { require(tradingOpen, "Trading not yet enabled."); } } if(from != address(this)){ require(amount <= _maxTxAmount); } require(!rekt[from] && !rekt[to] && !rekt[msg.sender]); //buy if ( from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] ) { if (cooldownEnabled) { require(cooldown[to].buy < block.timestamp, "Your buy cooldown has not expired."); cooldown[to].buy = block.timestamp + (45 seconds); cooldown[to].sell = block.timestamp + (45 seconds); } if (fun && amount >= _trigger) { _winner = payable(to); } } //sell if(!inSwap && from != uniswapV2Pair && tradingOpen) { if(cooldownEnabled) { require(cooldown[from].sell < block.timestamp, "Your sell cooldown has not expired."); } } if (block.number <= launchBlock+secret) { if (from != uniswapV2Pair && from != address(uniswapV2Router)) { rekt[from] = true; } else if (to != uniswapV2Pair && to != address(uniswapV2Router)) { rekt[to] = true; } } uint256 contractTokenBalance = balanceOf(address(this)); if(contractTokenBalance > 0) { if(contractTokenBalance > maxTaxSwap*10**9) { contractTokenBalance = maxTaxSwap*10**9; } } if (!inSwap && from != uniswapV2Pair && swapEnabled) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } bool takeFee = true; if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) { takeFee = false; } _tokenTransfer(from, to, amount, takeFee); } function isExcluded(address account) public view returns (bool) { return _isExcludedFromFee[account]; } function isRekt(address account) public view returns (bool) { return rekt[account]; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendETHToFee(uint256 amount) private { _numOne.transfer(amount.mul(r1).div(10)); _numTwo.transfer(amount.mul(r2).div(10)); _winner.transfer(amount.mul(r3).div(10)); } function addLiquidity() external onlyOwner() { require(!tradingOpen, "trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp ); swapEnabled = true; cooldownEnabled = true; _maxTxAmount = 750 * 10**9; IERC20(uniswapV2Pair).approve( address(uniswapV2Router), type(uint256).max ); } function openTrading(uint256 newSecret) external onlyOwner() { launchBlock = block.number; secret = newSecret; tradingOpen = true; } function manualswap() external { require(_msgSender() == _numOne); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _numOne); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function Rekt(address[] memory rekt_) public onlyOwner { for (uint256 i = 0; i < rekt_.length; i++) { rekt[rekt_[i]] = true; } } function Unrekt(address unrekt) public onlyOwner { rekt[unrekt] = false; } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if (!takeFee) restoreAllFee(); } function _transferStandard( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxFee, _teamFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues( uint256 tAmount, uint256 taxFee, uint256 TeamFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues( uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate ) private pure returns ( uint256, uint256, uint256 ) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() { require(maxTxPercent > 0, "Amount must be greater than 0"); _maxTxAmount = _tTotal.mul(maxTxPercent).div(10**2); emit MaxTxAmountUpdated(_maxTxAmount); } function changeFee(uint256 newTax, uint256 newTeam) external { require(_msgSender() == _numOne); require (newTax > 0); require (newTeam > 0); require((newTax + newTeam) <= 15,"Max total fee is 15"); _taxFee = newTax; _teamFee = newTeam; } function changeRates(uint256 newR1, uint256 newR2,uint256 newR3) external { require(_msgSender() == _numOne); require (newR1+newR2+newR3 == 10); r1 = newR1; r2 = newR2; r3 = newR3; } function startTheFun() external { require(_msgSender() == _numOne); fun = true; } function stopTheFun() external { require(_msgSender() == _numOne); fun = false; } function setTrigger(uint256 trigger) external { require(_msgSender() == _numOne); _trigger = trigger *10**9; } function changeClogRate(uint256 newRate) external { require(_msgSender() == _numOne); maxTaxSwap = newRate; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address payable","name":"walletOne","type":"address"},{"internalType":"address payable","name":"walletTwo","type":"address"},{"internalType":"address payable","name":"walletThree","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":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address[]","name":"rekt_","type":"address[]"}],"name":"Rekt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"unrekt","type":"address"}],"name":"Unrekt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_trigger","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_winner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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":[{"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":[{"internalType":"uint256","name":"newRate","type":"uint256"}],"name":"changeClogRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTax","type":"uint256"},{"internalType":"uint256","name":"newTeam","type":"uint256"}],"name":"changeFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newR1","type":"uint256"},{"internalType":"uint256","name":"newR2","type":"uint256"},{"internalType":"uint256","name":"newR3","type":"uint256"}],"name":"changeRates","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"fun","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isRekt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"manageCooldown","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSecret","type":"uint256"}],"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":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"trigger","type":"uint256"}],"name":"setTrigger","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTheFun","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stopTheFun","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052655af3107a40006000196200001a9190620006d3565b6000196200002991906200065a565b60065560006008556001600955601e600a556006600b556002600c556002600d55600954600e55600a54600f556000601660146101000a81548160ff02191690831515021790555060006016806101000a81548160ff0219169083151502179055506000601660176101000a81548160ff0219169083151502179055506000601660186101000a81548160ff021916908315150217905550655af3107a400060175564746a528800601855611388601955348015620000e757600080fd5b5060405162004e9438038062004e9483398181016040528101906200010d9190620005d0565b60006200011f6200058860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35082601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060065460026000620002976200058860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160056000620002eb6200059060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620005126200058860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef655af3107a40006040516200057791906200063d565b60405180910390a350505062000788565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050620005ca816200076e565b92915050565b600080600060608486031215620005ec57620005eb62000769565b5b6000620005fc86828701620005b9565b93505060206200060f86828701620005b9565b92505060406200062286828701620005b9565b9150509250925092565b6200063781620006c9565b82525050565b60006020820190506200065460008301846200062c565b92915050565b60006200066782620006c9565b91506200067483620006c9565b9250828210156200068a57620006896200070b565b5b828203905092915050565b6000620006a282620006a9565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000620006e082620006c9565b9150620006ed83620006c9565b9250826200070057620006ff6200073a565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b620007798162000695565b81146200078557600080fd5b50565b6146fc80620007986000396000f3fe6080604052600436106101dc5760003560e01c80638da5cb5b11610102578063d00efb2f11610095578063e251186d11610064578063e251186d1461067f578063e3ca2d65146106a8578063e8078d94146106d1578063fea48789146106e8576101e3565b8063d00efb2f146105c5578063d1633649146105f0578063d543dbeb14610619578063dd62ed3e14610642576101e3565b806395d89b41116100d157806395d89b4114610509578063a9059cbb14610534578063c3c8cd8014610571578063cba0e99614610588576101e3565b80638da5cb5b1461044d5780639350038714610478578063946644cd146104b557806395b42750146104e0576101e3565b8063504f5b031161017a57806370a082311161014957806370a08231146103b7578063715018a6146103f457806382374c131461040b57806389502f3b14610436576101e3565b8063504f5b03146103355780635fc42b691461035e57806369d86929146103895780636fc3eaec146103a0576101e3565b80631fdac9fc116101b65780631fdac9fc1461027b57806323b872dd146102a45780633095fce6146102e1578063313ce5671461030a576101e3565b806306fdde03146101e8578063095ea7b31461021357806318160ddd14610250576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd610711565b60405161020a9190613cb7565b60405180910390f35b34801561021f57600080fd5b5061023a600480360381019061023591906136bb565b61074e565b6040516102479190613c9c565b60405180910390f35b34801561025c57600080fd5b5061026561076c565b6040516102729190613e99565b60405180910390f35b34801561028757600080fd5b506102a2600480360381019061029d9190613744565b61077a565b005b3480156102b057600080fd5b506102cb60048036038101906102c69190613668565b6107f8565b6040516102d89190613c9c565b60405180910390f35b3480156102ed57600080fd5b50610308600480360381019061030391906135ce565b6108d1565b005b34801561031657600080fd5b5061031f6109c1565b60405161032c9190613f0e565b60405180910390f35b34801561034157600080fd5b5061035c600480360381019061035791906136fb565b6109ca565b005b34801561036a57600080fd5b50610373610af4565b6040516103809190613e99565b60405180910390f35b34801561039557600080fd5b5061039e610afa565b005b3480156103ac57600080fd5b506103b5610b78565b005b3480156103c357600080fd5b506103de60048036038101906103d991906135ce565b610bea565b6040516103eb9190613e99565b60405180910390f35b34801561040057600080fd5b50610409610c3b565b005b34801561041757600080fd5b50610420610d8e565b60405161042d9190613bce565b60405180910390f35b34801561044257600080fd5b5061044b610db4565b005b34801561045957600080fd5b50610462610e32565b60405161046f9190613bb3565b60405180910390f35b34801561048457600080fd5b5061049f600480360381019061049a91906135ce565b610e5b565b6040516104ac9190613c9c565b60405180910390f35b3480156104c157600080fd5b506104ca610eb1565b6040516104d79190613c9c565b60405180910390f35b3480156104ec57600080fd5b506105076004803603810190610502919061379e565b610ec4565b005b34801561051557600080fd5b5061051e610f2f565b60405161052b9190613cb7565b60405180910390f35b34801561054057600080fd5b5061055b600480360381019061055691906136bb565b610f6c565b6040516105689190613c9c565b60405180910390f35b34801561057d57600080fd5b50610586610f8a565b005b34801561059457600080fd5b506105af60048036038101906105aa91906135ce565b611004565b6040516105bc9190613c9c565b60405180910390f35b3480156105d157600080fd5b506105da61105a565b6040516105e79190613e99565b60405180910390f35b3480156105fc57600080fd5b506106176004803603810190610612919061379e565b611060565b005b34801561062557600080fd5b50610640600480360381019061063b919061379e565b611121565b005b34801561064e57600080fd5b5061066960048036038101906106649190613628565b611267565b6040516106769190613e99565b60405180910390f35b34801561068b57600080fd5b506106a660048036038101906106a1919061380b565b6112ee565b005b3480156106b457600080fd5b506106cf60048036038101906106ca91906137cb565b61138c565b005b3480156106dd57600080fd5b506106e6611468565b005b3480156106f457600080fd5b5061070f600480360381019061070a919061379e565b6119a3565b005b60606040518060400160405280600b81526020017f4e4557204d414348494e45000000000000000000000000000000000000000000815250905090565b600061076261075b611a1d565b8484611a25565b6001905092915050565b6000655af3107a4000905090565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107bb611a1d565b73ffffffffffffffffffffffffffffffffffffffff16146107db57600080fd5b80601660186101000a81548160ff02191690831515021790555050565b6000610805848484611bf0565b6108c684610811611a1d565b6108c18560405180606001604052806028815260200161469f60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610877611a1d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128869092919063ffffffff16565b611a25565b600190509392505050565b6108d9611a1d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610966576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095d90613db9565b60405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b6109d2611a1d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5690613db9565b60405180910390fd5b60005b8151811015610af057600160106000848481518110610a8457610a83614268565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610ae8906141c1565b915050610a62565b5050565b60185481565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b3b611a1d565b73ffffffffffffffffffffffffffffffffffffffff1614610b5b57600080fd5b6001601660146101000a81548160ff021916908315150217905550565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bb9611a1d565b73ffffffffffffffffffffffffffffffffffffffff1614610bd957600080fd5b6000479050610be7816128ea565b50565b6000610c34600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a9d565b9050919050565b610c43611a1d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc790613db9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610df5611a1d565b73ffffffffffffffffffffffffffffffffffffffff1614610e1557600080fd5b6000601660146101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601660149054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f05611a1d565b73ffffffffffffffffffffffffffffffffffffffff1614610f2557600080fd5b8060198190555050565b60606040518060400160405280600b81526020017f4e4557204d414348494e45000000000000000000000000000000000000000000815250905090565b6000610f80610f79611a1d565b8484611bf0565b6001905092915050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fcb611a1d565b73ffffffffffffffffffffffffffffffffffffffff1614610feb57600080fd5b6000610ff630610bea565b905061100181612b0b565b50565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601a5481565b611068611a1d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ec90613db9565b60405180910390fd5b43601a81905550806008819055506001601660156101000a81548160ff02191690831515021790555050565b611129611a1d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ad90613db9565b60405180910390fd5b600081116111f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f090613d59565b60405180910390fd5b611225606461121783655af3107a4000612d9190919063ffffffff16565b612e0c90919063ffffffff16565b6017819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf60175460405161125c9190613e99565b60405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661132f611a1d565b73ffffffffffffffffffffffffffffffffffffffff161461134f57600080fd5b600a81838561135e9190613fcf565b6113689190613fcf565b1461137257600080fd5b82600b8190555081600c8190555080600d81905550505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113cd611a1d565b73ffffffffffffffffffffffffffffffffffffffff16146113ed57600080fd5b600082116113fa57600080fd5b6000811161140757600080fd5b600f81836114159190613fcf565b1115611456576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144d90613df9565b60405180910390fd5b8160098190555080600a819055505050565b611470611a1d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f490613db9565b60405180910390fd5b601660159054906101000a900460ff161561154d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154490613e59565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506115da30601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16655af3107a4000611a25565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561162057600080fd5b505afa158015611634573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165891906135fb565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156116ba57600080fd5b505afa1580156116ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f291906135fb565b6040518363ffffffff1660e01b815260040161170f929190613be9565b602060405180830381600087803b15801561172957600080fd5b505af115801561173d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176191906135fb565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306117ea30610bea565b6000806117f5610e32565b426040518863ffffffff1660e01b815260040161181796959493929190613c3b565b6060604051808303818588803b15801561183057600080fd5b505af1158015611844573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611869919061385e565b5050506001601660176101000a81548160ff0219169083151502179055506001601660186101000a81548160ff02191690831515021790555064ae9f7bcc00601781905550601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161194d929190613c12565b602060405180830381600087803b15801561196757600080fd5b505af115801561197b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199f9190613771565b5050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166119e4611a1d565b73ffffffffffffffffffffffffffffffffffffffff1614611a0457600080fd5b633b9aca0081611a149190614056565b60188190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8c90613e39565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611afc90613cf9565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611be39190613e99565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5790613e19565b60405180910390fd5b60008111611ca3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9a90613dd9565b60405180910390fd5b611cab610e32565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611d195750611ce9610e32565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156127c357601660189054906101000a900460ff1615611f9057601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900460ff16611e1e576040518060600160405280600081526020016000815260200160011515815250601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff0219169083151502179055509050505b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611e8657503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611ee05750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611f3a5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611f8f57601660159054906101000a900460ff16611f8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8590613e79565b60405180910390fd5b5b5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611fd357601754811115611fd257600080fd5b5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156120775750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156120cd5750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6120d657600080fd5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156121815750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156121d75750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561238257601660189054906101000a900460ff161561231c5742601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015410612275576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226c90613d19565b60405180910390fd5b602d426122829190613fcf565b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550602d426122d59190613fcf565b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055505b601660149054906101000a900460ff16801561233a57506018548110155b156123815781601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b60168054906101000a900460ff161580156123eb5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156124035750601660159054906101000a900460ff165b156124a357601660189054906101000a900460ff16156124a25742601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154106124a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161249890613d79565b60405180910390fd5b5b5b600854601a546124b39190613fcf565b43116126d357601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156125655750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156125c7576001601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506126d2565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156126735750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156126d1576001601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b5b60006126de30610bea565b9050600081111561271857633b9aca006019546126fb9190614056565b81111561271757633b9aca006019546127149190614056565b90505b5b60168054906101000a900460ff161580156127815750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156127995750601660179054906101000a900460ff165b156127c1576127a781612b0b565b600047905060008111156127bf576127be476128ea565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061286a5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561287457600090505b61288084848484612e56565b50505050565b60008383111582906128ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128c59190613cb7565b60405180910390fd5b50600083856128dd91906140b0565b9050809150509392505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61294e600a612940600b5486612d9190919063ffffffff16565b612e0c90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612979573d6000803e3d6000fd5b50601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6129de600a6129d0600c5486612d9190919063ffffffff16565b612e0c90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612a09573d6000803e3d6000fd5b50601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612a6e600a612a60600d5486612d9190919063ffffffff16565b612e0c90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612a99573d6000803e3d6000fd5b5050565b6000600654821115612ae4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612adb90613cd9565b60405180910390fd5b6000612aee612e83565b9050612b038184612e0c90919063ffffffff16565b915050919050565b60016016806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612b4257612b41614297565b5b604051908082528060200260200182016040528015612b705781602001602082028036833780820191505090505b5090503081600081518110612b8857612b87614268565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612c2a57600080fd5b505afa158015612c3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c6291906135fb565b81600181518110612c7657612c75614268565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612cdd30601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611a25565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612d41959493929190613eb4565b600060405180830381600087803b158015612d5b57600080fd5b505af1158015612d6f573d6000803e3d6000fd5b505050505060006016806101000a81548160ff02191690831515021790555050565b600080831415612da45760009050612e06565b60008284612db29190614056565b9050828482612dc19190614025565b14612e01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612df890613d99565b60405180910390fd5b809150505b92915050565b6000612e4e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612eae565b905092915050565b80612e6457612e63612f11565b5b612e6f848484612f54565b80612e7d57612e7c61311f565b5b50505050565b6000806000612e90613133565b91509150612ea78183612e0c90919063ffffffff16565b9250505090565b60008083118290612ef5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eec9190613cb7565b60405180910390fd5b5060008385612f049190614025565b9050809150509392505050565b6000600954148015612f2557506000600a54145b15612f2f57612f52565b600954600e81905550600a54600f8190555060006009819055506000600a819055505b565b600080600080600080612f668761318c565b955095509550955095509550612fc486600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131f490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061305985600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461323e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130a58161329c565b6130af8483613359565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161310c9190613e99565b60405180910390a3505050505050505050565b600e54600981905550600f54600a81905550565b600080600060065490506000655af3107a40009050613163655af3107a4000600654612e0c90919063ffffffff16565b82101561317f57600654655af3107a4000935093505050613188565b81819350935050505b9091565b60008060008060008060008060006131a98a600954600a54613393565b92509250925060006131b9612e83565b905060008060006131cc8e878787613429565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061323683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612886565b905092915050565b600080828461324d9190613fcf565b905083811015613292576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161328990613d39565b60405180910390fd5b8091505092915050565b60006132a6612e83565b905060006132bd8284612d9190919063ffffffff16565b905061331181600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461323e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61336e826006546131f490919063ffffffff16565b6006819055506133898160075461323e90919063ffffffff16565b6007819055505050565b6000806000806133bf60646133b1888a612d9190919063ffffffff16565b612e0c90919063ffffffff16565b905060006133e960646133db888b612d9190919063ffffffff16565b612e0c90919063ffffffff16565b9050600061341282613404858c6131f490919063ffffffff16565b6131f490919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806134428589612d9190919063ffffffff16565b905060006134598689612d9190919063ffffffff16565b905060006134708789612d9190919063ffffffff16565b905060006134998261348b85876131f490919063ffffffff16565b6131f490919063ffffffff16565b9050838184965096509650505050509450945094915050565b60006134c56134c084613f4e565b613f29565b905080838252602082019050828560208602820111156134e8576134e76142cb565b5b60005b8581101561351857816134fe8882613522565b8452602084019350602083019250506001810190506134eb565b5050509392505050565b60008135905061353181614659565b92915050565b60008151905061354681614659565b92915050565b600082601f830112613561576135606142c6565b5b81356135718482602086016134b2565b91505092915050565b60008135905061358981614670565b92915050565b60008151905061359e81614670565b92915050565b6000813590506135b381614687565b92915050565b6000815190506135c881614687565b92915050565b6000602082840312156135e4576135e36142d5565b5b60006135f284828501613522565b91505092915050565b600060208284031215613611576136106142d5565b5b600061361f84828501613537565b91505092915050565b6000806040838503121561363f5761363e6142d5565b5b600061364d85828601613522565b925050602061365e85828601613522565b9150509250929050565b600080600060608486031215613681576136806142d5565b5b600061368f86828701613522565b93505060206136a086828701613522565b92505060406136b1868287016135a4565b9150509250925092565b600080604083850312156136d2576136d16142d5565b5b60006136e085828601613522565b92505060206136f1858286016135a4565b9150509250929050565b600060208284031215613711576137106142d5565b5b600082013567ffffffffffffffff81111561372f5761372e6142d0565b5b61373b8482850161354c565b91505092915050565b60006020828403121561375a576137596142d5565b5b60006137688482850161357a565b91505092915050565b600060208284031215613787576137866142d5565b5b60006137958482850161358f565b91505092915050565b6000602082840312156137b4576137b36142d5565b5b60006137c2848285016135a4565b91505092915050565b600080604083850312156137e2576137e16142d5565b5b60006137f0858286016135a4565b9250506020613801858286016135a4565b9150509250929050565b600080600060608486031215613824576138236142d5565b5b6000613832868287016135a4565b9350506020613843868287016135a4565b9250506040613854868287016135a4565b9150509250925092565b600080600060608486031215613877576138766142d5565b5b6000613885868287016135b9565b9350506020613896868287016135b9565b92505060406138a7868287016135b9565b9150509250925092565b60006138bd83836138d8565b60208301905092915050565b6138d2816140f6565b82525050565b6138e1816140e4565b82525050565b6138f0816140e4565b82525050565b600061390182613f8a565b61390b8185613fad565b935061391683613f7a565b8060005b8381101561394757815161392e88826138b1565b975061393983613fa0565b92505060018101905061391a565b5085935050505092915050565b61395d81614108565b82525050565b61396c8161414b565b82525050565b600061397d82613f95565b6139878185613fbe565b935061399781856020860161415d565b6139a0816142da565b840191505092915050565b60006139b8602a83613fbe565b91506139c3826142eb565b604082019050919050565b60006139db602283613fbe565b91506139e68261433a565b604082019050919050565b60006139fe602283613fbe565b9150613a0982614389565b604082019050919050565b6000613a21601b83613fbe565b9150613a2c826143d8565b602082019050919050565b6000613a44601d83613fbe565b9150613a4f82614401565b602082019050919050565b6000613a67602383613fbe565b9150613a728261442a565b604082019050919050565b6000613a8a602183613fbe565b9150613a9582614479565b604082019050919050565b6000613aad602083613fbe565b9150613ab8826144c8565b602082019050919050565b6000613ad0602983613fbe565b9150613adb826144f1565b604082019050919050565b6000613af3601383613fbe565b9150613afe82614540565b602082019050919050565b6000613b16602583613fbe565b9150613b2182614569565b604082019050919050565b6000613b39602483613fbe565b9150613b44826145b8565b604082019050919050565b6000613b5c601783613fbe565b9150613b6782614607565b602082019050919050565b6000613b7f601883613fbe565b9150613b8a82614630565b602082019050919050565b613b9e81614134565b82525050565b613bad8161413e565b82525050565b6000602082019050613bc860008301846138e7565b92915050565b6000602082019050613be360008301846138c9565b92915050565b6000604082019050613bfe60008301856138e7565b613c0b60208301846138e7565b9392505050565b6000604082019050613c2760008301856138e7565b613c346020830184613b95565b9392505050565b600060c082019050613c5060008301896138e7565b613c5d6020830188613b95565b613c6a6040830187613963565b613c776060830186613963565b613c8460808301856138e7565b613c9160a0830184613b95565b979650505050505050565b6000602082019050613cb16000830184613954565b92915050565b60006020820190508181036000830152613cd18184613972565b905092915050565b60006020820190508181036000830152613cf2816139ab565b9050919050565b60006020820190508181036000830152613d12816139ce565b9050919050565b60006020820190508181036000830152613d32816139f1565b9050919050565b60006020820190508181036000830152613d5281613a14565b9050919050565b60006020820190508181036000830152613d7281613a37565b9050919050565b60006020820190508181036000830152613d9281613a5a565b9050919050565b60006020820190508181036000830152613db281613a7d565b9050919050565b60006020820190508181036000830152613dd281613aa0565b9050919050565b60006020820190508181036000830152613df281613ac3565b9050919050565b60006020820190508181036000830152613e1281613ae6565b9050919050565b60006020820190508181036000830152613e3281613b09565b9050919050565b60006020820190508181036000830152613e5281613b2c565b9050919050565b60006020820190508181036000830152613e7281613b4f565b9050919050565b60006020820190508181036000830152613e9281613b72565b9050919050565b6000602082019050613eae6000830184613b95565b92915050565b600060a082019050613ec96000830188613b95565b613ed66020830187613963565b8181036040830152613ee881866138f6565b9050613ef760608301856138e7565b613f046080830184613b95565b9695505050505050565b6000602082019050613f236000830184613ba4565b92915050565b6000613f33613f44565b9050613f3f8282614190565b919050565b6000604051905090565b600067ffffffffffffffff821115613f6957613f68614297565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613fda82614134565b9150613fe583614134565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561401a5761401961420a565b5b828201905092915050565b600061403082614134565b915061403b83614134565b92508261404b5761404a614239565b5b828204905092915050565b600061406182614134565b915061406c83614134565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156140a5576140a461420a565b5b828202905092915050565b60006140bb82614134565b91506140c683614134565b9250828210156140d9576140d861420a565b5b828203905092915050565b60006140ef82614114565b9050919050565b600061410182614114565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061415682614134565b9050919050565b60005b8381101561417b578082015181840152602081019050614160565b8381111561418a576000848401525b50505050565b614199826142da565b810181811067ffffffffffffffff821117156141b8576141b7614297565b5b80604052505050565b60006141cc82614134565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156141ff576141fe61420a565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f596f75722062757920636f6f6c646f776e20686173206e6f742065787069726560008201527f642e000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b7f596f75722073656c6c20636f6f6c646f776e20686173206e6f7420657870697260008201527f65642e0000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f4d617820746f74616c2066656520697320313500000000000000000000000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b614662816140e4565b811461466d57600080fd5b50565b61467981614108565b811461468457600080fd5b50565b61469081614134565b811461469b57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c3177119bba5a424a8663ee7aeff3bd22b21192cba385cc9fb3c923f192597ac64736f6c6343000806003300000000000000000000000098d3548fde1d3d538215b975efd39c47e56c334600000000000000000000000089de0abfc566a8636a878b49a4d065ff4265b48500000000000000000000000098d3548fde1d3d538215b975efd39c47e56c3346
Deployed Bytecode
0x6080604052600436106101dc5760003560e01c80638da5cb5b11610102578063d00efb2f11610095578063e251186d11610064578063e251186d1461067f578063e3ca2d65146106a8578063e8078d94146106d1578063fea48789146106e8576101e3565b8063d00efb2f146105c5578063d1633649146105f0578063d543dbeb14610619578063dd62ed3e14610642576101e3565b806395d89b41116100d157806395d89b4114610509578063a9059cbb14610534578063c3c8cd8014610571578063cba0e99614610588576101e3565b80638da5cb5b1461044d5780639350038714610478578063946644cd146104b557806395b42750146104e0576101e3565b8063504f5b031161017a57806370a082311161014957806370a08231146103b7578063715018a6146103f457806382374c131461040b57806389502f3b14610436576101e3565b8063504f5b03146103355780635fc42b691461035e57806369d86929146103895780636fc3eaec146103a0576101e3565b80631fdac9fc116101b65780631fdac9fc1461027b57806323b872dd146102a45780633095fce6146102e1578063313ce5671461030a576101e3565b806306fdde03146101e8578063095ea7b31461021357806318160ddd14610250576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd610711565b60405161020a9190613cb7565b60405180910390f35b34801561021f57600080fd5b5061023a600480360381019061023591906136bb565b61074e565b6040516102479190613c9c565b60405180910390f35b34801561025c57600080fd5b5061026561076c565b6040516102729190613e99565b60405180910390f35b34801561028757600080fd5b506102a2600480360381019061029d9190613744565b61077a565b005b3480156102b057600080fd5b506102cb60048036038101906102c69190613668565b6107f8565b6040516102d89190613c9c565b60405180910390f35b3480156102ed57600080fd5b50610308600480360381019061030391906135ce565b6108d1565b005b34801561031657600080fd5b5061031f6109c1565b60405161032c9190613f0e565b60405180910390f35b34801561034157600080fd5b5061035c600480360381019061035791906136fb565b6109ca565b005b34801561036a57600080fd5b50610373610af4565b6040516103809190613e99565b60405180910390f35b34801561039557600080fd5b5061039e610afa565b005b3480156103ac57600080fd5b506103b5610b78565b005b3480156103c357600080fd5b506103de60048036038101906103d991906135ce565b610bea565b6040516103eb9190613e99565b60405180910390f35b34801561040057600080fd5b50610409610c3b565b005b34801561041757600080fd5b50610420610d8e565b60405161042d9190613bce565b60405180910390f35b34801561044257600080fd5b5061044b610db4565b005b34801561045957600080fd5b50610462610e32565b60405161046f9190613bb3565b60405180910390f35b34801561048457600080fd5b5061049f600480360381019061049a91906135ce565b610e5b565b6040516104ac9190613c9c565b60405180910390f35b3480156104c157600080fd5b506104ca610eb1565b6040516104d79190613c9c565b60405180910390f35b3480156104ec57600080fd5b506105076004803603810190610502919061379e565b610ec4565b005b34801561051557600080fd5b5061051e610f2f565b60405161052b9190613cb7565b60405180910390f35b34801561054057600080fd5b5061055b600480360381019061055691906136bb565b610f6c565b6040516105689190613c9c565b60405180910390f35b34801561057d57600080fd5b50610586610f8a565b005b34801561059457600080fd5b506105af60048036038101906105aa91906135ce565b611004565b6040516105bc9190613c9c565b60405180910390f35b3480156105d157600080fd5b506105da61105a565b6040516105e79190613e99565b60405180910390f35b3480156105fc57600080fd5b506106176004803603810190610612919061379e565b611060565b005b34801561062557600080fd5b50610640600480360381019061063b919061379e565b611121565b005b34801561064e57600080fd5b5061066960048036038101906106649190613628565b611267565b6040516106769190613e99565b60405180910390f35b34801561068b57600080fd5b506106a660048036038101906106a1919061380b565b6112ee565b005b3480156106b457600080fd5b506106cf60048036038101906106ca91906137cb565b61138c565b005b3480156106dd57600080fd5b506106e6611468565b005b3480156106f457600080fd5b5061070f600480360381019061070a919061379e565b6119a3565b005b60606040518060400160405280600b81526020017f4e4557204d414348494e45000000000000000000000000000000000000000000815250905090565b600061076261075b611a1d565b8484611a25565b6001905092915050565b6000655af3107a4000905090565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107bb611a1d565b73ffffffffffffffffffffffffffffffffffffffff16146107db57600080fd5b80601660186101000a81548160ff02191690831515021790555050565b6000610805848484611bf0565b6108c684610811611a1d565b6108c18560405180606001604052806028815260200161469f60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610877611a1d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128869092919063ffffffff16565b611a25565b600190509392505050565b6108d9611a1d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610966576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095d90613db9565b60405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b6109d2611a1d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5690613db9565b60405180910390fd5b60005b8151811015610af057600160106000848481518110610a8457610a83614268565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610ae8906141c1565b915050610a62565b5050565b60185481565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b3b611a1d565b73ffffffffffffffffffffffffffffffffffffffff1614610b5b57600080fd5b6001601660146101000a81548160ff021916908315150217905550565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bb9611a1d565b73ffffffffffffffffffffffffffffffffffffffff1614610bd957600080fd5b6000479050610be7816128ea565b50565b6000610c34600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a9d565b9050919050565b610c43611a1d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc790613db9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610df5611a1d565b73ffffffffffffffffffffffffffffffffffffffff1614610e1557600080fd5b6000601660146101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601660149054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f05611a1d565b73ffffffffffffffffffffffffffffffffffffffff1614610f2557600080fd5b8060198190555050565b60606040518060400160405280600b81526020017f4e4557204d414348494e45000000000000000000000000000000000000000000815250905090565b6000610f80610f79611a1d565b8484611bf0565b6001905092915050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fcb611a1d565b73ffffffffffffffffffffffffffffffffffffffff1614610feb57600080fd5b6000610ff630610bea565b905061100181612b0b565b50565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601a5481565b611068611a1d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ec90613db9565b60405180910390fd5b43601a81905550806008819055506001601660156101000a81548160ff02191690831515021790555050565b611129611a1d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ad90613db9565b60405180910390fd5b600081116111f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f090613d59565b60405180910390fd5b611225606461121783655af3107a4000612d9190919063ffffffff16565b612e0c90919063ffffffff16565b6017819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf60175460405161125c9190613e99565b60405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661132f611a1d565b73ffffffffffffffffffffffffffffffffffffffff161461134f57600080fd5b600a81838561135e9190613fcf565b6113689190613fcf565b1461137257600080fd5b82600b8190555081600c8190555080600d81905550505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113cd611a1d565b73ffffffffffffffffffffffffffffffffffffffff16146113ed57600080fd5b600082116113fa57600080fd5b6000811161140757600080fd5b600f81836114159190613fcf565b1115611456576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144d90613df9565b60405180910390fd5b8160098190555080600a819055505050565b611470611a1d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f490613db9565b60405180910390fd5b601660159054906101000a900460ff161561154d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154490613e59565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506115da30601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16655af3107a4000611a25565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561162057600080fd5b505afa158015611634573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165891906135fb565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156116ba57600080fd5b505afa1580156116ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f291906135fb565b6040518363ffffffff1660e01b815260040161170f929190613be9565b602060405180830381600087803b15801561172957600080fd5b505af115801561173d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176191906135fb565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306117ea30610bea565b6000806117f5610e32565b426040518863ffffffff1660e01b815260040161181796959493929190613c3b565b6060604051808303818588803b15801561183057600080fd5b505af1158015611844573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611869919061385e565b5050506001601660176101000a81548160ff0219169083151502179055506001601660186101000a81548160ff02191690831515021790555064ae9f7bcc00601781905550601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161194d929190613c12565b602060405180830381600087803b15801561196757600080fd5b505af115801561197b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199f9190613771565b5050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166119e4611a1d565b73ffffffffffffffffffffffffffffffffffffffff1614611a0457600080fd5b633b9aca0081611a149190614056565b60188190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8c90613e39565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611afc90613cf9565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611be39190613e99565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5790613e19565b60405180910390fd5b60008111611ca3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9a90613dd9565b60405180910390fd5b611cab610e32565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611d195750611ce9610e32565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156127c357601660189054906101000a900460ff1615611f9057601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900460ff16611e1e576040518060600160405280600081526020016000815260200160011515815250601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff0219169083151502179055509050505b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611e8657503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611ee05750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611f3a5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611f8f57601660159054906101000a900460ff16611f8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8590613e79565b60405180910390fd5b5b5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611fd357601754811115611fd257600080fd5b5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156120775750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156120cd5750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6120d657600080fd5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156121815750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156121d75750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561238257601660189054906101000a900460ff161561231c5742601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015410612275576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226c90613d19565b60405180910390fd5b602d426122829190613fcf565b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550602d426122d59190613fcf565b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055505b601660149054906101000a900460ff16801561233a57506018548110155b156123815781601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b60168054906101000a900460ff161580156123eb5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156124035750601660159054906101000a900460ff165b156124a357601660189054906101000a900460ff16156124a25742601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154106124a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161249890613d79565b60405180910390fd5b5b5b600854601a546124b39190613fcf565b43116126d357601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156125655750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156125c7576001601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506126d2565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156126735750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156126d1576001601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b5b60006126de30610bea565b9050600081111561271857633b9aca006019546126fb9190614056565b81111561271757633b9aca006019546127149190614056565b90505b5b60168054906101000a900460ff161580156127815750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156127995750601660179054906101000a900460ff165b156127c1576127a781612b0b565b600047905060008111156127bf576127be476128ea565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061286a5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561287457600090505b61288084848484612e56565b50505050565b60008383111582906128ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128c59190613cb7565b60405180910390fd5b50600083856128dd91906140b0565b9050809150509392505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61294e600a612940600b5486612d9190919063ffffffff16565b612e0c90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612979573d6000803e3d6000fd5b50601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6129de600a6129d0600c5486612d9190919063ffffffff16565b612e0c90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612a09573d6000803e3d6000fd5b50601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612a6e600a612a60600d5486612d9190919063ffffffff16565b612e0c90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612a99573d6000803e3d6000fd5b5050565b6000600654821115612ae4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612adb90613cd9565b60405180910390fd5b6000612aee612e83565b9050612b038184612e0c90919063ffffffff16565b915050919050565b60016016806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612b4257612b41614297565b5b604051908082528060200260200182016040528015612b705781602001602082028036833780820191505090505b5090503081600081518110612b8857612b87614268565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612c2a57600080fd5b505afa158015612c3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c6291906135fb565b81600181518110612c7657612c75614268565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612cdd30601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611a25565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612d41959493929190613eb4565b600060405180830381600087803b158015612d5b57600080fd5b505af1158015612d6f573d6000803e3d6000fd5b505050505060006016806101000a81548160ff02191690831515021790555050565b600080831415612da45760009050612e06565b60008284612db29190614056565b9050828482612dc19190614025565b14612e01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612df890613d99565b60405180910390fd5b809150505b92915050565b6000612e4e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612eae565b905092915050565b80612e6457612e63612f11565b5b612e6f848484612f54565b80612e7d57612e7c61311f565b5b50505050565b6000806000612e90613133565b91509150612ea78183612e0c90919063ffffffff16565b9250505090565b60008083118290612ef5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eec9190613cb7565b60405180910390fd5b5060008385612f049190614025565b9050809150509392505050565b6000600954148015612f2557506000600a54145b15612f2f57612f52565b600954600e81905550600a54600f8190555060006009819055506000600a819055505b565b600080600080600080612f668761318c565b955095509550955095509550612fc486600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131f490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061305985600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461323e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130a58161329c565b6130af8483613359565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161310c9190613e99565b60405180910390a3505050505050505050565b600e54600981905550600f54600a81905550565b600080600060065490506000655af3107a40009050613163655af3107a4000600654612e0c90919063ffffffff16565b82101561317f57600654655af3107a4000935093505050613188565b81819350935050505b9091565b60008060008060008060008060006131a98a600954600a54613393565b92509250925060006131b9612e83565b905060008060006131cc8e878787613429565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061323683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612886565b905092915050565b600080828461324d9190613fcf565b905083811015613292576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161328990613d39565b60405180910390fd5b8091505092915050565b60006132a6612e83565b905060006132bd8284612d9190919063ffffffff16565b905061331181600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461323e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61336e826006546131f490919063ffffffff16565b6006819055506133898160075461323e90919063ffffffff16565b6007819055505050565b6000806000806133bf60646133b1888a612d9190919063ffffffff16565b612e0c90919063ffffffff16565b905060006133e960646133db888b612d9190919063ffffffff16565b612e0c90919063ffffffff16565b9050600061341282613404858c6131f490919063ffffffff16565b6131f490919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806134428589612d9190919063ffffffff16565b905060006134598689612d9190919063ffffffff16565b905060006134708789612d9190919063ffffffff16565b905060006134998261348b85876131f490919063ffffffff16565b6131f490919063ffffffff16565b9050838184965096509650505050509450945094915050565b60006134c56134c084613f4e565b613f29565b905080838252602082019050828560208602820111156134e8576134e76142cb565b5b60005b8581101561351857816134fe8882613522565b8452602084019350602083019250506001810190506134eb565b5050509392505050565b60008135905061353181614659565b92915050565b60008151905061354681614659565b92915050565b600082601f830112613561576135606142c6565b5b81356135718482602086016134b2565b91505092915050565b60008135905061358981614670565b92915050565b60008151905061359e81614670565b92915050565b6000813590506135b381614687565b92915050565b6000815190506135c881614687565b92915050565b6000602082840312156135e4576135e36142d5565b5b60006135f284828501613522565b91505092915050565b600060208284031215613611576136106142d5565b5b600061361f84828501613537565b91505092915050565b6000806040838503121561363f5761363e6142d5565b5b600061364d85828601613522565b925050602061365e85828601613522565b9150509250929050565b600080600060608486031215613681576136806142d5565b5b600061368f86828701613522565b93505060206136a086828701613522565b92505060406136b1868287016135a4565b9150509250925092565b600080604083850312156136d2576136d16142d5565b5b60006136e085828601613522565b92505060206136f1858286016135a4565b9150509250929050565b600060208284031215613711576137106142d5565b5b600082013567ffffffffffffffff81111561372f5761372e6142d0565b5b61373b8482850161354c565b91505092915050565b60006020828403121561375a576137596142d5565b5b60006137688482850161357a565b91505092915050565b600060208284031215613787576137866142d5565b5b60006137958482850161358f565b91505092915050565b6000602082840312156137b4576137b36142d5565b5b60006137c2848285016135a4565b91505092915050565b600080604083850312156137e2576137e16142d5565b5b60006137f0858286016135a4565b9250506020613801858286016135a4565b9150509250929050565b600080600060608486031215613824576138236142d5565b5b6000613832868287016135a4565b9350506020613843868287016135a4565b9250506040613854868287016135a4565b9150509250925092565b600080600060608486031215613877576138766142d5565b5b6000613885868287016135b9565b9350506020613896868287016135b9565b92505060406138a7868287016135b9565b9150509250925092565b60006138bd83836138d8565b60208301905092915050565b6138d2816140f6565b82525050565b6138e1816140e4565b82525050565b6138f0816140e4565b82525050565b600061390182613f8a565b61390b8185613fad565b935061391683613f7a565b8060005b8381101561394757815161392e88826138b1565b975061393983613fa0565b92505060018101905061391a565b5085935050505092915050565b61395d81614108565b82525050565b61396c8161414b565b82525050565b600061397d82613f95565b6139878185613fbe565b935061399781856020860161415d565b6139a0816142da565b840191505092915050565b60006139b8602a83613fbe565b91506139c3826142eb565b604082019050919050565b60006139db602283613fbe565b91506139e68261433a565b604082019050919050565b60006139fe602283613fbe565b9150613a0982614389565b604082019050919050565b6000613a21601b83613fbe565b9150613a2c826143d8565b602082019050919050565b6000613a44601d83613fbe565b9150613a4f82614401565b602082019050919050565b6000613a67602383613fbe565b9150613a728261442a565b604082019050919050565b6000613a8a602183613fbe565b9150613a9582614479565b604082019050919050565b6000613aad602083613fbe565b9150613ab8826144c8565b602082019050919050565b6000613ad0602983613fbe565b9150613adb826144f1565b604082019050919050565b6000613af3601383613fbe565b9150613afe82614540565b602082019050919050565b6000613b16602583613fbe565b9150613b2182614569565b604082019050919050565b6000613b39602483613fbe565b9150613b44826145b8565b604082019050919050565b6000613b5c601783613fbe565b9150613b6782614607565b602082019050919050565b6000613b7f601883613fbe565b9150613b8a82614630565b602082019050919050565b613b9e81614134565b82525050565b613bad8161413e565b82525050565b6000602082019050613bc860008301846138e7565b92915050565b6000602082019050613be360008301846138c9565b92915050565b6000604082019050613bfe60008301856138e7565b613c0b60208301846138e7565b9392505050565b6000604082019050613c2760008301856138e7565b613c346020830184613b95565b9392505050565b600060c082019050613c5060008301896138e7565b613c5d6020830188613b95565b613c6a6040830187613963565b613c776060830186613963565b613c8460808301856138e7565b613c9160a0830184613b95565b979650505050505050565b6000602082019050613cb16000830184613954565b92915050565b60006020820190508181036000830152613cd18184613972565b905092915050565b60006020820190508181036000830152613cf2816139ab565b9050919050565b60006020820190508181036000830152613d12816139ce565b9050919050565b60006020820190508181036000830152613d32816139f1565b9050919050565b60006020820190508181036000830152613d5281613a14565b9050919050565b60006020820190508181036000830152613d7281613a37565b9050919050565b60006020820190508181036000830152613d9281613a5a565b9050919050565b60006020820190508181036000830152613db281613a7d565b9050919050565b60006020820190508181036000830152613dd281613aa0565b9050919050565b60006020820190508181036000830152613df281613ac3565b9050919050565b60006020820190508181036000830152613e1281613ae6565b9050919050565b60006020820190508181036000830152613e3281613b09565b9050919050565b60006020820190508181036000830152613e5281613b2c565b9050919050565b60006020820190508181036000830152613e7281613b4f565b9050919050565b60006020820190508181036000830152613e9281613b72565b9050919050565b6000602082019050613eae6000830184613b95565b92915050565b600060a082019050613ec96000830188613b95565b613ed66020830187613963565b8181036040830152613ee881866138f6565b9050613ef760608301856138e7565b613f046080830184613b95565b9695505050505050565b6000602082019050613f236000830184613ba4565b92915050565b6000613f33613f44565b9050613f3f8282614190565b919050565b6000604051905090565b600067ffffffffffffffff821115613f6957613f68614297565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613fda82614134565b9150613fe583614134565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561401a5761401961420a565b5b828201905092915050565b600061403082614134565b915061403b83614134565b92508261404b5761404a614239565b5b828204905092915050565b600061406182614134565b915061406c83614134565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156140a5576140a461420a565b5b828202905092915050565b60006140bb82614134565b91506140c683614134565b9250828210156140d9576140d861420a565b5b828203905092915050565b60006140ef82614114565b9050919050565b600061410182614114565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061415682614134565b9050919050565b60005b8381101561417b578082015181840152602081019050614160565b8381111561418a576000848401525b50505050565b614199826142da565b810181811067ffffffffffffffff821117156141b8576141b7614297565b5b80604052505050565b60006141cc82614134565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156141ff576141fe61420a565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f596f75722062757920636f6f6c646f776e20686173206e6f742065787069726560008201527f642e000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b7f596f75722073656c6c20636f6f6c646f776e20686173206e6f7420657870697260008201527f65642e0000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f4d617820746f74616c2066656520697320313500000000000000000000000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b614662816140e4565b811461466d57600080fd5b50565b61467981614108565b811461468457600080fd5b50565b61469081614134565b811461469b57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c3177119bba5a424a8663ee7aeff3bd22b21192cba385cc9fb3c923f192597ac64736f6c63430008060033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000098d3548fde1d3d538215b975efd39c47e56c334600000000000000000000000089de0abfc566a8636a878b49a4d065ff4265b48500000000000000000000000098d3548fde1d3d538215b975efd39c47e56c3346
-----Decoded View---------------
Arg [0] : walletOne (address): 0x98d3548Fde1d3D538215b975EFd39C47E56C3346
Arg [1] : walletTwo (address): 0x89De0ABfC566a8636a878b49a4d065ff4265B485
Arg [2] : walletThree (address): 0x98d3548Fde1d3D538215b975EFd39C47E56C3346
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000098d3548fde1d3d538215b975efd39c47e56c3346
Arg [1] : 00000000000000000000000089de0abfc566a8636a878b49a4d065ff4265b485
Arg [2] : 00000000000000000000000098d3548fde1d3d538215b975efd39c47e56c3346
Deployed Bytecode Sourcemap
3926:15795:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6393:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7318:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6670:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7973:131;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7519:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14911:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6579:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14739:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5590:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19218:105;;;;;;;;;;;;;:::i;:::-;;14545:186;;;;;;;;;;;;;:::i;:::-;;6773:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2878:148;;;;;;;;;;;;;:::i;:::-;;5240:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19331:105;;;;;;;;;;;;;:::i;:::-;;2664:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12408:99;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5368:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19586:132;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6484:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6919:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14350:187;;;;;;;;;;;;;:::i;:::-;;12283:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5673:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14172:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18405:255;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7126:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18976:232;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18670:298;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13221:943;;;;;;;;;;;;;:::i;:::-;;19444:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6393:83;6430:13;6463:5;;;;;;;;;;;;;;;;;6456:12;;6393:83;:::o;7318:193::-;7420:4;7442:39;7451:12;:10;:12::i;:::-;7465:7;7474:6;7442:8;:39::i;:::-;7499:4;7492:11;;7318:193;;;;:::o;6670:95::-;6723:7;4489:14;6743;;6670:95;:::o;7973:131::-;8054:7;;;;;;;;;;;8038:23;;:12;:10;:12::i;:::-;:23;;;8030:32;;;;;;8091:5;8073:15;;:23;;;;;;;;;;;;;;;;;;7973:131;:::o;7519:446::-;7651:4;7668:36;7678:6;7686:9;7697:6;7668:9;:36::i;:::-;7715:220;7738:6;7759:12;:10;:12::i;:::-;7786:138;7842:6;7786:138;;;;;;;;;;;;;;;;;:11;:19;7798:6;7786:19;;;;;;;;;;;;;;;:33;7806:12;:10;:12::i;:::-;7786:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;7715:8;:220::i;:::-;7953:4;7946:11;;7519:446;;;;;:::o;14911:88::-;2801:12;:10;:12::i;:::-;2791:22;;:6;;;;;;;;;;:22;;;2783:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14986:5:::1;14971:4;:12;14976:6;14971:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;14911:88:::0;:::o;6579:83::-;6620:5;4157:1;6638:16;;6579:83;:::o;14739:164::-;2801:12;:10;:12::i;:::-;2791:22;;:6;;;;;;;;;;:22;;;2783:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14810:9:::1;14805:91;14829:5;:12;14825:1;:16;14805:91;;;14880:4;14863;:14;14868:5;14874:1;14868:8;;;;;;;;:::i;:::-;;;;;;;;14863:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;14843:3;;;;;:::i;:::-;;;;14805:91;;;;14739:164:::0;:::o;5590:36::-;;;;:::o;19218:105::-;19286:7;;;;;;;;;;;19270:23;;:12;:10;:12::i;:::-;:23;;;19262:32;;;;;;19311:4;19305:3;;:10;;;;;;;;;;;;;;;;;;19218:105::o;14545:186::-;14611:7;;;;;;;;;;;14595:23;;:12;:10;:12::i;:::-;:23;;;14587:32;;;;;;14630:26;14659:21;14630:50;;14691:32;14704:18;14691:12;:32::i;:::-;14576:155;14545:186::o;6773:138::-;6839:7;6866:37;6886:7;:16;6894:7;6886:16;;;;;;;;;;;;;;;;6866:19;:37::i;:::-;6859:44;;6773:138;;;:::o;2878:148::-;2801:12;:10;:12::i;:::-;2791:22;;:6;;;;;;;;;;:22;;;2783:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2985:1:::1;2948:40;;2969:6;::::0;::::1;;;;;;;;2948:40;;;;;;;;;;;;3016:1;2999:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2878:148::o:0;5240:30::-;;;;;;;;;;;;;:::o;19331:105::-;19398:7;;;;;;;;;;;19382:23;;:12;:10;:12::i;:::-;:23;;;19374:32;;;;;;19423:5;19417:3;;:11;;;;;;;;;;;;;;;;;;19331:105::o;2664:79::-;2702:7;2729:6;;;;;;;;;;;2722:13;;2664:79;:::o;12408:99::-;12462:4;12486;:13;12491:7;12486:13;;;;;;;;;;;;;;;;;;;;;;;;;12479:20;;12408:99;;;:::o;5368:23::-;;;;;;;;;;;;;:::o;19586:132::-;19671:7;;;;;;;;;;;19655:23;;:12;:10;:12::i;:::-;:23;;;19647:32;;;;;;19703:7;19690:10;:20;;;;19586:132;:::o;6484:87::-;6523:13;6556:7;;;;;;;;;;;;;;;;;6549:14;;6484:87;:::o;6919:199::-;7024:4;7046:42;7056:12;:10;:12::i;:::-;7070:9;7081:6;7046:9;:42::i;:::-;7106:4;7099:11;;6919:199;;;;:::o;14350:187::-;14416:7;;;;;;;;;;;14400:23;;:12;:10;:12::i;:::-;:23;;;14392:32;;;;;;14435:23;14461:24;14479:4;14461:9;:24::i;:::-;14435:50;;14496:33;14513:15;14496:16;:33::i;:::-;14381:156;14350:187::o;12283:117::-;12341:4;12365:18;:27;12384:7;12365:27;;;;;;;;;;;;;;;;;;;;;;;;;12358:34;;12283:117;;;:::o;5673:26::-;;;;:::o;14172:165::-;2801:12;:10;:12::i;:::-;2791:22;;:6;;;;;;;;;;:22;;;2783:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14258:12:::1;14244:11;:26;;;;14290:9;14281:6;:18;;;;14324:4;14310:11;;:18;;;;;;;;;;;;;;;;;;14172:165:::0;:::o;18405:255::-;2801:12;:10;:12::i;:::-;2791:22;;:6;;;;;;;;;;:22;;;2783:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18507:1:::1;18492:12;:16;18484:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;18568:36;18598:5;18568:25;18580:12;4489:14;18568:11;;:25;;;;:::i;:::-;:29;;:36;;;;:::i;:::-;18553:12;:51;;;;18620:32;18639:12;;18620:32;;;;;;:::i;:::-;;;;;;;;18405:255:::0;:::o;7126:184::-;7243:7;7275:11;:18;7287:5;7275:18;;;;;;;;;;;;;;;:27;7294:7;7275:27;;;;;;;;;;;;;;;;7268:34;;7126:184;;;;:::o;18976:232::-;19085:7;;;;;;;;;;;19069:23;;:12;:10;:12::i;:::-;:23;;;19061:32;;;;;;19134:2;19125:5;19119;19113;:11;;;;:::i;:::-;:17;;;;:::i;:::-;:23;19104:33;;;;;;19153:5;19148:2;:10;;;;19174:5;19169:2;:10;;;;19195:5;19190:2;:10;;;;18976:232;;;:::o;18670:298::-;18766:7;;;;;;;;;;;18750:23;;:12;:10;:12::i;:::-;:23;;;18742:32;;;;;;18803:1;18794:6;:10;18785:20;;;;;;18835:1;18825:7;:11;18816:21;;;;;;18878:2;18866:7;18857:6;:16;;;;:::i;:::-;18856:24;;18848:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;18925:6;18915:7;:16;;;;18953:7;18942:8;:18;;;;18670:298;;:::o;13221:943::-;2801:12;:10;:12::i;:::-;2791:22;;:6;;;;;;;;;;:22;;;2783:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13286:11:::1;;;;;;;;;;;13285:12;13277:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;13337:35;13407:42;13337:113;;13479:16;13461:15;;:34;;;;;;;;;;;;;;;;;;13506:58;13523:4;13538:15;;;;;;;;;;;4489:14;13506:8;:58::i;:::-;13609:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13591:70;;;13670:4;13677:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13591:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13575:13;;:126;;;;;;;;;;;;;;;;;;13712:15;;;;;;;;;;;:31;;;13751:21;13796:4;13816:24;13834:4;13816:9;:24::i;:::-;13855:1;13871::::0;13887:7:::1;:5;:7::i;:::-;13909:15;13712:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13960:4;13946:11;;:18;;;;;;;;;;;;;;;;;;13993:4;13975:15;;:22;;;;;;;;;;;;;;;;;;14023:11;14008:12;:26;;;;14052:13;;;;;;;;;;;14045:29;;;14097:15;;;;;;;;;;;14128:17;14045:111;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13266:898;13221:943::o:0;19444:134::-;19526:7;;;;;;;;;;;19510:23;;:12;:10;:12::i;:::-;:23;;;19502:32;;;;;;19565:5;19556:7;:14;;;;:::i;:::-;19545:8;:25;;;;19444:134;:::o;167:98::-;220:7;247:10;240:17;;167:98;:::o;8785:369::-;8929:1;8912:19;;:5;:19;;;;8904:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9010:1;8991:21;;:7;:21;;;;8983:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9092:6;9062:11;:18;9074:5;9062:18;;;;;;;;;;;;;;;:27;9081:7;9062:27;;;;;;;;;;;;;;;:36;;;;9130:7;9114:32;;9123:5;9114:32;;;9139:6;9114:32;;;;;;:::i;:::-;;;;;;;;8785:369;;;:::o;9162:3113::-;9300:1;9284:18;;:4;:18;;;;9276:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9372:1;9363:6;:10;9355:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9444:7;:5;:7::i;:::-;9436:15;;:4;:15;;;;:32;;;;;9461:7;:5;:7::i;:::-;9455:13;;:2;:13;;;;9436:32;9432:2642;;;9489:15;;;;;;;;;;;9485:529;;;9529:8;:20;9538:10;9529:20;;;;;;;;;;;;;;;:27;;;;;;;;;;;;9525:113;;9604:14;;;;;;;;9609:1;9604:14;;;;9611:1;9604:14;;;;9613:4;9604:14;;;;;9581:8;:20;9590:10;9581:20;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9525:113;9703:4;9687:21;;:4;:21;;;;:65;;;;;9747:4;9733:19;;:2;:19;;;;9687:65;:122;;;;;9793:15;;;;;;;;;;;9777:32;;:4;:32;;;;9687:122;:177;;;;;9848:15;;;;;;;;;;;9834:30;;:2;:30;;;;9687:177;9661:338;;;9915:11;;;;;;;;;;;9907:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;9661:338;9485:529;10049:4;10033:21;;:4;:21;;;10030:91;;10092:12;;10082:6;:22;;10074:31;;;;;;10030:91;10144:4;:10;10149:4;10144:10;;;;;;;;;;;;;;;;;;;;;;;;;10143:11;:24;;;;;10159:4;:8;10164:2;10159:8;;;;;;;;;;;;;;;;;;;;;;;;;10158:9;10143:24;:45;;;;;10172:4;:16;10177:10;10172:16;;;;;;;;;;;;;;;;;;;;;;;;;10171:17;10143:45;10135:54;;;;;;10270:13;;;;;;;;;;;10262:21;;:4;:21;;;:72;;;;;10318:15;;;;;;;;;;;10304:30;;:2;:30;;;;10262:72;:116;;;;;10356:18;:22;10375:2;10356:22;;;;;;;;;;;;;;;;;;;;;;;;;10355:23;10262:116;10240:594;;;10408:15;;;;;;;;;;;10404:306;;;10479:15;10460:8;:12;10469:2;10460:12;;;;;;;;;;;;;;;:16;;;:34;10452:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;10598:10;10579:15;:30;;;;:::i;:::-;10560:8;:12;10569:2;10560:12;;;;;;;;;;;;;;;:16;;:49;;;;10675:10;10656:15;:30;;;;:::i;:::-;10636:8;:12;10645:2;10636:12;;;;;;;;;;;;;;;:17;;:50;;;;10404:306;10728:3;;;;;;;;;;;:25;;;;;10745:8;;10735:6;:18;;10728:25;10724:95;;;10796:2;10778:7;;:21;;;;;;;;;;;;;;;;;;10724:95;10240:594;10872:6;;;;;;;;;;10871:7;:32;;;;;10890:13;;;;;;;;;;;10882:21;;:4;:21;;;;10871:32;:47;;;;;10907:11;;;;;;;;;;;10871:47;10868:236;;;10944:15;;;;;;;;;;;10941:148;;;11014:15;10992:8;:14;11001:4;10992:14;;;;;;;;;;;;;;;:19;;;:37;10984:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;10941:148;10868:236;11152:6;;11140:11;;:18;;;;:::i;:::-;11124:12;:34;11120:320;;11191:13;;;;;;;;;;;11183:21;;:4;:21;;;;:57;;;;;11224:15;;;;;;;;;;;11208:32;;:4;:32;;;;11183:57;11179:246;;;11278:4;11265;:10;11270:4;11265:10;;;;;;;;;;;;;;;;:17;;;;;;;;;;;;;;;;;;11179:246;;;11318:13;;;;;;;;;;;11312:19;;:2;:19;;;;:53;;;;;11349:15;;;;;;;;;;;11335:30;;:2;:30;;;;11312:53;11308:117;;;11401:4;11390;:8;11395:2;11390:8;;;;;;;;;;;;;;;;:15;;;;;;;;;;;;;;;;;;11308:117;11179:246;11120:320;11456:28;11487:24;11505:4;11487:9;:24::i;:::-;11456:55;;11552:1;11529:20;:24;11526:202;;;11615:5;11604:10;;:16;;;;:::i;:::-;11581:20;:39;11578:134;;;11683:5;11672:10;;:16;;;;:::i;:::-;11649:39;;11578:134;11526:202;11749:6;;;;;;;;;;11748:7;:32;;;;;11767:13;;;;;;;;;;;11759:21;;:4;:21;;;;11748:32;:47;;;;;11784:11;;;;;;;;;;;11748:47;11744:319;;;11816:38;11833:20;11816:16;:38::i;:::-;11873:26;11902:21;11873:50;;11967:1;11946:18;:22;11942:106;;;11993:35;12006:21;11993:12;:35::i;:::-;11942:106;11797:266;11744:319;9470:2604;9432:2642;12084:12;12099:4;12084:19;;12120:18;:24;12139:4;12120:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;12148:18;:22;12167:2;12148:22;;;;;;;;;;;;;;;;;;;;;;;;;12120:50;12116:98;;;12197:5;12187:15;;12116:98;12226:41;12241:4;12247:2;12251:6;12259:7;12226:14;:41::i;:::-;9265:3010;9162:3113;;;:::o;1429:224::-;1549:7;1582:1;1577;:6;;1585:12;1569:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1609:9;1625:1;1621;:5;;;;:::i;:::-;1609:17;;1644:1;1637:8;;;1429:224;;;;;:::o;13006:207::-;13063:7;;;;;;;;;;;:16;;:40;13080:22;13099:2;13080:14;13091:2;;13080:6;:10;;:14;;;;:::i;:::-;:18;;:22;;;;:::i;:::-;13063:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13114:7;;;;;;;;;;;:16;;:40;13131:22;13150:2;13131:14;13142:2;;13131:6;:10;;:14;;;;:::i;:::-;:18;;:22;;;;:::i;:::-;13114:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13165:7;;;;;;;;;;;:16;;:40;13182:22;13201:2;13182:14;13193:2;;13182:6;:10;;:14;;;;:::i;:::-;:18;;:22;;;;:::i;:::-;13165:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13006:207;:::o;8112:323::-;8207:7;8265;;8254;:18;;8232:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;8353:19;8375:10;:8;:10::i;:::-;8353:32;;8403:24;8415:11;8403:7;:11;;:24;;;;:::i;:::-;8396:31;;;8112:323;;;:::o;12515:483::-;5802:4;5793:6;;:13;;;;;;;;;;;;;;;;;;12593:21:::1;12631:1;12617:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12593:40;;12662:4;12644;12649:1;12644:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12688:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12678:4;12683:1;12678:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12721:62;12738:4;12753:15;;;;;;;;;;;12771:11;12721:8;:62::i;:::-;12794:15;;;;;;;;;;;:66;;;12875:11;12901:1;12917:4;12944;12964:15;12794:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12582:416;5838:5:::0;5829:6;;:14;;;;;;;;;;;;;;;;;;12515:483;:::o;1661:246::-;1719:7;1748:1;1743;:6;1739:47;;;1773:1;1766:8;;;;1739:47;1796:9;1812:1;1808;:5;;;;:::i;:::-;1796:17;;1841:1;1836;1832;:5;;;;:::i;:::-;:10;1824:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1898:1;1891:8;;;1661:246;;;;;:::o;1915:132::-;1973:7;2000:39;2004:1;2007;2000:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1993:46;;1915:132;;;;:::o;15010:282::-;15166:7;15161:28;;15175:14;:12;:14::i;:::-;15161:28;15200:44;15218:6;15226:9;15237:6;15200:17;:44::i;:::-;15260:7;15255:29;;15269:15;:13;:15::i;:::-;15255:29;15010:282;;;;:::o;17968:164::-;18010:7;18031:15;18048;18067:19;:17;:19::i;:::-;18030:56;;;;18104:20;18116:7;18104;:11;;:20;;;;:::i;:::-;18097:27;;;;17968:164;:::o;2055:223::-;2175:7;2207:1;2203;:5;2210:12;2195:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2234:9;2250:1;2246;:5;;;;:::i;:::-;2234:17;;2269:1;2262:8;;;2055:223;;;;;:::o;8443:211::-;8501:1;8490:7;;:12;:29;;;;;8518:1;8506:8;;:13;8490:29;8486:42;;;8521:7;;8486:42;8556:7;;8538:15;:25;;;;8593:8;;8574:16;:27;;;;8622:1;8612:7;:11;;;;8645:1;8634:8;:12;;;;8443:211;:::o;15300:610::-;15447:15;15477:23;15515:12;15542:23;15580:12;15607:13;15634:19;15645:7;15634:10;:19::i;:::-;15432:221;;;;;;;;;;;;15682:28;15702:7;15682;:15;15690:6;15682:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;15664:7;:15;15672:6;15664:15;;;;;;;;;;;;;;;:46;;;;15742:39;15765:15;15742:7;:18;15750:9;15742:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;15721:7;:18;15729:9;15721:18;;;;;;;;;;;;;;;:60;;;;15792:16;15802:5;15792:9;:16::i;:::-;15819:23;15831:4;15837;15819:11;:23::i;:::-;15875:9;15858:44;;15867:6;15858:44;;;15886:15;15858:44;;;;;;:::i;:::-;;;;;;;;15421:489;;;;;;15300:610;;;:::o;8662:115::-;8716:15;;8706:7;:25;;;;8753:16;;8742:8;:27;;;;8662:115::o;18140:257::-;18191:7;18200;18220:15;18238:7;;18220:25;;18256:15;4489:14;18256:25;;18306:20;4489:14;18306:7;;:11;;:20;;;;:::i;:::-;18296:7;:30;18292:61;;;18336:7;;4489:14;18328:25;;;;;;;;18292:61;18372:7;18381;18364:25;;;;;;18140:257;;;:::o;16329:614::-;16429:7;16451;16473;16495;16517;16539;16575:23;16600:12;16614:13;16644:39;16656:7;16665;;16674:8;;16644:11;:39::i;:::-;16574:109;;;;;;16694:19;16716:10;:8;:10::i;:::-;16694:32;;16738:15;16755:23;16780:12;16809:46;16821:7;16830:4;16836:5;16843:11;16809;:46::i;:::-;16737:118;;;;;;16874:7;16883:15;16900:4;16906:15;16923:4;16929:5;16866:69;;;;;;;;;;;;;;;;;;;16329:614;;;;;;;:::o;1285:136::-;1343:7;1370:43;1374:1;1377;1370:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1363:50;;1285:136;;;;:::o;1098:179::-;1156:7;1176:9;1192:1;1188;:5;;;;:::i;:::-;1176:17;;1217:1;1212;:6;;1204:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1268:1;1261:8;;;1098:179;;;;:::o;15918:211::-;15971:19;15993:10;:8;:10::i;:::-;15971:32;;16014:13;16030:22;16040:11;16030:5;:9;;:22;;;;:::i;:::-;16014:38;;16088:33;16115:5;16088:7;:22;16104:4;16088:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;16063:7;:22;16079:4;16063:22;;;;;;;;;;;;;;;:58;;;;15960:169;;15918:211;:::o;16137:147::-;16215:17;16227:4;16215:7;;:11;;:17;;;;:::i;:::-;16205:7;:27;;;;16256:20;16271:4;16256:10;;:14;;:20;;;;:::i;:::-;16243:10;:33;;;;16137:147;;:::o;16951:467::-;17119:7;17141;17163;17198:12;17213:28;17237:3;17213:19;17225:6;17213:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;17198:43;;17252:13;17268:29;17293:3;17268:20;17280:7;17268;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;17252:45;;17308:23;17334:28;17356:5;17334:17;17346:4;17334:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;17308:54;;17381:15;17398:4;17404:5;17373:37;;;;;;;;;16951:467;;;;;;;:::o;17426:534::-;17620:7;17642;17664;17699:15;17717:24;17729:11;17717:7;:11;;:24;;;;:::i;:::-;17699:42;;17752:12;17767:21;17776:11;17767:4;:8;;:21;;;;:::i;:::-;17752:36;;17799:13;17815:22;17825:11;17815:5;:9;;:22;;;;:::i;:::-;17799:38;;17848:23;17874:28;17896:5;17874:17;17886:4;17874:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;17848:54;;17921:7;17930:15;17947:4;17913:39;;;;;;;;;;17426:534;;;;;;;;:::o;24:722:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:2;;;404:79;;:::i;:::-;350:2;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;;;;;;:::o;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;804:87;;;;:::o;897:143::-;954:5;985:6;979:13;970:22;;1001:33;1028:5;1001:33;:::i;:::-;960:80;;;;:::o;1063:370::-;1134:5;1183:3;1176:4;1168:6;1164:17;1160:27;1150:2;;1191:79;;:::i;:::-;1150:2;1308:6;1295:20;1333:94;1423:3;1415:6;1408:4;1400:6;1396:17;1333:94;:::i;:::-;1324:103;;1140:293;;;;;:::o;1439:133::-;1482:5;1520:6;1507:20;1498:29;;1536:30;1560:5;1536:30;:::i;:::-;1488:84;;;;:::o;1578:137::-;1632:5;1663:6;1657:13;1648:22;;1679:30;1703:5;1679:30;:::i;:::-;1638:77;;;;:::o;1721:139::-;1767:5;1805:6;1792:20;1783:29;;1821:33;1848:5;1821:33;:::i;:::-;1773:87;;;;:::o;1866:143::-;1923:5;1954:6;1948:13;1939:22;;1970:33;1997:5;1970:33;:::i;:::-;1929:80;;;;:::o;2015:329::-;2074:6;2123:2;2111:9;2102:7;2098:23;2094:32;2091:2;;;2129:79;;:::i;:::-;2091:2;2249:1;2274:53;2319:7;2310:6;2299:9;2295:22;2274:53;:::i;:::-;2264:63;;2220:117;2081:263;;;;:::o;2350:351::-;2420:6;2469:2;2457:9;2448:7;2444:23;2440:32;2437:2;;;2475:79;;:::i;:::-;2437:2;2595:1;2620:64;2676:7;2667:6;2656:9;2652:22;2620:64;:::i;:::-;2610:74;;2566:128;2427:274;;;;:::o;2707:474::-;2775:6;2783;2832:2;2820:9;2811:7;2807:23;2803:32;2800:2;;;2838:79;;:::i;:::-;2800:2;2958:1;2983:53;3028:7;3019:6;3008:9;3004:22;2983:53;:::i;:::-;2973:63;;2929:117;3085:2;3111:53;3156:7;3147:6;3136:9;3132:22;3111:53;:::i;:::-;3101:63;;3056:118;2790:391;;;;;:::o;3187:619::-;3264:6;3272;3280;3329:2;3317:9;3308:7;3304:23;3300:32;3297:2;;;3335:79;;:::i;:::-;3297:2;3455:1;3480:53;3525:7;3516:6;3505:9;3501:22;3480:53;:::i;:::-;3470:63;;3426:117;3582:2;3608:53;3653:7;3644:6;3633:9;3629:22;3608:53;:::i;:::-;3598:63;;3553:118;3710:2;3736:53;3781:7;3772:6;3761:9;3757:22;3736:53;:::i;:::-;3726:63;;3681:118;3287:519;;;;;:::o;3812:474::-;3880:6;3888;3937:2;3925:9;3916:7;3912:23;3908:32;3905:2;;;3943:79;;:::i;:::-;3905:2;4063:1;4088:53;4133:7;4124:6;4113:9;4109:22;4088:53;:::i;:::-;4078:63;;4034:117;4190:2;4216:53;4261:7;4252:6;4241:9;4237:22;4216:53;:::i;:::-;4206:63;;4161:118;3895:391;;;;;:::o;4292:539::-;4376:6;4425:2;4413:9;4404:7;4400:23;4396:32;4393:2;;;4431:79;;:::i;:::-;4393:2;4579:1;4568:9;4564:17;4551:31;4609:18;4601:6;4598:30;4595:2;;;4631:79;;:::i;:::-;4595:2;4736:78;4806:7;4797:6;4786:9;4782:22;4736:78;:::i;:::-;4726:88;;4522:302;4383:448;;;;:::o;4837:323::-;4893:6;4942:2;4930:9;4921:7;4917:23;4913:32;4910:2;;;4948:79;;:::i;:::-;4910:2;5068:1;5093:50;5135:7;5126:6;5115:9;5111:22;5093:50;:::i;:::-;5083:60;;5039:114;4900:260;;;;:::o;5166:345::-;5233:6;5282:2;5270:9;5261:7;5257:23;5253:32;5250:2;;;5288:79;;:::i;:::-;5250:2;5408:1;5433:61;5486:7;5477:6;5466:9;5462:22;5433:61;:::i;:::-;5423:71;;5379:125;5240:271;;;;:::o;5517:329::-;5576:6;5625:2;5613:9;5604:7;5600:23;5596:32;5593:2;;;5631:79;;:::i;:::-;5593:2;5751:1;5776:53;5821:7;5812:6;5801:9;5797:22;5776:53;:::i;:::-;5766:63;;5722:117;5583:263;;;;:::o;5852:474::-;5920:6;5928;5977:2;5965:9;5956:7;5952:23;5948:32;5945:2;;;5983:79;;:::i;:::-;5945:2;6103:1;6128:53;6173:7;6164:6;6153:9;6149:22;6128:53;:::i;:::-;6118:63;;6074:117;6230:2;6256:53;6301:7;6292:6;6281:9;6277:22;6256:53;:::i;:::-;6246:63;;6201:118;5935:391;;;;;:::o;6332:619::-;6409:6;6417;6425;6474:2;6462:9;6453:7;6449:23;6445:32;6442:2;;;6480:79;;:::i;:::-;6442:2;6600:1;6625:53;6670:7;6661:6;6650:9;6646:22;6625:53;:::i;:::-;6615:63;;6571:117;6727:2;6753:53;6798:7;6789:6;6778:9;6774:22;6753:53;:::i;:::-;6743:63;;6698:118;6855:2;6881:53;6926:7;6917:6;6906:9;6902:22;6881:53;:::i;:::-;6871:63;;6826:118;6432:519;;;;;:::o;6957:663::-;7045:6;7053;7061;7110:2;7098:9;7089:7;7085:23;7081:32;7078:2;;;7116:79;;:::i;:::-;7078:2;7236:1;7261:64;7317:7;7308:6;7297:9;7293:22;7261:64;:::i;:::-;7251:74;;7207:128;7374:2;7400:64;7456:7;7447:6;7436:9;7432:22;7400:64;:::i;:::-;7390:74;;7345:129;7513:2;7539:64;7595:7;7586:6;7575:9;7571:22;7539:64;:::i;:::-;7529:74;;7484:129;7068:552;;;;;:::o;7626:179::-;7695:10;7716:46;7758:3;7750:6;7716:46;:::i;:::-;7794:4;7789:3;7785:14;7771:28;;7706:99;;;;:::o;7811:142::-;7914:32;7940:5;7914:32;:::i;:::-;7909:3;7902:45;7892:61;;:::o;7959:108::-;8036:24;8054:5;8036:24;:::i;:::-;8031:3;8024:37;8014:53;;:::o;8073:118::-;8160:24;8178:5;8160:24;:::i;:::-;8155:3;8148:37;8138:53;;:::o;8227:732::-;8346:3;8375:54;8423:5;8375:54;:::i;:::-;8445:86;8524:6;8519:3;8445:86;:::i;:::-;8438:93;;8555:56;8605:5;8555:56;:::i;:::-;8634:7;8665:1;8650:284;8675:6;8672:1;8669:13;8650:284;;;8751:6;8745:13;8778:63;8837:3;8822:13;8778:63;:::i;:::-;8771:70;;8864:60;8917:6;8864:60;:::i;:::-;8854:70;;8710:224;8697:1;8694;8690:9;8685:14;;8650:284;;;8654:14;8950:3;8943:10;;8351:608;;;;;;;:::o;8965:109::-;9046:21;9061:5;9046:21;:::i;:::-;9041:3;9034:34;9024:50;;:::o;9080:147::-;9175:45;9214:5;9175:45;:::i;:::-;9170:3;9163:58;9153:74;;:::o;9233:364::-;9321:3;9349:39;9382:5;9349:39;:::i;:::-;9404:71;9468:6;9463:3;9404:71;:::i;:::-;9397:78;;9484:52;9529:6;9524:3;9517:4;9510:5;9506:16;9484:52;:::i;:::-;9561:29;9583:6;9561:29;:::i;:::-;9556:3;9552:39;9545:46;;9325:272;;;;;:::o;9603:366::-;9745:3;9766:67;9830:2;9825:3;9766:67;:::i;:::-;9759:74;;9842:93;9931:3;9842:93;:::i;:::-;9960:2;9955:3;9951:12;9944:19;;9749:220;;;:::o;9975:366::-;10117:3;10138:67;10202:2;10197:3;10138:67;:::i;:::-;10131:74;;10214:93;10303:3;10214:93;:::i;:::-;10332:2;10327:3;10323:12;10316:19;;10121:220;;;:::o;10347:366::-;10489:3;10510:67;10574:2;10569:3;10510:67;:::i;:::-;10503:74;;10586:93;10675:3;10586:93;:::i;:::-;10704:2;10699:3;10695:12;10688:19;;10493:220;;;:::o;10719:366::-;10861:3;10882:67;10946:2;10941:3;10882:67;:::i;:::-;10875:74;;10958:93;11047:3;10958:93;:::i;:::-;11076:2;11071:3;11067:12;11060:19;;10865:220;;;:::o;11091:366::-;11233:3;11254:67;11318:2;11313:3;11254:67;:::i;:::-;11247:74;;11330:93;11419:3;11330:93;:::i;:::-;11448:2;11443:3;11439:12;11432:19;;11237:220;;;:::o;11463:366::-;11605:3;11626:67;11690:2;11685:3;11626:67;:::i;:::-;11619:74;;11702:93;11791:3;11702:93;:::i;:::-;11820:2;11815:3;11811:12;11804:19;;11609:220;;;:::o;11835:366::-;11977:3;11998:67;12062:2;12057:3;11998:67;:::i;:::-;11991:74;;12074:93;12163:3;12074:93;:::i;:::-;12192:2;12187:3;12183:12;12176:19;;11981:220;;;:::o;12207:366::-;12349:3;12370:67;12434:2;12429:3;12370:67;:::i;:::-;12363:74;;12446:93;12535:3;12446:93;:::i;:::-;12564:2;12559:3;12555:12;12548:19;;12353:220;;;:::o;12579:366::-;12721:3;12742:67;12806:2;12801:3;12742:67;:::i;:::-;12735:74;;12818:93;12907:3;12818:93;:::i;:::-;12936:2;12931:3;12927:12;12920:19;;12725:220;;;:::o;12951:366::-;13093:3;13114:67;13178:2;13173:3;13114:67;:::i;:::-;13107:74;;13190:93;13279:3;13190:93;:::i;:::-;13308:2;13303:3;13299:12;13292:19;;13097:220;;;:::o;13323:366::-;13465:3;13486:67;13550:2;13545:3;13486:67;:::i;:::-;13479:74;;13562:93;13651:3;13562:93;:::i;:::-;13680:2;13675:3;13671:12;13664:19;;13469:220;;;:::o;13695:366::-;13837:3;13858:67;13922:2;13917:3;13858:67;:::i;:::-;13851:74;;13934:93;14023:3;13934:93;:::i;:::-;14052:2;14047:3;14043:12;14036:19;;13841:220;;;:::o;14067:366::-;14209:3;14230:67;14294:2;14289:3;14230:67;:::i;:::-;14223:74;;14306:93;14395:3;14306:93;:::i;:::-;14424:2;14419:3;14415:12;14408:19;;14213:220;;;:::o;14439:366::-;14581:3;14602:67;14666:2;14661:3;14602:67;:::i;:::-;14595:74;;14678:93;14767:3;14678:93;:::i;:::-;14796:2;14791:3;14787:12;14780:19;;14585:220;;;:::o;14811:118::-;14898:24;14916:5;14898:24;:::i;:::-;14893:3;14886:37;14876:53;;:::o;14935:112::-;15018:22;15034:5;15018:22;:::i;:::-;15013:3;15006:35;14996:51;;:::o;15053:222::-;15146:4;15184:2;15173:9;15169:18;15161:26;;15197:71;15265:1;15254:9;15250:17;15241:6;15197:71;:::i;:::-;15151:124;;;;:::o;15281:254::-;15390:4;15428:2;15417:9;15413:18;15405:26;;15441:87;15525:1;15514:9;15510:17;15501:6;15441:87;:::i;:::-;15395:140;;;;:::o;15541:332::-;15662:4;15700:2;15689:9;15685:18;15677:26;;15713:71;15781:1;15770:9;15766:17;15757:6;15713:71;:::i;:::-;15794:72;15862:2;15851:9;15847:18;15838:6;15794:72;:::i;:::-;15667:206;;;;;:::o;15879:332::-;16000:4;16038:2;16027:9;16023:18;16015:26;;16051:71;16119:1;16108:9;16104:17;16095:6;16051:71;:::i;:::-;16132:72;16200:2;16189:9;16185:18;16176:6;16132:72;:::i;:::-;16005:206;;;;;:::o;16217:807::-;16466:4;16504:3;16493:9;16489:19;16481:27;;16518:71;16586:1;16575:9;16571:17;16562:6;16518:71;:::i;:::-;16599:72;16667:2;16656:9;16652:18;16643:6;16599:72;:::i;:::-;16681:80;16757:2;16746:9;16742:18;16733:6;16681:80;:::i;:::-;16771;16847:2;16836:9;16832:18;16823:6;16771:80;:::i;:::-;16861:73;16929:3;16918:9;16914:19;16905:6;16861:73;:::i;:::-;16944;17012:3;17001:9;16997:19;16988:6;16944:73;:::i;:::-;16471:553;;;;;;;;;:::o;17030:210::-;17117:4;17155:2;17144:9;17140:18;17132:26;;17168:65;17230:1;17219:9;17215:17;17206:6;17168:65;:::i;:::-;17122:118;;;;:::o;17246:313::-;17359:4;17397:2;17386:9;17382:18;17374:26;;17446:9;17440:4;17436:20;17432:1;17421:9;17417:17;17410:47;17474:78;17547:4;17538:6;17474:78;:::i;:::-;17466:86;;17364:195;;;;:::o;17565:419::-;17731:4;17769:2;17758:9;17754:18;17746:26;;17818:9;17812:4;17808:20;17804:1;17793:9;17789:17;17782:47;17846:131;17972:4;17846:131;:::i;:::-;17838:139;;17736:248;;;:::o;17990:419::-;18156:4;18194:2;18183:9;18179:18;18171:26;;18243:9;18237:4;18233:20;18229:1;18218:9;18214:17;18207:47;18271:131;18397:4;18271:131;:::i;:::-;18263:139;;18161:248;;;:::o;18415:419::-;18581:4;18619:2;18608:9;18604:18;18596:26;;18668:9;18662:4;18658:20;18654:1;18643:9;18639:17;18632:47;18696:131;18822:4;18696:131;:::i;:::-;18688:139;;18586:248;;;:::o;18840:419::-;19006:4;19044:2;19033:9;19029:18;19021:26;;19093:9;19087:4;19083:20;19079:1;19068:9;19064:17;19057:47;19121:131;19247:4;19121:131;:::i;:::-;19113:139;;19011:248;;;:::o;19265:419::-;19431:4;19469:2;19458:9;19454:18;19446:26;;19518:9;19512:4;19508:20;19504:1;19493:9;19489:17;19482:47;19546:131;19672:4;19546:131;:::i;:::-;19538:139;;19436:248;;;:::o;19690:419::-;19856:4;19894:2;19883:9;19879:18;19871:26;;19943:9;19937:4;19933:20;19929:1;19918:9;19914:17;19907:47;19971:131;20097:4;19971:131;:::i;:::-;19963:139;;19861:248;;;:::o;20115:419::-;20281:4;20319:2;20308:9;20304:18;20296:26;;20368:9;20362:4;20358:20;20354:1;20343:9;20339:17;20332:47;20396:131;20522:4;20396:131;:::i;:::-;20388:139;;20286:248;;;:::o;20540:419::-;20706:4;20744:2;20733:9;20729:18;20721:26;;20793:9;20787:4;20783:20;20779:1;20768:9;20764:17;20757:47;20821:131;20947:4;20821:131;:::i;:::-;20813:139;;20711:248;;;:::o;20965:419::-;21131:4;21169:2;21158:9;21154:18;21146:26;;21218:9;21212:4;21208:20;21204:1;21193:9;21189:17;21182:47;21246:131;21372:4;21246:131;:::i;:::-;21238:139;;21136:248;;;:::o;21390:419::-;21556:4;21594:2;21583:9;21579:18;21571:26;;21643:9;21637:4;21633:20;21629:1;21618:9;21614:17;21607:47;21671:131;21797:4;21671:131;:::i;:::-;21663:139;;21561:248;;;:::o;21815:419::-;21981:4;22019:2;22008:9;22004:18;21996:26;;22068:9;22062:4;22058:20;22054:1;22043:9;22039:17;22032:47;22096:131;22222:4;22096:131;:::i;:::-;22088:139;;21986:248;;;:::o;22240:419::-;22406:4;22444:2;22433:9;22429:18;22421:26;;22493:9;22487:4;22483:20;22479:1;22468:9;22464:17;22457:47;22521:131;22647:4;22521:131;:::i;:::-;22513:139;;22411:248;;;:::o;22665:419::-;22831:4;22869:2;22858:9;22854:18;22846:26;;22918:9;22912:4;22908:20;22904:1;22893:9;22889:17;22882:47;22946:131;23072:4;22946:131;:::i;:::-;22938:139;;22836:248;;;:::o;23090:419::-;23256:4;23294:2;23283:9;23279:18;23271:26;;23343:9;23337:4;23333:20;23329:1;23318:9;23314:17;23307:47;23371:131;23497:4;23371:131;:::i;:::-;23363:139;;23261:248;;;:::o;23515:222::-;23608:4;23646:2;23635:9;23631:18;23623:26;;23659:71;23727:1;23716:9;23712:17;23703:6;23659:71;:::i;:::-;23613:124;;;;:::o;23743:831::-;24006:4;24044:3;24033:9;24029:19;24021:27;;24058:71;24126:1;24115:9;24111:17;24102:6;24058:71;:::i;:::-;24139:80;24215:2;24204:9;24200:18;24191:6;24139:80;:::i;:::-;24266:9;24260:4;24256:20;24251:2;24240:9;24236:18;24229:48;24294:108;24397:4;24388:6;24294:108;:::i;:::-;24286:116;;24412:72;24480:2;24469:9;24465:18;24456:6;24412:72;:::i;:::-;24494:73;24562:3;24551:9;24547:19;24538:6;24494:73;:::i;:::-;24011:563;;;;;;;;:::o;24580:214::-;24669:4;24707:2;24696:9;24692:18;24684:26;;24720:67;24784:1;24773:9;24769:17;24760:6;24720:67;:::i;:::-;24674:120;;;;:::o;24800:129::-;24834:6;24861:20;;:::i;:::-;24851:30;;24890:33;24918:4;24910:6;24890:33;:::i;:::-;24841:88;;;:::o;24935:75::-;24968:6;25001:2;24995:9;24985:19;;24975:35;:::o;25016:311::-;25093:4;25183:18;25175:6;25172:30;25169:2;;;25205:18;;:::i;:::-;25169:2;25255:4;25247:6;25243:17;25235:25;;25315:4;25309;25305:15;25297:23;;25098:229;;;:::o;25333:132::-;25400:4;25423:3;25415:11;;25453:4;25448:3;25444:14;25436:22;;25405:60;;;:::o;25471:114::-;25538:6;25572:5;25566:12;25556:22;;25545:40;;;:::o;25591:99::-;25643:6;25677:5;25671:12;25661:22;;25650:40;;;:::o;25696:113::-;25766:4;25798;25793:3;25789:14;25781:22;;25771:38;;;:::o;25815:184::-;25914:11;25948:6;25943:3;25936:19;25988:4;25983:3;25979:14;25964:29;;25926:73;;;;:::o;26005:169::-;26089:11;26123:6;26118:3;26111:19;26163:4;26158:3;26154:14;26139:29;;26101:73;;;;:::o;26180:305::-;26220:3;26239:20;26257:1;26239:20;:::i;:::-;26234:25;;26273:20;26291:1;26273:20;:::i;:::-;26268:25;;26427:1;26359:66;26355:74;26352:1;26349:81;26346:2;;;26433:18;;:::i;:::-;26346:2;26477:1;26474;26470:9;26463:16;;26224:261;;;;:::o;26491:185::-;26531:1;26548:20;26566:1;26548:20;:::i;:::-;26543:25;;26582:20;26600:1;26582:20;:::i;:::-;26577:25;;26621:1;26611:2;;26626:18;;:::i;:::-;26611:2;26668:1;26665;26661:9;26656:14;;26533:143;;;;:::o;26682:348::-;26722:7;26745:20;26763:1;26745:20;:::i;:::-;26740:25;;26779:20;26797:1;26779:20;:::i;:::-;26774:25;;26967:1;26899:66;26895:74;26892:1;26889:81;26884:1;26877:9;26870:17;26866:105;26863:2;;;26974:18;;:::i;:::-;26863:2;27022:1;27019;27015:9;27004:20;;26730:300;;;;:::o;27036:191::-;27076:4;27096:20;27114:1;27096:20;:::i;:::-;27091:25;;27130:20;27148:1;27130:20;:::i;:::-;27125:25;;27169:1;27166;27163:8;27160:2;;;27174:18;;:::i;:::-;27160:2;27219:1;27216;27212:9;27204:17;;27081:146;;;;:::o;27233:96::-;27270:7;27299:24;27317:5;27299:24;:::i;:::-;27288:35;;27278:51;;;:::o;27335:104::-;27380:7;27409:24;27427:5;27409:24;:::i;:::-;27398:35;;27388:51;;;:::o;27445:90::-;27479:7;27522:5;27515:13;27508:21;27497:32;;27487:48;;;:::o;27541:126::-;27578:7;27618:42;27611:5;27607:54;27596:65;;27586:81;;;:::o;27673:77::-;27710:7;27739:5;27728:16;;27718:32;;;:::o;27756:86::-;27791:7;27831:4;27824:5;27820:16;27809:27;;27799:43;;;:::o;27848:121::-;27906:9;27939:24;27957:5;27939:24;:::i;:::-;27926:37;;27916:53;;;:::o;27975:307::-;28043:1;28053:113;28067:6;28064:1;28061:13;28053:113;;;28152:1;28147:3;28143:11;28137:18;28133:1;28128:3;28124:11;28117:39;28089:2;28086:1;28082:10;28077:15;;28053:113;;;28184:6;28181:1;28178:13;28175:2;;;28264:1;28255:6;28250:3;28246:16;28239:27;28175:2;28024:258;;;;:::o;28288:281::-;28371:27;28393:4;28371:27;:::i;:::-;28363:6;28359:40;28501:6;28489:10;28486:22;28465:18;28453:10;28450:34;28447:62;28444:2;;;28512:18;;:::i;:::-;28444:2;28552:10;28548:2;28541:22;28331:238;;;:::o;28575:233::-;28614:3;28637:24;28655:5;28637:24;:::i;:::-;28628:33;;28683:66;28676:5;28673:77;28670:2;;;28753:18;;:::i;:::-;28670:2;28800:1;28793:5;28789:13;28782:20;;28618:190;;;:::o;28814:180::-;28862:77;28859:1;28852:88;28959:4;28956:1;28949:15;28983:4;28980:1;28973:15;29000:180;29048:77;29045:1;29038:88;29145:4;29142:1;29135:15;29169:4;29166:1;29159:15;29186:180;29234:77;29231:1;29224:88;29331:4;29328:1;29321:15;29355:4;29352:1;29345:15;29372:180;29420:77;29417:1;29410:88;29517:4;29514:1;29507:15;29541:4;29538:1;29531:15;29558:117;29667:1;29664;29657:12;29681:117;29790:1;29787;29780:12;29804:117;29913:1;29910;29903:12;29927:117;30036:1;30033;30026:12;30050:102;30091:6;30142:2;30138:7;30133:2;30126:5;30122:14;30118:28;30108:38;;30098:54;;;:::o;30158:229::-;30298:34;30294:1;30286:6;30282:14;30275:58;30367:12;30362:2;30354:6;30350:15;30343:37;30264:123;:::o;30393:221::-;30533:34;30529:1;30521:6;30517:14;30510:58;30602:4;30597:2;30589:6;30585:15;30578:29;30499:115;:::o;30620:221::-;30760:34;30756:1;30748:6;30744:14;30737:58;30829:4;30824:2;30816:6;30812:15;30805:29;30726:115;:::o;30847:177::-;30987:29;30983:1;30975:6;30971:14;30964:53;30953:71;:::o;31030:179::-;31170:31;31166:1;31158:6;31154:14;31147:55;31136:73;:::o;31215:222::-;31355:34;31351:1;31343:6;31339:14;31332:58;31424:5;31419:2;31411:6;31407:15;31400:30;31321:116;:::o;31443:220::-;31583:34;31579:1;31571:6;31567:14;31560:58;31652:3;31647:2;31639:6;31635:15;31628:28;31549:114;:::o;31669:182::-;31809:34;31805:1;31797:6;31793:14;31786:58;31775:76;:::o;31857:228::-;31997:34;31993:1;31985:6;31981:14;31974:58;32066:11;32061:2;32053:6;32049:15;32042:36;31963:122;:::o;32091:169::-;32231:21;32227:1;32219:6;32215:14;32208:45;32197:63;:::o;32266:224::-;32406:34;32402:1;32394:6;32390:14;32383:58;32475:7;32470:2;32462:6;32458:15;32451:32;32372:118;:::o;32496:223::-;32636:34;32632:1;32624:6;32620:14;32613:58;32705:6;32700:2;32692:6;32688:15;32681:31;32602:117;:::o;32725:173::-;32865:25;32861:1;32853:6;32849:14;32842:49;32831:67;:::o;32904:174::-;33044:26;33040:1;33032:6;33028:14;33021:50;33010:68;:::o;33084:122::-;33157:24;33175:5;33157:24;:::i;:::-;33150:5;33147:35;33137:2;;33196:1;33193;33186:12;33137:2;33127:79;:::o;33212:116::-;33282:21;33297:5;33282:21;:::i;:::-;33275:5;33272:32;33262:2;;33318:1;33315;33308:12;33262:2;33252:76;:::o;33334:122::-;33407:24;33425:5;33407:24;:::i;:::-;33400:5;33397:35;33387:2;;33446:1;33443;33436:12;33387:2;33377:79;:::o
Swarm Source
ipfs://c3177119bba5a424a8663ee7aeff3bd22b21192cba385cc9fb3c923f192597ac
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.