ERC-20
Overview
Max Total Supply
1,000,000,000 SEC
Holders
232
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
10,605,757.2968678802663745 SECValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ShitEatingClowns
Compiler Version
v0.8.16+commit.07a7930e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-02-18 */ //01010011 01000101 01000011 //https://shiteatingclowns.com //https://medium.com/@ShitEatingClowns/the-sec-a-threat-to-defi-8dd587e310a1 //https://twitter.com/SecTokenETH // SPDX-License-Identifier: MIT pragma solidity =0.8.16; pragma experimental ABIEncoderV2; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } 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 { //Change _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } 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); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { 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 _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } 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 mod(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; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } interface IUniswapV2Factory { event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 value ) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Mint(address indexed sender, uint256 amount0, uint256 amount1); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns ( uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast ); function price0CumulativeLast() external view returns (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function mint(address to) external returns (uint256 liquidity); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } contract ShitEatingClowns is ERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public immutable uniswapV2Router; address public immutable uniswapV2Pair; address public constant deadAddress = address(0xdead); bool private swapping; address public marketingWallet; uint256 public maxTransactionAmount; uint256 public swapTokensAtAmount; uint256 public maxWallet; bool public tradingActive = false; bool public swapEnabled = false; uint256 public buyTotalFees; uint256 private buyMarketingFee; uint256 private buyLiquidityFee; uint256 public sellTotalFees; uint256 private sellMarketingFee; uint256 private sellLiquidityFee; uint256 private tokensForMarketing; uint256 private tokensForLiquidity; uint256 private previousFee; mapping(address => bool) private _isExcludedFromFees; mapping(address => bool) private _isExcludedMaxTransactionAmount; mapping(address => bool) private automatedMarketMakerPairs; mapping(address => bool) public bots; mapping (address => uint256) public _buyMap; event UpdateUniswapV2Router( address indexed newAddress, address indexed oldAddress ); event ExcludeFromFees(address indexed account, bool isExcluded); event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); event marketingWalletUpdated( address indexed newWallet, address indexed oldWallet ); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity ); constructor() ERC20("Shit Eating Clowns", "SEC") { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); excludeFromMaxTransaction(address(_uniswapV2Router), true); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); excludeFromMaxTransaction(address(uniswapV2Pair), true); _setAutomatedMarketMakerPair(address(uniswapV2Pair), true); uint256 _buyMarketingFee = 10; uint256 _buyLiquidityFee = 0; uint256 _sellMarketingFee = 10; uint256 _sellLiquidityFee = 0; uint256 totalSupply = 1000000000 * 1e18; maxTransactionAmount = 10000000 * 1e18; maxWallet = 10000000 * 1e18; swapTokensAtAmount = (totalSupply * 1) / 1000; buyMarketingFee = _buyMarketingFee; buyLiquidityFee = _buyLiquidityFee; buyTotalFees = buyMarketingFee + buyLiquidityFee; sellMarketingFee = _sellMarketingFee; sellLiquidityFee = _sellLiquidityFee; sellTotalFees = sellMarketingFee + sellLiquidityFee; previousFee = sellTotalFees; marketingWallet = address(0xEB68d0343De04dD0F849091aF215ca615b4a770a); excludeFromFees(owner(), true); excludeFromFees(address(this), true); excludeFromFees(address(0xdead), true); excludeFromMaxTransaction(owner(), true); excludeFromMaxTransaction(address(this), true); excludeFromMaxTransaction(address(0xdead), true); _mint(msg.sender, totalSupply); } receive() external payable {} function enableTrading() external onlyOwner { tradingActive = true; swapEnabled = true; } function updateSwapTokensAtAmount(uint256 newAmount) external onlyOwner returns (bool) { require( newAmount >= (totalSupply() * 1) / 100000, "Swap amount cannot be lower than 0.001% total supply." ); require( newAmount <= (totalSupply() * 5) / 1000, "Swap amount cannot be higher than 0.5% total supply." ); swapTokensAtAmount = newAmount; return true; } function updateMaxWalletAndTxnAmount(uint256 newTxnNum, uint256 newMaxWalletNum) external onlyOwner { require( newTxnNum >= ((totalSupply() * 5) / 1000) / 1e18, "Cannot set maxTxn lower than 0.5%" ); require( newMaxWalletNum >= ((totalSupply() * 5) / 1000) / 1e18, "Cannot set maxWallet lower than 0.5%" ); maxWallet = newMaxWalletNum * (10**18); maxTransactionAmount = newTxnNum * (10**18); } function blockBots(address[] memory bots_) public onlyOwner { for (uint256 i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function unblockBot(address notbot) public onlyOwner { bots[notbot] = false; } function excludeFromMaxTransaction(address updAds, bool isEx) public onlyOwner { _isExcludedMaxTransactionAmount[updAds] = isEx; } function updateBuyFees( uint256 _marketingFee, uint256 _liquidityFee ) external onlyOwner { buyMarketingFee = _marketingFee; buyLiquidityFee = _liquidityFee; buyTotalFees = buyMarketingFee + buyLiquidityFee; require(buyTotalFees <= 3, "Must keep fees at 3% or less"); } function updateSellFees( uint256 _marketingFee, uint256 _liquidityFee ) external onlyOwner { sellMarketingFee = _marketingFee; sellLiquidityFee = _liquidityFee; sellTotalFees = sellMarketingFee + sellLiquidityFee; previousFee = sellTotalFees; require(sellTotalFees <= 3, "Must keep fees at 3% or less"); } function excludeFromFees(address account, bool excluded) public onlyOwner { _isExcludedFromFees[account] = excluded; emit ExcludeFromFees(account, excluded); } function setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner { require( pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs" ); _setAutomatedMarketMakerPair(pair, value); } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; emit SetAutomatedMarketMakerPair(pair, value); } function isExcludedFromFees(address account) public view returns (bool) { return _isExcludedFromFees[account]; } function _transfer( address from, address to, uint256 amount ) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); if (amount == 0) { super._transfer(from, to, 0); return; } if ( from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping ) { if (!tradingActive) { require( _isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active." ); } require(!bots[from] && !bots[to], "Your account is blacklisted!"); //when buy if ( automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to] ) { require( amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount." ); require( amount + balanceOf(to) <= maxWallet, "Max wallet exceeded" ); } //when sell else if ( automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from] ) { require(amount <= maxTransactionAmount, "Sell transfer amount exceeds the maxTransactionAmount."); } else if (!_isExcludedMaxTransactionAmount[to]) { require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded"); } } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= swapTokensAtAmount; if ( canSwap && swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to] ) { swapping = true; swapBack(); swapping = false; } bool takeFee = !swapping; if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) { takeFee = false; } uint256 fees = 0; if (takeFee) { // on sell if (automatedMarketMakerPairs[to] && sellTotalFees > 0) { fees = amount.mul(sellTotalFees).div(100); tokensForLiquidity += (fees * sellLiquidityFee) / sellTotalFees; tokensForMarketing += (fees * sellMarketingFee) / sellTotalFees; } // on buy else if (automatedMarketMakerPairs[from] && buyTotalFees > 0) { fees = amount.mul(buyTotalFees).div(100); tokensForLiquidity += (fees * buyLiquidityFee) / buyTotalFees; tokensForMarketing += (fees * buyMarketingFee) / buyTotalFees; } if (fees > 0) { super._transfer(from, address(this), fees); } amount -= fees; } super._transfer(from, to, amount); sellTotalFees = previousFee; } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, 0, deadAddress, block.timestamp ); } function swapBack() private { uint256 contractBalance = balanceOf(address(this)); uint256 totalTokensToSwap = tokensForLiquidity + tokensForMarketing; bool success; if (contractBalance == 0 || totalTokensToSwap == 0) { return; } if (contractBalance > swapTokensAtAmount * 20) { contractBalance = swapTokensAtAmount * 20; } uint256 liquidityTokens = (contractBalance * tokensForLiquidity) / totalTokensToSwap / 2; uint256 amountToSwapForETH = contractBalance.sub(liquidityTokens); uint256 initialETHBalance = address(this).balance; swapTokensForEth(amountToSwapForETH); uint256 ethBalance = address(this).balance.sub(initialETHBalance); uint256 ethForMarketing = ethBalance.mul(tokensForMarketing).div( totalTokensToSwap ); uint256 ethForLiquidity = ethBalance - ethForMarketing; tokensForLiquidity = 0; tokensForMarketing = 0; if (liquidityTokens > 0 && ethForLiquidity > 0) { addLiquidity(liquidityTokens, ethForLiquidity); emit SwapAndLiquify( amountToSwapForETH, ethForLiquidity, tokensForLiquidity ); } (success, ) = address(marketingWallet).call{value: address(this).balance}(""); } }
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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","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":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"UpdateUniswapV2Router","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newWallet","type":"address"},{"indexed":true,"internalType":"address","name":"oldWallet","type":"address"}],"name":"marketingWalletUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","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":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"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":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","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":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","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":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","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":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","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"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_liquidityFee","type":"uint256"}],"name":"updateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTxnNum","type":"uint256"},{"internalType":"uint256","name":"newMaxWalletNum","type":"uint256"}],"name":"updateMaxWalletAndTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_liquidityFee","type":"uint256"}],"name":"updateSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c06040526000600a60006101000a81548160ff0219169083151502179055506000600a60016101000a81548160ff0219169083151502179055503480156200004757600080fd5b506040518060400160405280601281526020017f5368697420456174696e6720436c6f776e7300000000000000000000000000008152506040518060400160405280600381526020017f53454300000000000000000000000000000000000000000000000000000000008152508160039081620000c5919062000c98565b508060049081620000d7919062000c98565b505050620000fa620000ee620004df60201b60201c565b620004e760201b60201c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905062000126816001620005ad60201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001cc919062000de9565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000234573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025a919062000de9565b6040518363ffffffff1660e01b81526004016200027992919062000e2c565b6020604051808303816000875af115801562000299573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002bf919062000de9565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506200030760a0516001620005ad60201b60201c565b6200031c60a05160016200069760201b60201c565b6000600a9050600080600a90506000806b033b2e3c9fd0803ce800000090506a084595161401484a0000006007819055506a084595161401484a0000006009819055506103e860018262000371919062000e88565b6200037d919062000f18565b60088190555084600c8190555083600d81905550600d54600c54620003a3919062000f50565b600b8190555082600f8190555081601081905550601054600f54620003c9919062000f50565b600e81905550600e5460138190555073eb68d0343de04dd0f849091af215ca615b4a770a600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200044f620004416200073860201b60201c565b60016200076260201b60201c565b620004623060016200076260201b60201c565b6200047761dead60016200076260201b60201c565b620004996200048b6200073860201b60201c565b6001620005ad60201b60201c565b620004ac306001620005ad60201b60201c565b620004c161dead6001620005ad60201b60201c565b620004d333826200089c60201b60201c565b505050505050620010e8565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620005bd620004df60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620005e36200073860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146200063c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006339062000fec565b60405180910390fd5b80601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b80601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b62000772620004df60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620007986200073860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620007f1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007e89062000fec565b60405180910390fd5b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516200089091906200102b565b60405180910390a25050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200090e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009059062001098565b60405180910390fd5b620009226000838362000a1460201b60201c565b806002600082825462000936919062000f50565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200098d919062000f50565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620009f49190620010cb565b60405180910390a362000a106000838362000a1960201b60201c565b5050565b505050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000aa057607f821691505b60208210810362000ab65762000ab562000a58565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000b207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000ae1565b62000b2c868362000ae1565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000b7962000b7362000b6d8462000b44565b62000b4e565b62000b44565b9050919050565b6000819050919050565b62000b958362000b58565b62000bad62000ba48262000b80565b84845462000aee565b825550505050565b600090565b62000bc462000bb5565b62000bd181848462000b8a565b505050565b5b8181101562000bf95762000bed60008262000bba565b60018101905062000bd7565b5050565b601f82111562000c485762000c128162000abc565b62000c1d8462000ad1565b8101602085101562000c2d578190505b62000c4562000c3c8562000ad1565b83018262000bd6565b50505b505050565b600082821c905092915050565b600062000c6d6000198460080262000c4d565b1980831691505092915050565b600062000c88838362000c5a565b9150826002028217905092915050565b62000ca38262000a1e565b67ffffffffffffffff81111562000cbf5762000cbe62000a29565b5b62000ccb825462000a87565b62000cd882828562000bfd565b600060209050601f83116001811462000d10576000841562000cfb578287015190505b62000d07858262000c7a565b86555062000d77565b601f19841662000d208662000abc565b60005b8281101562000d4a5784890151825560018201915060208501945060208101905062000d23565b8683101562000d6a578489015162000d66601f89168262000c5a565b8355505b6001600288020188555050505b505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000db18262000d84565b9050919050565b62000dc38162000da4565b811462000dcf57600080fd5b50565b60008151905062000de38162000db8565b92915050565b60006020828403121562000e025762000e0162000d7f565b5b600062000e128482850162000dd2565b91505092915050565b62000e268162000da4565b82525050565b600060408201905062000e43600083018562000e1b565b62000e52602083018462000e1b565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000e958262000b44565b915062000ea28362000b44565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000ede5762000edd62000e59565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000f258262000b44565b915062000f328362000b44565b92508262000f455762000f4462000ee9565b5b828204905092915050565b600062000f5d8262000b44565b915062000f6a8362000b44565b925082820190508082111562000f855762000f8462000e59565b5b92915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600062000fd460208362000f8b565b915062000fe18262000f9c565b602082019050919050565b60006020820190508181036000830152620010078162000fc5565b9050919050565b60008115159050919050565b62001025816200100e565b82525050565b60006020820190506200104260008301846200101a565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062001080601f8362000f8b565b91506200108d8262001048565b602082019050919050565b60006020820190508181036000830152620010b38162001071565b9050919050565b620010c58162000b44565b82525050565b6000602082019050620010e26000830184620010ba565b92915050565b60805160a0516147ae6200113860003960008181610db9015261157e015260008181610bd801528181612f52015281816130330152818161305a015281816130f6015261311d01526147ae6000f3fe6080604052600436106102285760003560e01c806375f0a87411610123578063bbc0c742116100ab578063d85ba0631161006f578063d85ba0631461083b578063dd62ed3e14610866578063e2f45605146108a3578063f2fde38b146108ce578063f8b45b05146108f75761022f565b8063bbc0c74214610742578063bfd792841461076d578063c0246668146107aa578063c8c8ebe4146107d3578063d257b34f146107fe5761022f565b806395d89b41116100f257806395d89b411461064b57806396188399146106765780639a7a23d61461069f578063a457c2d7146106c8578063a9059cbb146107055761022f565b806375f0a874146105a15780637f2feddc146105cc5780638a8c523c146106095780638da5cb5b146106205761022f565b806339509351116101b15780636b999053116101755780636b999053146104d05780636ddd1713146104f957806370a0823114610524578063715018a6146105615780637571336a146105785761022f565b806339509351146103d757806349bd5a5e146104145780634fbee1931461043f57806366ca9b831461047c5780636a486a8e146104a55761022f565b80631694505e116101f85780631694505e146102ee57806318160ddd1461031957806323b872dd1461034457806327c8f83514610381578063313ce567146103ac5761022f565b8062b8cf2a1461023457806302dbd8f81461025d57806306fdde0314610286578063095ea7b3146102b15761022f565b3661022f57005b600080fd5b34801561024057600080fd5b5061025b60048036038101906102569190613397565b610922565b005b34801561026957600080fd5b50610284600480360381019061027f9190613416565b610a33565b005b34801561029257600080fd5b5061029b610b26565b6040516102a891906134d5565b60405180910390f35b3480156102bd57600080fd5b506102d860048036038101906102d391906134f7565b610bb8565b6040516102e59190613552565b60405180910390f35b3480156102fa57600080fd5b50610303610bd6565b60405161031091906135cc565b60405180910390f35b34801561032557600080fd5b5061032e610bfa565b60405161033b91906135f6565b60405180910390f35b34801561035057600080fd5b5061036b60048036038101906103669190613611565b610c04565b6040516103789190613552565b60405180910390f35b34801561038d57600080fd5b50610396610cfc565b6040516103a39190613673565b60405180910390f35b3480156103b857600080fd5b506103c1610d02565b6040516103ce91906136aa565b60405180910390f35b3480156103e357600080fd5b506103fe60048036038101906103f991906134f7565b610d0b565b60405161040b9190613552565b60405180910390f35b34801561042057600080fd5b50610429610db7565b6040516104369190613673565b60405180910390f35b34801561044b57600080fd5b50610466600480360381019061046191906136c5565b610ddb565b6040516104739190613552565b60405180910390f35b34801561048857600080fd5b506104a3600480360381019061049e9190613416565b610e31565b005b3480156104b157600080fd5b506104ba610f1b565b6040516104c791906135f6565b60405180910390f35b3480156104dc57600080fd5b506104f760048036038101906104f291906136c5565b610f21565b005b34801561050557600080fd5b5061050e610ff8565b60405161051b9190613552565b60405180910390f35b34801561053057600080fd5b5061054b600480360381019061054691906136c5565b61100b565b60405161055891906135f6565b60405180910390f35b34801561056d57600080fd5b50610576611053565b005b34801561058457600080fd5b5061059f600480360381019061059a919061371e565b6110db565b005b3480156105ad57600080fd5b506105b66111b2565b6040516105c39190613673565b60405180910390f35b3480156105d857600080fd5b506105f360048036038101906105ee91906136c5565b6111d8565b60405161060091906135f6565b60405180910390f35b34801561061557600080fd5b5061061e6111f0565b005b34801561062c57600080fd5b506106356112a4565b6040516106429190613673565b60405180910390f35b34801561065757600080fd5b506106606112ce565b60405161066d91906134d5565b60405180910390f35b34801561068257600080fd5b5061069d60048036038101906106989190613416565b611360565b005b3480156106ab57600080fd5b506106c660048036038101906106c1919061371e565b611500565b005b3480156106d457600080fd5b506106ef60048036038101906106ea91906134f7565b611618565b6040516106fc9190613552565b60405180910390f35b34801561071157600080fd5b5061072c600480360381019061072791906134f7565b611703565b6040516107399190613552565b60405180910390f35b34801561074e57600080fd5b50610757611721565b6040516107649190613552565b60405180910390f35b34801561077957600080fd5b50610794600480360381019061078f91906136c5565b611734565b6040516107a19190613552565b60405180910390f35b3480156107b657600080fd5b506107d160048036038101906107cc919061371e565b611754565b005b3480156107df57600080fd5b506107e8611879565b6040516107f591906135f6565b60405180910390f35b34801561080a57600080fd5b506108256004803603810190610820919061375e565b61187f565b6040516108329190613552565b60405180910390f35b34801561084757600080fd5b506108506119d4565b60405161085d91906135f6565b60405180910390f35b34801561087257600080fd5b5061088d6004803603810190610888919061378b565b6119da565b60405161089a91906135f6565b60405180910390f35b3480156108af57600080fd5b506108b8611a61565b6040516108c591906135f6565b60405180910390f35b3480156108da57600080fd5b506108f560048036038101906108f091906136c5565b611a67565b005b34801561090357600080fd5b5061090c611b5e565b60405161091991906135f6565b60405180910390f35b61092a611b64565b73ffffffffffffffffffffffffffffffffffffffff166109486112a4565b73ffffffffffffffffffffffffffffffffffffffff161461099e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099590613817565b60405180910390fd5b60005b8151811015610a2f576001601760008484815181106109c3576109c2613837565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610a2790613895565b9150506109a1565b5050565b610a3b611b64565b73ffffffffffffffffffffffffffffffffffffffff16610a596112a4565b73ffffffffffffffffffffffffffffffffffffffff1614610aaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa690613817565b60405180910390fd5b81600f8190555080601081905550601054600f54610acd91906138dd565b600e81905550600e546013819055506003600e541115610b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b199061395d565b60405180910390fd5b5050565b606060038054610b35906139ac565b80601f0160208091040260200160405190810160405280929190818152602001828054610b61906139ac565b8015610bae5780601f10610b8357610100808354040283529160200191610bae565b820191906000526020600020905b815481529060010190602001808311610b9157829003601f168201915b5050505050905090565b6000610bcc610bc5611b64565b8484611b6c565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600254905090565b6000610c11848484611d35565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c5c611b64565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610cdc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd390613a4f565b60405180910390fd5b610cf085610ce8611b64565b858403611b6c565b60019150509392505050565b61dead81565b60006012905090565b6000610dad610d18611b64565b848460016000610d26611b64565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610da891906138dd565b611b6c565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610e39611b64565b73ffffffffffffffffffffffffffffffffffffffff16610e576112a4565b73ffffffffffffffffffffffffffffffffffffffff1614610ead576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea490613817565b60405180910390fd5b81600c8190555080600d81905550600d54600c54610ecb91906138dd565b600b819055506003600b541115610f17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0e9061395d565b60405180910390fd5b5050565b600e5481565b610f29611b64565b73ffffffffffffffffffffffffffffffffffffffff16610f476112a4565b73ffffffffffffffffffffffffffffffffffffffff1614610f9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9490613817565b60405180910390fd5b6000601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600a60019054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61105b611b64565b73ffffffffffffffffffffffffffffffffffffffff166110796112a4565b73ffffffffffffffffffffffffffffffffffffffff16146110cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c690613817565b60405180910390fd5b6110d96000612874565b565b6110e3611b64565b73ffffffffffffffffffffffffffffffffffffffff166111016112a4565b73ffffffffffffffffffffffffffffffffffffffff1614611157576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114e90613817565b60405180910390fd5b80601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60186020528060005260406000206000915090505481565b6111f8611b64565b73ffffffffffffffffffffffffffffffffffffffff166112166112a4565b73ffffffffffffffffffffffffffffffffffffffff161461126c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126390613817565b60405180910390fd5b6001600a60006101000a81548160ff0219169083151502179055506001600a60016101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546112dd906139ac565b80601f0160208091040260200160405190810160405280929190818152602001828054611309906139ac565b80156113565780601f1061132b57610100808354040283529160200191611356565b820191906000526020600020905b81548152906001019060200180831161133957829003601f168201915b5050505050905090565b611368611b64565b73ffffffffffffffffffffffffffffffffffffffff166113866112a4565b73ffffffffffffffffffffffffffffffffffffffff16146113dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d390613817565b60405180910390fd5b670de0b6b3a76400006103e860056113f2610bfa565b6113fc9190613a6f565b6114069190613af8565b6114109190613af8565b821015611452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144990613b9b565b60405180910390fd5b670de0b6b3a76400006103e86005611468610bfa565b6114729190613a6f565b61147c9190613af8565b6114869190613af8565b8110156114c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bf90613c2d565b60405180910390fd5b670de0b6b3a7640000816114dc9190613a6f565b600981905550670de0b6b3a7640000826114f69190613a6f565b6007819055505050565b611508611b64565b73ffffffffffffffffffffffffffffffffffffffff166115266112a4565b73ffffffffffffffffffffffffffffffffffffffff161461157c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157390613817565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361160a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160190613cbf565b60405180910390fd5b611614828261293a565b5050565b60008060016000611627611b64565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156116e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116db90613d51565b60405180910390fd5b6116f86116ef611b64565b85858403611b6c565b600191505092915050565b6000611717611710611b64565b8484611d35565b6001905092915050565b600a60009054906101000a900460ff1681565b60176020528060005260406000206000915054906101000a900460ff1681565b61175c611b64565b73ffffffffffffffffffffffffffffffffffffffff1661177a6112a4565b73ffffffffffffffffffffffffffffffffffffffff16146117d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c790613817565b60405180910390fd5b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405161186d9190613552565b60405180910390a25050565b60075481565b6000611889611b64565b73ffffffffffffffffffffffffffffffffffffffff166118a76112a4565b73ffffffffffffffffffffffffffffffffffffffff16146118fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f490613817565b60405180910390fd5b620186a0600161190b610bfa565b6119159190613a6f565b61191f9190613af8565b821015611961576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195890613de3565b60405180910390fd5b6103e8600561196e610bfa565b6119789190613a6f565b6119829190613af8565b8211156119c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119bb90613e75565b60405180910390fd5b8160088190555060019050919050565b600b5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60085481565b611a6f611b64565b73ffffffffffffffffffffffffffffffffffffffff16611a8d6112a4565b73ffffffffffffffffffffffffffffffffffffffff1614611ae3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ada90613817565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4990613f07565b60405180910390fd5b611b5b81612874565b50565b60095481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd290613f99565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c419061402b565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611d2891906135f6565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611da4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9b906140bd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0a9061414f565b60405180910390fd5b60008103611e2c57611e27838360006129db565b61286f565b611e346112a4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ea25750611e726112a4565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611edb5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611f15575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611f2e5750600560149054906101000a900460ff16155b156123f457600a60009054906101000a900460ff1661202857601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611fe85750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612027576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201e906141bb565b60405180910390fd5b5b601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156120cc5750601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61210b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210290614227565b60405180910390fd5b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156121ae5750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612255576007548111156121f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ef906142b9565b60405180910390fd5b6009546122048361100b565b8261220f91906138dd565b1115612250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224790614325565b60405180910390fd5b6123f3565b601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156122f85750601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561234757600754811115612342576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612339906143b7565b60405180910390fd5b6123f2565b601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166123f1576009546123a48361100b565b826123af91906138dd565b11156123f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123e790614325565b60405180910390fd5b5b5b5b5b60006123ff3061100b565b9050600060085482101590508080156124245750600a60019054906101000a900460ff165b801561243d5750600560149054906101000a900460ff16155b80156124935750601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156124e95750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561253f5750601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612583576001600560146101000a81548160ff021916908315150217905550612567612c5a565b6000600560146101000a81548160ff0219169083151502179055505b6000600560149054906101000a900460ff16159050601460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806126395750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561264357600090505b6000811561285657601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156126a657506000600e54115b15612740576126d360646126c5600e5488612e6790919063ffffffff16565b612e7d90919063ffffffff16565b9050600e54601054826126e69190613a6f565b6126f09190613af8565b6012600082825461270191906138dd565b92505081905550600e54600f54826127199190613a6f565b6127239190613af8565b6011600082825461273491906138dd565b92505081905550612832565b601660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561279b57506000600b54115b15612831576127c860646127ba600b5488612e6790919063ffffffff16565b612e7d90919063ffffffff16565b9050600b54600d54826127db9190613a6f565b6127e59190613af8565b601260008282546127f691906138dd565b92505081905550600b54600c548261280e9190613a6f565b6128189190613af8565b6011600082825461282991906138dd565b925050819055505b5b6000811115612847576128468730836129db565b5b808561285391906143d7565b94505b6128618787876129db565b601354600e81905550505050505b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612a4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a41906140bd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612ab9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ab09061414f565b60405180910390fd5b612ac4838383612e93565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612b4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b419061447d565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612bdd91906138dd565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612c4191906135f6565b60405180910390a3612c54848484612e98565b50505050565b6000612c653061100b565b90506000601154601254612c7991906138dd565b9050600080831480612c8b5750600082145b15612c9857505050612e65565b6014600854612ca79190613a6f565b831115612cc0576014600854612cbd9190613a6f565b92505b600060028360125486612cd39190613a6f565b612cdd9190613af8565b612ce79190613af8565b90506000612cfe8286612e9d90919063ffffffff16565b90506000479050612d0e82612eb3565b6000612d238247612e9d90919063ffffffff16565b90506000612d4e87612d4060115485612e6790919063ffffffff16565b612e7d90919063ffffffff16565b905060008183612d5e91906143d7565b905060006012819055506000601181905550600086118015612d805750600081115b15612dcd57612d8f86826130f0565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618582601254604051612dc49392919061449d565b60405180910390a15b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051612e1390614505565b60006040518083038185875af1925050503d8060008114612e50576040519150601f19603f3d011682016040523d82523d6000602084013e612e55565b606091505b5050809750505050505050505050505b565b60008183612e759190613a6f565b905092915050565b60008183612e8b9190613af8565b905092915050565b505050565b505050565b60008183612eab91906143d7565b905092915050565b6000600267ffffffffffffffff811115612ed057612ecf6131f6565b5b604051908082528060200260200182016040528015612efe5781602001602082028036833780820191505090505b5090503081600081518110612f1657612f15613837565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fdf919061452f565b81600181518110612ff357612ff2613837565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613058307f000000000000000000000000000000000000000000000000000000000000000084611b6c565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016130ba959493929190614655565b600060405180830381600087803b1580156130d457600080fd5b505af11580156130e8573d6000803e3d6000fd5b505050505050565b61311b307f000000000000000000000000000000000000000000000000000000000000000084611b6c565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061dead426040518863ffffffff1660e01b8152600401613182969594939291906146af565b60606040518083038185885af11580156131a0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906131c59190614725565b5050505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61322e826131e5565b810181811067ffffffffffffffff8211171561324d5761324c6131f6565b5b80604052505050565b60006132606131cc565b905061326c8282613225565b919050565b600067ffffffffffffffff82111561328c5761328b6131f6565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006132cd826132a2565b9050919050565b6132dd816132c2565b81146132e857600080fd5b50565b6000813590506132fa816132d4565b92915050565b600061331361330e84613271565b613256565b905080838252602082019050602084028301858111156133365761333561329d565b5b835b8181101561335f578061334b88826132eb565b845260208401935050602081019050613338565b5050509392505050565b600082601f83011261337e5761337d6131e0565b5b813561338e848260208601613300565b91505092915050565b6000602082840312156133ad576133ac6131d6565b5b600082013567ffffffffffffffff8111156133cb576133ca6131db565b5b6133d784828501613369565b91505092915050565b6000819050919050565b6133f3816133e0565b81146133fe57600080fd5b50565b600081359050613410816133ea565b92915050565b6000806040838503121561342d5761342c6131d6565b5b600061343b85828601613401565b925050602061344c85828601613401565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613490578082015181840152602081019050613475565b60008484015250505050565b60006134a782613456565b6134b18185613461565b93506134c1818560208601613472565b6134ca816131e5565b840191505092915050565b600060208201905081810360008301526134ef818461349c565b905092915050565b6000806040838503121561350e5761350d6131d6565b5b600061351c858286016132eb565b925050602061352d85828601613401565b9150509250929050565b60008115159050919050565b61354c81613537565b82525050565b60006020820190506135676000830184613543565b92915050565b6000819050919050565b600061359261358d613588846132a2565b61356d565b6132a2565b9050919050565b60006135a482613577565b9050919050565b60006135b682613599565b9050919050565b6135c6816135ab565b82525050565b60006020820190506135e160008301846135bd565b92915050565b6135f0816133e0565b82525050565b600060208201905061360b60008301846135e7565b92915050565b60008060006060848603121561362a576136296131d6565b5b6000613638868287016132eb565b9350506020613649868287016132eb565b925050604061365a86828701613401565b9150509250925092565b61366d816132c2565b82525050565b60006020820190506136886000830184613664565b92915050565b600060ff82169050919050565b6136a48161368e565b82525050565b60006020820190506136bf600083018461369b565b92915050565b6000602082840312156136db576136da6131d6565b5b60006136e9848285016132eb565b91505092915050565b6136fb81613537565b811461370657600080fd5b50565b600081359050613718816136f2565b92915050565b60008060408385031215613735576137346131d6565b5b6000613743858286016132eb565b925050602061375485828601613709565b9150509250929050565b600060208284031215613774576137736131d6565b5b600061378284828501613401565b91505092915050565b600080604083850312156137a2576137a16131d6565b5b60006137b0858286016132eb565b92505060206137c1858286016132eb565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613801602083613461565b915061380c826137cb565b602082019050919050565b60006020820190508181036000830152613830816137f4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006138a0826133e0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036138d2576138d1613866565b5b600182019050919050565b60006138e8826133e0565b91506138f3836133e0565b925082820190508082111561390b5761390a613866565b5b92915050565b7f4d757374206b6565702066656573206174203325206f72206c65737300000000600082015250565b6000613947601c83613461565b915061395282613911565b602082019050919050565b600060208201905081810360008301526139768161393a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806139c457607f821691505b6020821081036139d7576139d661397d565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000613a39602883613461565b9150613a44826139dd565b604082019050919050565b60006020820190508181036000830152613a6881613a2c565b9050919050565b6000613a7a826133e0565b9150613a85836133e0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613abe57613abd613866565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613b03826133e0565b9150613b0e836133e0565b925082613b1e57613b1d613ac9565b5b828204905092915050565b7f43616e6e6f7420736574206d617854786e206c6f776572207468616e20302e3560008201527f2500000000000000000000000000000000000000000000000000000000000000602082015250565b6000613b85602183613461565b9150613b9082613b29565b604082019050919050565b60006020820190508181036000830152613bb481613b78565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e2060008201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b6000613c17602483613461565b9150613c2282613bbb565b604082019050919050565b60006020820190508181036000830152613c4681613c0a565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b6000613ca9603983613461565b9150613cb482613c4d565b604082019050919050565b60006020820190508181036000830152613cd881613c9c565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613d3b602583613461565b9150613d4682613cdf565b604082019050919050565b60006020820190508181036000830152613d6a81613d2e565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b6000613dcd603583613461565b9150613dd882613d71565b604082019050919050565b60006020820190508181036000830152613dfc81613dc0565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b6000613e5f603483613461565b9150613e6a82613e03565b604082019050919050565b60006020820190508181036000830152613e8e81613e52565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613ef1602683613461565b9150613efc82613e95565b604082019050919050565b60006020820190508181036000830152613f2081613ee4565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613f83602483613461565b9150613f8e82613f27565b604082019050919050565b60006020820190508181036000830152613fb281613f76565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614015602283613461565b915061402082613fb9565b604082019050919050565b6000602082019050818103600083015261404481614008565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006140a7602583613461565b91506140b28261404b565b604082019050919050565b600060208201905081810360008301526140d68161409a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614139602383613461565b9150614144826140dd565b604082019050919050565b600060208201905081810360008301526141688161412c565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b60006141a5601683613461565b91506141b08261416f565b602082019050919050565b600060208201905081810360008301526141d481614198565b9050919050565b7f596f7572206163636f756e7420697320626c61636b6c69737465642100000000600082015250565b6000614211601c83613461565b915061421c826141db565b602082019050919050565b6000602082019050818103600083015261424081614204565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b60006142a3603583613461565b91506142ae82614247565b604082019050919050565b600060208201905081810360008301526142d281614296565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b600061430f601383613461565b915061431a826142d9565b602082019050919050565b6000602082019050818103600083015261433e81614302565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b60006143a1603683613461565b91506143ac82614345565b604082019050919050565b600060208201905081810360008301526143d081614394565b9050919050565b60006143e2826133e0565b91506143ed836133e0565b925082820390508181111561440557614404613866565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614467602683613461565b91506144728261440b565b604082019050919050565b600060208201905081810360008301526144968161445a565b9050919050565b60006060820190506144b260008301866135e7565b6144bf60208301856135e7565b6144cc60408301846135e7565b949350505050565b600081905092915050565b50565b60006144ef6000836144d4565b91506144fa826144df565b600082019050919050565b6000614510826144e2565b9150819050919050565b600081519050614529816132d4565b92915050565b600060208284031215614545576145446131d6565b5b60006145538482850161451a565b91505092915050565b6000819050919050565b600061458161457c6145778461455c565b61356d565b6133e0565b9050919050565b61459181614566565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6145cc816132c2565b82525050565b60006145de83836145c3565b60208301905092915050565b6000602082019050919050565b600061460282614597565b61460c81856145a2565b9350614617836145b3565b8060005b8381101561464857815161462f88826145d2565b975061463a836145ea565b92505060018101905061461b565b5085935050505092915050565b600060a08201905061466a60008301886135e7565b6146776020830187614588565b818103604083015261468981866145f7565b90506146986060830185613664565b6146a560808301846135e7565b9695505050505050565b600060c0820190506146c46000830189613664565b6146d160208301886135e7565b6146de6040830187614588565b6146eb6060830186614588565b6146f86080830185613664565b61470560a08301846135e7565b979650505050505050565b60008151905061471f816133ea565b92915050565b60008060006060848603121561473e5761473d6131d6565b5b600061474c86828701614710565b935050602061475d86828701614710565b925050604061476e86828701614710565b915050925092509256fea26469706673582212200bfea543c1e84feccb85f795a431ceb09518f30cc651edbdd26039477929059d64736f6c63430008100033
Deployed Bytecode
0x6080604052600436106102285760003560e01c806375f0a87411610123578063bbc0c742116100ab578063d85ba0631161006f578063d85ba0631461083b578063dd62ed3e14610866578063e2f45605146108a3578063f2fde38b146108ce578063f8b45b05146108f75761022f565b8063bbc0c74214610742578063bfd792841461076d578063c0246668146107aa578063c8c8ebe4146107d3578063d257b34f146107fe5761022f565b806395d89b41116100f257806395d89b411461064b57806396188399146106765780639a7a23d61461069f578063a457c2d7146106c8578063a9059cbb146107055761022f565b806375f0a874146105a15780637f2feddc146105cc5780638a8c523c146106095780638da5cb5b146106205761022f565b806339509351116101b15780636b999053116101755780636b999053146104d05780636ddd1713146104f957806370a0823114610524578063715018a6146105615780637571336a146105785761022f565b806339509351146103d757806349bd5a5e146104145780634fbee1931461043f57806366ca9b831461047c5780636a486a8e146104a55761022f565b80631694505e116101f85780631694505e146102ee57806318160ddd1461031957806323b872dd1461034457806327c8f83514610381578063313ce567146103ac5761022f565b8062b8cf2a1461023457806302dbd8f81461025d57806306fdde0314610286578063095ea7b3146102b15761022f565b3661022f57005b600080fd5b34801561024057600080fd5b5061025b60048036038101906102569190613397565b610922565b005b34801561026957600080fd5b50610284600480360381019061027f9190613416565b610a33565b005b34801561029257600080fd5b5061029b610b26565b6040516102a891906134d5565b60405180910390f35b3480156102bd57600080fd5b506102d860048036038101906102d391906134f7565b610bb8565b6040516102e59190613552565b60405180910390f35b3480156102fa57600080fd5b50610303610bd6565b60405161031091906135cc565b60405180910390f35b34801561032557600080fd5b5061032e610bfa565b60405161033b91906135f6565b60405180910390f35b34801561035057600080fd5b5061036b60048036038101906103669190613611565b610c04565b6040516103789190613552565b60405180910390f35b34801561038d57600080fd5b50610396610cfc565b6040516103a39190613673565b60405180910390f35b3480156103b857600080fd5b506103c1610d02565b6040516103ce91906136aa565b60405180910390f35b3480156103e357600080fd5b506103fe60048036038101906103f991906134f7565b610d0b565b60405161040b9190613552565b60405180910390f35b34801561042057600080fd5b50610429610db7565b6040516104369190613673565b60405180910390f35b34801561044b57600080fd5b50610466600480360381019061046191906136c5565b610ddb565b6040516104739190613552565b60405180910390f35b34801561048857600080fd5b506104a3600480360381019061049e9190613416565b610e31565b005b3480156104b157600080fd5b506104ba610f1b565b6040516104c791906135f6565b60405180910390f35b3480156104dc57600080fd5b506104f760048036038101906104f291906136c5565b610f21565b005b34801561050557600080fd5b5061050e610ff8565b60405161051b9190613552565b60405180910390f35b34801561053057600080fd5b5061054b600480360381019061054691906136c5565b61100b565b60405161055891906135f6565b60405180910390f35b34801561056d57600080fd5b50610576611053565b005b34801561058457600080fd5b5061059f600480360381019061059a919061371e565b6110db565b005b3480156105ad57600080fd5b506105b66111b2565b6040516105c39190613673565b60405180910390f35b3480156105d857600080fd5b506105f360048036038101906105ee91906136c5565b6111d8565b60405161060091906135f6565b60405180910390f35b34801561061557600080fd5b5061061e6111f0565b005b34801561062c57600080fd5b506106356112a4565b6040516106429190613673565b60405180910390f35b34801561065757600080fd5b506106606112ce565b60405161066d91906134d5565b60405180910390f35b34801561068257600080fd5b5061069d60048036038101906106989190613416565b611360565b005b3480156106ab57600080fd5b506106c660048036038101906106c1919061371e565b611500565b005b3480156106d457600080fd5b506106ef60048036038101906106ea91906134f7565b611618565b6040516106fc9190613552565b60405180910390f35b34801561071157600080fd5b5061072c600480360381019061072791906134f7565b611703565b6040516107399190613552565b60405180910390f35b34801561074e57600080fd5b50610757611721565b6040516107649190613552565b60405180910390f35b34801561077957600080fd5b50610794600480360381019061078f91906136c5565b611734565b6040516107a19190613552565b60405180910390f35b3480156107b657600080fd5b506107d160048036038101906107cc919061371e565b611754565b005b3480156107df57600080fd5b506107e8611879565b6040516107f591906135f6565b60405180910390f35b34801561080a57600080fd5b506108256004803603810190610820919061375e565b61187f565b6040516108329190613552565b60405180910390f35b34801561084757600080fd5b506108506119d4565b60405161085d91906135f6565b60405180910390f35b34801561087257600080fd5b5061088d6004803603810190610888919061378b565b6119da565b60405161089a91906135f6565b60405180910390f35b3480156108af57600080fd5b506108b8611a61565b6040516108c591906135f6565b60405180910390f35b3480156108da57600080fd5b506108f560048036038101906108f091906136c5565b611a67565b005b34801561090357600080fd5b5061090c611b5e565b60405161091991906135f6565b60405180910390f35b61092a611b64565b73ffffffffffffffffffffffffffffffffffffffff166109486112a4565b73ffffffffffffffffffffffffffffffffffffffff161461099e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099590613817565b60405180910390fd5b60005b8151811015610a2f576001601760008484815181106109c3576109c2613837565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610a2790613895565b9150506109a1565b5050565b610a3b611b64565b73ffffffffffffffffffffffffffffffffffffffff16610a596112a4565b73ffffffffffffffffffffffffffffffffffffffff1614610aaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa690613817565b60405180910390fd5b81600f8190555080601081905550601054600f54610acd91906138dd565b600e81905550600e546013819055506003600e541115610b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b199061395d565b60405180910390fd5b5050565b606060038054610b35906139ac565b80601f0160208091040260200160405190810160405280929190818152602001828054610b61906139ac565b8015610bae5780601f10610b8357610100808354040283529160200191610bae565b820191906000526020600020905b815481529060010190602001808311610b9157829003601f168201915b5050505050905090565b6000610bcc610bc5611b64565b8484611b6c565b6001905092915050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6000600254905090565b6000610c11848484611d35565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c5c611b64565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610cdc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd390613a4f565b60405180910390fd5b610cf085610ce8611b64565b858403611b6c565b60019150509392505050565b61dead81565b60006012905090565b6000610dad610d18611b64565b848460016000610d26611b64565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610da891906138dd565b611b6c565b6001905092915050565b7f000000000000000000000000ff34491136b50122ab81846eaf286d1d5cb985ea81565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610e39611b64565b73ffffffffffffffffffffffffffffffffffffffff16610e576112a4565b73ffffffffffffffffffffffffffffffffffffffff1614610ead576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea490613817565b60405180910390fd5b81600c8190555080600d81905550600d54600c54610ecb91906138dd565b600b819055506003600b541115610f17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0e9061395d565b60405180910390fd5b5050565b600e5481565b610f29611b64565b73ffffffffffffffffffffffffffffffffffffffff16610f476112a4565b73ffffffffffffffffffffffffffffffffffffffff1614610f9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9490613817565b60405180910390fd5b6000601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600a60019054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61105b611b64565b73ffffffffffffffffffffffffffffffffffffffff166110796112a4565b73ffffffffffffffffffffffffffffffffffffffff16146110cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c690613817565b60405180910390fd5b6110d96000612874565b565b6110e3611b64565b73ffffffffffffffffffffffffffffffffffffffff166111016112a4565b73ffffffffffffffffffffffffffffffffffffffff1614611157576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114e90613817565b60405180910390fd5b80601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60186020528060005260406000206000915090505481565b6111f8611b64565b73ffffffffffffffffffffffffffffffffffffffff166112166112a4565b73ffffffffffffffffffffffffffffffffffffffff161461126c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126390613817565b60405180910390fd5b6001600a60006101000a81548160ff0219169083151502179055506001600a60016101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546112dd906139ac565b80601f0160208091040260200160405190810160405280929190818152602001828054611309906139ac565b80156113565780601f1061132b57610100808354040283529160200191611356565b820191906000526020600020905b81548152906001019060200180831161133957829003601f168201915b5050505050905090565b611368611b64565b73ffffffffffffffffffffffffffffffffffffffff166113866112a4565b73ffffffffffffffffffffffffffffffffffffffff16146113dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d390613817565b60405180910390fd5b670de0b6b3a76400006103e860056113f2610bfa565b6113fc9190613a6f565b6114069190613af8565b6114109190613af8565b821015611452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144990613b9b565b60405180910390fd5b670de0b6b3a76400006103e86005611468610bfa565b6114729190613a6f565b61147c9190613af8565b6114869190613af8565b8110156114c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bf90613c2d565b60405180910390fd5b670de0b6b3a7640000816114dc9190613a6f565b600981905550670de0b6b3a7640000826114f69190613a6f565b6007819055505050565b611508611b64565b73ffffffffffffffffffffffffffffffffffffffff166115266112a4565b73ffffffffffffffffffffffffffffffffffffffff161461157c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157390613817565b60405180910390fd5b7f000000000000000000000000ff34491136b50122ab81846eaf286d1d5cb985ea73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361160a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160190613cbf565b60405180910390fd5b611614828261293a565b5050565b60008060016000611627611b64565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156116e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116db90613d51565b60405180910390fd5b6116f86116ef611b64565b85858403611b6c565b600191505092915050565b6000611717611710611b64565b8484611d35565b6001905092915050565b600a60009054906101000a900460ff1681565b60176020528060005260406000206000915054906101000a900460ff1681565b61175c611b64565b73ffffffffffffffffffffffffffffffffffffffff1661177a6112a4565b73ffffffffffffffffffffffffffffffffffffffff16146117d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c790613817565b60405180910390fd5b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405161186d9190613552565b60405180910390a25050565b60075481565b6000611889611b64565b73ffffffffffffffffffffffffffffffffffffffff166118a76112a4565b73ffffffffffffffffffffffffffffffffffffffff16146118fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f490613817565b60405180910390fd5b620186a0600161190b610bfa565b6119159190613a6f565b61191f9190613af8565b821015611961576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195890613de3565b60405180910390fd5b6103e8600561196e610bfa565b6119789190613a6f565b6119829190613af8565b8211156119c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119bb90613e75565b60405180910390fd5b8160088190555060019050919050565b600b5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60085481565b611a6f611b64565b73ffffffffffffffffffffffffffffffffffffffff16611a8d6112a4565b73ffffffffffffffffffffffffffffffffffffffff1614611ae3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ada90613817565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4990613f07565b60405180910390fd5b611b5b81612874565b50565b60095481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd290613f99565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c419061402b565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611d2891906135f6565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611da4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9b906140bd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0a9061414f565b60405180910390fd5b60008103611e2c57611e27838360006129db565b61286f565b611e346112a4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ea25750611e726112a4565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611edb5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611f15575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611f2e5750600560149054906101000a900460ff16155b156123f457600a60009054906101000a900460ff1661202857601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611fe85750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612027576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201e906141bb565b60405180910390fd5b5b601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156120cc5750601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61210b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210290614227565b60405180910390fd5b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156121ae5750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612255576007548111156121f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ef906142b9565b60405180910390fd5b6009546122048361100b565b8261220f91906138dd565b1115612250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224790614325565b60405180910390fd5b6123f3565b601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156122f85750601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561234757600754811115612342576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612339906143b7565b60405180910390fd5b6123f2565b601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166123f1576009546123a48361100b565b826123af91906138dd565b11156123f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123e790614325565b60405180910390fd5b5b5b5b5b60006123ff3061100b565b9050600060085482101590508080156124245750600a60019054906101000a900460ff165b801561243d5750600560149054906101000a900460ff16155b80156124935750601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156124e95750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561253f5750601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612583576001600560146101000a81548160ff021916908315150217905550612567612c5a565b6000600560146101000a81548160ff0219169083151502179055505b6000600560149054906101000a900460ff16159050601460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806126395750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561264357600090505b6000811561285657601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156126a657506000600e54115b15612740576126d360646126c5600e5488612e6790919063ffffffff16565b612e7d90919063ffffffff16565b9050600e54601054826126e69190613a6f565b6126f09190613af8565b6012600082825461270191906138dd565b92505081905550600e54600f54826127199190613a6f565b6127239190613af8565b6011600082825461273491906138dd565b92505081905550612832565b601660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561279b57506000600b54115b15612831576127c860646127ba600b5488612e6790919063ffffffff16565b612e7d90919063ffffffff16565b9050600b54600d54826127db9190613a6f565b6127e59190613af8565b601260008282546127f691906138dd565b92505081905550600b54600c548261280e9190613a6f565b6128189190613af8565b6011600082825461282991906138dd565b925050819055505b5b6000811115612847576128468730836129db565b5b808561285391906143d7565b94505b6128618787876129db565b601354600e81905550505050505b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612a4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a41906140bd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612ab9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ab09061414f565b60405180910390fd5b612ac4838383612e93565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612b4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b419061447d565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612bdd91906138dd565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612c4191906135f6565b60405180910390a3612c54848484612e98565b50505050565b6000612c653061100b565b90506000601154601254612c7991906138dd565b9050600080831480612c8b5750600082145b15612c9857505050612e65565b6014600854612ca79190613a6f565b831115612cc0576014600854612cbd9190613a6f565b92505b600060028360125486612cd39190613a6f565b612cdd9190613af8565b612ce79190613af8565b90506000612cfe8286612e9d90919063ffffffff16565b90506000479050612d0e82612eb3565b6000612d238247612e9d90919063ffffffff16565b90506000612d4e87612d4060115485612e6790919063ffffffff16565b612e7d90919063ffffffff16565b905060008183612d5e91906143d7565b905060006012819055506000601181905550600086118015612d805750600081115b15612dcd57612d8f86826130f0565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618582601254604051612dc49392919061449d565b60405180910390a15b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051612e1390614505565b60006040518083038185875af1925050503d8060008114612e50576040519150601f19603f3d011682016040523d82523d6000602084013e612e55565b606091505b5050809750505050505050505050505b565b60008183612e759190613a6f565b905092915050565b60008183612e8b9190613af8565b905092915050565b505050565b505050565b60008183612eab91906143d7565b905092915050565b6000600267ffffffffffffffff811115612ed057612ecf6131f6565b5b604051908082528060200260200182016040528015612efe5781602001602082028036833780820191505090505b5090503081600081518110612f1657612f15613837565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fdf919061452f565b81600181518110612ff357612ff2613837565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613058307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611b6c565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016130ba959493929190614655565b600060405180830381600087803b1580156130d457600080fd5b505af11580156130e8573d6000803e3d6000fd5b505050505050565b61311b307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611b6c565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061dead426040518863ffffffff1660e01b8152600401613182969594939291906146af565b60606040518083038185885af11580156131a0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906131c59190614725565b5050505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61322e826131e5565b810181811067ffffffffffffffff8211171561324d5761324c6131f6565b5b80604052505050565b60006132606131cc565b905061326c8282613225565b919050565b600067ffffffffffffffff82111561328c5761328b6131f6565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006132cd826132a2565b9050919050565b6132dd816132c2565b81146132e857600080fd5b50565b6000813590506132fa816132d4565b92915050565b600061331361330e84613271565b613256565b905080838252602082019050602084028301858111156133365761333561329d565b5b835b8181101561335f578061334b88826132eb565b845260208401935050602081019050613338565b5050509392505050565b600082601f83011261337e5761337d6131e0565b5b813561338e848260208601613300565b91505092915050565b6000602082840312156133ad576133ac6131d6565b5b600082013567ffffffffffffffff8111156133cb576133ca6131db565b5b6133d784828501613369565b91505092915050565b6000819050919050565b6133f3816133e0565b81146133fe57600080fd5b50565b600081359050613410816133ea565b92915050565b6000806040838503121561342d5761342c6131d6565b5b600061343b85828601613401565b925050602061344c85828601613401565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613490578082015181840152602081019050613475565b60008484015250505050565b60006134a782613456565b6134b18185613461565b93506134c1818560208601613472565b6134ca816131e5565b840191505092915050565b600060208201905081810360008301526134ef818461349c565b905092915050565b6000806040838503121561350e5761350d6131d6565b5b600061351c858286016132eb565b925050602061352d85828601613401565b9150509250929050565b60008115159050919050565b61354c81613537565b82525050565b60006020820190506135676000830184613543565b92915050565b6000819050919050565b600061359261358d613588846132a2565b61356d565b6132a2565b9050919050565b60006135a482613577565b9050919050565b60006135b682613599565b9050919050565b6135c6816135ab565b82525050565b60006020820190506135e160008301846135bd565b92915050565b6135f0816133e0565b82525050565b600060208201905061360b60008301846135e7565b92915050565b60008060006060848603121561362a576136296131d6565b5b6000613638868287016132eb565b9350506020613649868287016132eb565b925050604061365a86828701613401565b9150509250925092565b61366d816132c2565b82525050565b60006020820190506136886000830184613664565b92915050565b600060ff82169050919050565b6136a48161368e565b82525050565b60006020820190506136bf600083018461369b565b92915050565b6000602082840312156136db576136da6131d6565b5b60006136e9848285016132eb565b91505092915050565b6136fb81613537565b811461370657600080fd5b50565b600081359050613718816136f2565b92915050565b60008060408385031215613735576137346131d6565b5b6000613743858286016132eb565b925050602061375485828601613709565b9150509250929050565b600060208284031215613774576137736131d6565b5b600061378284828501613401565b91505092915050565b600080604083850312156137a2576137a16131d6565b5b60006137b0858286016132eb565b92505060206137c1858286016132eb565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613801602083613461565b915061380c826137cb565b602082019050919050565b60006020820190508181036000830152613830816137f4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006138a0826133e0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036138d2576138d1613866565b5b600182019050919050565b60006138e8826133e0565b91506138f3836133e0565b925082820190508082111561390b5761390a613866565b5b92915050565b7f4d757374206b6565702066656573206174203325206f72206c65737300000000600082015250565b6000613947601c83613461565b915061395282613911565b602082019050919050565b600060208201905081810360008301526139768161393a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806139c457607f821691505b6020821081036139d7576139d661397d565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000613a39602883613461565b9150613a44826139dd565b604082019050919050565b60006020820190508181036000830152613a6881613a2c565b9050919050565b6000613a7a826133e0565b9150613a85836133e0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613abe57613abd613866565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613b03826133e0565b9150613b0e836133e0565b925082613b1e57613b1d613ac9565b5b828204905092915050565b7f43616e6e6f7420736574206d617854786e206c6f776572207468616e20302e3560008201527f2500000000000000000000000000000000000000000000000000000000000000602082015250565b6000613b85602183613461565b9150613b9082613b29565b604082019050919050565b60006020820190508181036000830152613bb481613b78565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e2060008201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b6000613c17602483613461565b9150613c2282613bbb565b604082019050919050565b60006020820190508181036000830152613c4681613c0a565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b6000613ca9603983613461565b9150613cb482613c4d565b604082019050919050565b60006020820190508181036000830152613cd881613c9c565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613d3b602583613461565b9150613d4682613cdf565b604082019050919050565b60006020820190508181036000830152613d6a81613d2e565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b6000613dcd603583613461565b9150613dd882613d71565b604082019050919050565b60006020820190508181036000830152613dfc81613dc0565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b6000613e5f603483613461565b9150613e6a82613e03565b604082019050919050565b60006020820190508181036000830152613e8e81613e52565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613ef1602683613461565b9150613efc82613e95565b604082019050919050565b60006020820190508181036000830152613f2081613ee4565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613f83602483613461565b9150613f8e82613f27565b604082019050919050565b60006020820190508181036000830152613fb281613f76565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614015602283613461565b915061402082613fb9565b604082019050919050565b6000602082019050818103600083015261404481614008565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006140a7602583613461565b91506140b28261404b565b604082019050919050565b600060208201905081810360008301526140d68161409a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614139602383613461565b9150614144826140dd565b604082019050919050565b600060208201905081810360008301526141688161412c565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b60006141a5601683613461565b91506141b08261416f565b602082019050919050565b600060208201905081810360008301526141d481614198565b9050919050565b7f596f7572206163636f756e7420697320626c61636b6c69737465642100000000600082015250565b6000614211601c83613461565b915061421c826141db565b602082019050919050565b6000602082019050818103600083015261424081614204565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b60006142a3603583613461565b91506142ae82614247565b604082019050919050565b600060208201905081810360008301526142d281614296565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b600061430f601383613461565b915061431a826142d9565b602082019050919050565b6000602082019050818103600083015261433e81614302565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b60006143a1603683613461565b91506143ac82614345565b604082019050919050565b600060208201905081810360008301526143d081614394565b9050919050565b60006143e2826133e0565b91506143ed836133e0565b925082820390508181111561440557614404613866565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614467602683613461565b91506144728261440b565b604082019050919050565b600060208201905081810360008301526144968161445a565b9050919050565b60006060820190506144b260008301866135e7565b6144bf60208301856135e7565b6144cc60408301846135e7565b949350505050565b600081905092915050565b50565b60006144ef6000836144d4565b91506144fa826144df565b600082019050919050565b6000614510826144e2565b9150819050919050565b600081519050614529816132d4565b92915050565b600060208284031215614545576145446131d6565b5b60006145538482850161451a565b91505092915050565b6000819050919050565b600061458161457c6145778461455c565b61356d565b6133e0565b9050919050565b61459181614566565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6145cc816132c2565b82525050565b60006145de83836145c3565b60208301905092915050565b6000602082019050919050565b600061460282614597565b61460c81856145a2565b9350614617836145b3565b8060005b8381101561464857815161462f88826145d2565b975061463a836145ea565b92505060018101905061461b565b5085935050505092915050565b600060a08201905061466a60008301886135e7565b6146776020830187614588565b818103604083015261468981866145f7565b90506146986060830185613664565b6146a560808301846135e7565b9695505050505050565b600060c0820190506146c46000830189613664565b6146d160208301886135e7565b6146de6040830187614588565b6146eb6060830186614588565b6146f86080830185613664565b61470560a08301846135e7565b979650505050505050565b60008151905061471f816133ea565b92915050565b60008060006060848603121561473e5761473d6131d6565b5b600061474c86828701614710565b935050602061475d86828701614710565b925050604061476e86828701614710565b915050925092509256fea26469706673582212200bfea543c1e84feccb85f795a431ceb09518f30cc651edbdd26039477929059d64736f6c63430008100033
Deployed Bytecode Sourcemap
14342:12572:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18920:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19713:378;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2878:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3792:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14428:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3199:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3969:492;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14531:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3098:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4469:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14486:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20797:126;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19372:333;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14969:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19097:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14817:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3315:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1005:112;;;;;;;;;;;;;:::i;:::-;;19197:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14623:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15440:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17783:112;;;;;;;;;;;;;:::i;:::-;;782:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2986:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18408:504;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20289:304;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4692:413;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3450:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14777:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15397:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20099:182;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14662:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17903:497;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14857:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3633:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14704:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1125:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14744:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18920:169;928:12;:10;:12::i;:::-;917:23;;:7;:5;:7::i;:::-;:23;;;909:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18996:9:::1;18991:91;19015:5;:12;19011:1;:16;18991:91;;;19066:4;19049;:14;19054:5;19060:1;19054:8;;;;;;;;:::i;:::-;;;;;;;;19049:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;19029:3;;;;;:::i;:::-;;;;18991:91;;;;18920:169:::0;:::o;19713:378::-;928:12;:10;:12::i;:::-;917:23;;:7;:5;:7::i;:::-;:23;;;909:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19857:13:::1;19838:16;:32;;;;19900:13;19881:16;:32;;;;19959:16;;19940;;:35;;;;:::i;:::-;19924:13;:51;;;;20000:13;;19986:11;:27;;;;20049:1;20032:13;;:18;;20024:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;19713:378:::0;;:::o;2878:100::-;2932:13;2965:5;2958:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2878:100;:::o;3792:169::-;3875:4;3892:39;3901:12;:10;:12::i;:::-;3915:7;3924:6;3892:8;:39::i;:::-;3949:4;3942:11;;3792:169;;;;:::o;14428:51::-;;;:::o;3199:108::-;3260:7;3287:12;;3280:19;;3199:108;:::o;3969:492::-;4109:4;4126:36;4136:6;4144:9;4155:6;4126:9;:36::i;:::-;4175:24;4202:11;:19;4214:6;4202:19;;;;;;;;;;;;;;;:33;4222:12;:10;:12::i;:::-;4202:33;;;;;;;;;;;;;;;;4175:60;;4274:6;4254:16;:26;;4246:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;4361:57;4370:6;4378:12;:10;:12::i;:::-;4411:6;4392:16;:25;4361:8;:57::i;:::-;4449:4;4442:11;;;3969:492;;;;;:::o;14531:53::-;14577:6;14531:53;:::o;3098:93::-;3156:5;3181:2;3174:9;;3098:93;:::o;4469:215::-;4557:4;4574:80;4583:12;:10;:12::i;:::-;4597:7;4643:10;4606:11;:25;4618:12;:10;:12::i;:::-;4606:25;;;;;;;;;;;;;;;:34;4632:7;4606:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;4574:8;:80::i;:::-;4672:4;4665:11;;4469:215;;;;:::o;14486:38::-;;;:::o;20797:126::-;20863:4;20887:19;:28;20907:7;20887:28;;;;;;;;;;;;;;;;;;;;;;;;;20880:35;;20797:126;;;:::o;19372:333::-;928:12;:10;:12::i;:::-;917:23;;:7;:5;:7::i;:::-;:23;;;909:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19514:13:::1;19496:15;:31;;;;19556:13;19538:15;:31;;;;19613:15;;19595;;:33;;;;:::i;:::-;19580:12;:48;;;;19663:1;19647:12;;:17;;19639:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;19372:333:::0;;:::o;14969:28::-;;;;:::o;19097:92::-;928:12;:10;:12::i;:::-;917:23;;:7;:5;:7::i;:::-;:23;;;909:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19176:5:::1;19161:4;:12;19166:6;19161:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;19097:92:::0;:::o;14817:31::-;;;;;;;;;;;;;:::o;3315:127::-;3389:7;3416:9;:18;3426:7;3416:18;;;;;;;;;;;;;;;;3409:25;;3315:127;;;:::o;1005:112::-;928:12;:10;:12::i;:::-;917:23;;:7;:5;:7::i;:::-;:23;;;909:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1079:30:::1;1106:1;1079:18;:30::i;:::-;1005:112::o:0;19197:167::-;928:12;:10;:12::i;:::-;917:23;;:7;:5;:7::i;:::-;:23;;;909:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19352:4:::1;19310:31;:39;19342:6;19310:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;19197:167:::0;;:::o;14623:30::-;;;;;;;;;;;;;:::o;15440:43::-;;;;;;;;;;;;;;;;;:::o;17783:112::-;928:12;:10;:12::i;:::-;917:23;;:7;:5;:7::i;:::-;:23;;;909:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17854:4:::1;17838:13;;:20;;;;;;;;;;;;;;;;;;17883:4;17869:11;;:18;;;;;;;;;;;;;;;;;;17783:112::o:0;782:87::-;828:7;855:6;;;;;;;;;;;848:13;;782:87;:::o;2986:104::-;3042:13;3075:7;3068:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2986:104;:::o;18408:504::-;928:12;:10;:12::i;:::-;917:23;;:7;:5;:7::i;:::-;:23;;;909:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18585:4:::1;18577;18572:1;18556:13;:11;:13::i;:::-;:17;;;;:::i;:::-;18555:26;;;;:::i;:::-;18554:35;;;;:::i;:::-;18541:9;:48;;18519:131;;;;;;;;;;;;:::i;:::-;;;;;;;;;18733:4;18725;18720:1;18704:13;:11;:13::i;:::-;:17;;;;:::i;:::-;18703:26;;;;:::i;:::-;18702:35;;;;:::i;:::-;18683:15;:54;;18661:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;18843:6;18824:15;:26;;;;:::i;:::-;18812:9;:38;;;;18897:6;18884:9;:20;;;;:::i;:::-;18861;:43;;;;18408:504:::0;;:::o;20289:304::-;928:12;:10;:12::i;:::-;917:23;;:7;:5;:7::i;:::-;:23;;;909:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20433:13:::1;20425:21;;:4;:21;;::::0;20403:128:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;20544:41;20573:4;20579:5;20544:28;:41::i;:::-;20289:304:::0;;:::o;4692:413::-;4785:4;4802:24;4829:11;:25;4841:12;:10;:12::i;:::-;4829:25;;;;;;;;;;;;;;;:34;4855:7;4829:34;;;;;;;;;;;;;;;;4802:61;;4902:15;4882:16;:35;;4874:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;4995:67;5004:12;:10;:12::i;:::-;5018:7;5046:15;5027:16;:34;4995:8;:67::i;:::-;5093:4;5086:11;;;4692:413;;;;:::o;3450:175::-;3536:4;3553:42;3563:12;:10;:12::i;:::-;3577:9;3588:6;3553:9;:42::i;:::-;3613:4;3606:11;;3450:175;;;;:::o;14777:33::-;;;;;;;;;;;;;:::o;15397:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;20099:182::-;928:12;:10;:12::i;:::-;917:23;;:7;:5;:7::i;:::-;:23;;;909:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20215:8:::1;20184:19;:28;20204:7;20184:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;20255:7;20239:34;;;20264:8;20239:34;;;;;;:::i;:::-;;;;;;;;20099:182:::0;;:::o;14662:35::-;;;;:::o;17903:497::-;18011:4;928:12;:10;:12::i;:::-;917:23;;:7;:5;:7::i;:::-;:23;;;909:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18090:6:::1;18085:1;18069:13;:11;:13::i;:::-;:17;;;;:::i;:::-;18068:28;;;;:::i;:::-;18055:9;:41;;18033:144;;;;;;;;;;;;:::i;:::-;;;;;;;;;18245:4;18240:1;18224:13;:11;:13::i;:::-;:17;;;;:::i;:::-;18223:26;;;;:::i;:::-;18210:9;:39;;18188:141;;;;;;;;;;;;:::i;:::-;;;;;;;;;18361:9;18340:18;:30;;;;18388:4;18381:11;;17903:497:::0;;;:::o;14857:27::-;;;;:::o;3633:151::-;3722:7;3749:11;:18;3761:5;3749:18;;;;;;;;;;;;;;;:27;3768:7;3749:27;;;;;;;;;;;;;;;;3742:34;;3633:151;;;;:::o;14704:33::-;;;;:::o;1125:201::-;928:12;:10;:12::i;:::-;917:23;;:7;:5;:7::i;:::-;:23;;;909:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1234:1:::1;1214:22;;:8;:22;;::::0;1206:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1290:28;1309:8;1290:18;:28::i;:::-;1125:201:::0;:::o;14744:24::-;;;;:::o;328:98::-;381:7;408:10;401:17;;328:98;:::o;6261:380::-;6414:1;6397:19;;:5;:19;;;6389:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6495:1;6476:21;;:7;:21;;;6468:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6579:6;6549:11;:18;6561:5;6549:18;;;;;;;;;;;;;;;:27;6568:7;6549:27;;;;;;;;;;;;;;;:36;;;;6617:7;6601:32;;6610:5;6601:32;;;6626:6;6601:32;;;;;;:::i;:::-;;;;;;;;6261:380;;;:::o;20931:3623::-;21079:1;21063:18;;:4;:18;;;21055:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21156:1;21142:16;;:2;:16;;;21134:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;21225:1;21215:6;:11;21211:93;;21243:28;21259:4;21265:2;21269:1;21243:15;:28::i;:::-;21286:7;;21211:93;21354:7;:5;:7::i;:::-;21346:15;;:4;:15;;;;:49;;;;;21388:7;:5;:7::i;:::-;21382:13;;:2;:13;;;;21346:49;:86;;;;;21430:1;21416:16;;:2;:16;;;;21346:86;:128;;;;;21467:6;21453:21;;:2;:21;;;;21346:128;:158;;;;;21496:8;;;;;;;;;;;21495:9;21346:158;21324:1640;;;21544:13;;;;;;;;;;;21539:223;;21616:19;:25;21636:4;21616:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;21645:19;:23;21665:2;21645:23;;;;;;;;;;;;;;;;;;;;;;;;;21616:52;21582:160;;;;;;;;;;;;:::i;:::-;;;;;;;;;21539:223;21807:4;:10;21812:4;21807:10;;;;;;;;;;;;;;;;;;;;;;;;;21806:11;:24;;;;;21822:4;:8;21827:2;21822:8;;;;;;;;;;;;;;;;;;;;;;;;;21821:9;21806:24;21798:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;21938:25;:31;21964:4;21938:31;;;;;;;;;;;;;;;;;;;;;;;;;:92;;;;;21995:31;:35;22027:2;21995:35;;;;;;;;;;;;;;;;;;;;;;;;;21994:36;21938:92;21912:1037;;;22117:20;;22107:6;:30;;22073:169;;;;;;;;;;;;:::i;:::-;;;;;;;;;22325:9;;22308:13;22318:2;22308:9;:13::i;:::-;22299:6;:22;;;;:::i;:::-;:35;;22265:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;21912:1037;;;22503:25;:29;22529:2;22503:29;;;;;;;;;;;;;;;;;;;;;;;;;:92;;;;;22558:31;:37;22590:4;22558:37;;;;;;;;;;;;;;;;;;;;;;;;;22557:38;22503:92;22477:472;;;22656:20;;22646:6;:30;;22638:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;22477:472;;;22802:31;:35;22834:2;22802:35;;;;;;;;;;;;;;;;;;;;;;;;;22797:152;;22896:9;;22879:13;22889:2;22879:9;:13::i;:::-;22870:6;:22;;;;:::i;:::-;:35;;22862:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22797:152;22477:472;21912:1037;21324:1640;22976:28;23007:24;23025:4;23007:9;:24::i;:::-;22976:55;;23044:12;23083:18;;23059:20;:42;;23044:57;;23132:7;:35;;;;;23156:11;;;;;;;;;;;23132:35;:61;;;;;23185:8;;;;;;;;;;;23184:9;23132:61;:110;;;;;23211:25;:31;23237:4;23211:31;;;;;;;;;;;;;;;;;;;;;;;;;23210:32;23132:110;:153;;;;;23260:19;:25;23280:4;23260:25;;;;;;;;;;;;;;;;;;;;;;;;;23259:26;23132:153;:194;;;;;23303:19;:23;23323:2;23303:23;;;;;;;;;;;;;;;;;;;;;;;;;23302:24;23132:194;23114:326;;;23364:4;23353:8;;:15;;;;;;;;;;;;;;;;;;23385:10;:8;:10::i;:::-;23423:5;23412:8;;:16;;;;;;;;;;;;;;;;;;23114:326;23452:12;23468:8;;;;;;;;;;;23467:9;23452:24;;23493:19;:25;23513:4;23493:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;23522:19;:23;23542:2;23522:23;;;;;;;;;;;;;;;;;;;;;;;;;23493:52;23489:100;;;23572:5;23562:15;;23489:100;23601:12;23634:7;23630:831;;;23686:25;:29;23712:2;23686:29;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;;23735:1;23719:13;;:17;23686:50;23682:630;;;23764:34;23794:3;23764:25;23775:13;;23764:6;:10;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;23757:41;;23867:13;;23847:16;;23840:4;:23;;;;:::i;:::-;23839:41;;;;:::i;:::-;23817:18;;:63;;;;;;;:::i;:::-;;;;;;;;23949:13;;23929:16;;23922:4;:23;;;;:::i;:::-;23921:41;;;;:::i;:::-;23899:18;;:63;;;;;;;:::i;:::-;;;;;;;;23682:630;;;24024:25;:31;24050:4;24024:31;;;;;;;;;;;;;;;;;;;;;;;;;:51;;;;;24074:1;24059:12;;:16;24024:51;24020:292;;;24103:33;24132:3;24103:24;24114:12;;24103:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;24096:40;;24204:12;;24185:15;;24178:4;:22;;;;:::i;:::-;24177:39;;;;:::i;:::-;24155:18;;:61;;;;;;;:::i;:::-;;;;;;;;24284:12;;24265:15;;24258:4;:22;;;;:::i;:::-;24257:39;;;;:::i;:::-;24235:18;;:61;;;;;;;:::i;:::-;;;;;;;;24020:292;23682:630;24339:1;24332:4;:8;24328:91;;;24361:42;24377:4;24391;24398;24361:15;:42::i;:::-;24328:91;24445:4;24435:14;;;;;:::i;:::-;;;23630:831;24473:33;24489:4;24495:2;24499:6;24473:15;:33::i;:::-;24533:11;;24517:13;:27;;;;21044:3510;;;;20931:3623;;;;:::o;1334:191::-;1408:16;1427:6;;;;;;;;;;;1408:25;;1453:8;1444:6;;:17;;;;;;;;;;;;;;;;;;1508:8;1477:40;;1498:8;1477:40;;;;;;;;;;;;1397:128;1334:191;:::o;20601:188::-;20718:5;20684:25;:31;20710:4;20684:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;20775:5;20741:40;;20769:4;20741:40;;;;;;;;;;;;20601:188;;:::o;5113:733::-;5271:1;5253:20;;:6;:20;;;5245:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;5355:1;5334:23;;:9;:23;;;5326:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5410:47;5431:6;5439:9;5450:6;5410:20;:47::i;:::-;5470:21;5494:9;:17;5504:6;5494:17;;;;;;;;;;;;;;;;5470:41;;5547:6;5530:13;:23;;5522:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;5668:6;5652:13;:22;5632:9;:17;5642:6;5632:17;;;;;;;;;;;;;;;:42;;;;5720:6;5696:9;:20;5706:9;5696:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;5761:9;5744:35;;5753:6;5744:35;;;5772:6;5744:35;;;;;;:::i;:::-;;;;;;;;5792:46;5812:6;5820:9;5831:6;5792:19;:46::i;:::-;5234:612;5113:733;;;:::o;25449:1462::-;25488:23;25514:24;25532:4;25514:9;:24::i;:::-;25488:50;;25549:25;25611:18;;25577;;:52;;;;:::i;:::-;25549:80;;25640:12;25688:1;25669:15;:20;:46;;;;25714:1;25693:17;:22;25669:46;25665:85;;;25732:7;;;;;25665:85;25805:2;25784:18;;:23;;;;:::i;:::-;25766:15;:41;25762:115;;;25863:2;25842:18;;:23;;;;:::i;:::-;25824:41;;25762:115;25889:23;26002:1;25969:17;25934:18;;25916:15;:36;;;;:::i;:::-;25915:71;;;;:::i;:::-;:88;;;;:::i;:::-;25889:114;;26014:26;26043:36;26063:15;26043;:19;;:36;;;;:::i;:::-;26014:65;;26092:25;26120:21;26092:49;;26154:36;26171:18;26154:16;:36::i;:::-;26203:18;26224:44;26250:17;26224:21;:25;;:44;;;;:::i;:::-;26203:65;;26281:23;26307:81;26360:17;26307:34;26322:18;;26307:10;:14;;:34;;;;:::i;:::-;:38;;:81;;;;:::i;:::-;26281:107;;26401:23;26440:15;26427:10;:28;;;;:::i;:::-;26401:54;;26489:1;26468:18;:22;;;;26522:1;26501:18;:22;;;;26558:1;26540:15;:19;:42;;;;;26581:1;26563:15;:19;26540:42;26536:278;;;26599:46;26612:15;26629;26599:12;:46::i;:::-;26665:137;26698:18;26735:15;26769:18;;26665:137;;;;;;;;:::i;:::-;;;;;;;;26536:278;26848:15;;;;;;;;;;;26840:29;;26877:21;26840:63;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26826:77;;;;;25477:1434;;;;;;;;;25449:1462;:::o;8267:98::-;8325:7;8356:1;8352;:5;;;;:::i;:::-;8345:12;;8267:98;;;;:::o;8373:::-;8431:7;8462:1;8458;:5;;;;:::i;:::-;8451:12;;8373:98;;;;:::o;6649:125::-;;;;:::o;6782:124::-;;;;:::o;8161:98::-;8219:7;8250:1;8246;:5;;;;:::i;:::-;8239:12;;8161:98;;;;:::o;24562:503::-;24630:21;24668:1;24654:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24630:40;;24699:4;24681;24686:1;24681:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;24725:15;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24715:4;24720:1;24715:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;24760:62;24777:4;24792:15;24810:11;24760:8;:62::i;:::-;24861:15;:66;;;24942:11;24968:1;24984:4;25011;25031:15;24861:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24617:448;24562:503;:::o;25073:368::-;25156:62;25173:4;25188:15;25206:11;25156:8;:62::i;:::-;25231:15;:31;;;25270:9;25303:4;25323:11;25349:1;25365;14577:6;25407:15;25231:202;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;25073:368;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:139::-;2021:5;2059:6;2046:20;2037:29;;2075:33;2102:5;2075:33;:::i;:::-;1975:139;;;;:::o;2137:710::-;2233:5;2258:81;2274:64;2331:6;2274:64;:::i;:::-;2258:81;:::i;:::-;2249:90;;2359:5;2388:6;2381:5;2374:21;2422:4;2415:5;2411:16;2404:23;;2475:4;2467:6;2463:17;2455:6;2451:30;2504:3;2496:6;2493:15;2490:122;;;2523:79;;:::i;:::-;2490:122;2638:6;2621:220;2655:6;2650:3;2647:15;2621:220;;;2730:3;2759:37;2792:3;2780:10;2759:37;:::i;:::-;2754:3;2747:50;2826:4;2821:3;2817:14;2810:21;;2697:144;2681:4;2676:3;2672:14;2665:21;;2621:220;;;2625:21;2239:608;;2137:710;;;;;:::o;2870:370::-;2941:5;2990:3;2983:4;2975:6;2971:17;2967:27;2957:122;;2998:79;;:::i;:::-;2957:122;3115:6;3102:20;3140:94;3230:3;3222:6;3215:4;3207:6;3203:17;3140:94;:::i;:::-;3131:103;;2947:293;2870:370;;;;:::o;3246:539::-;3330:6;3379:2;3367:9;3358:7;3354:23;3350:32;3347:119;;;3385:79;;:::i;:::-;3347:119;3533:1;3522:9;3518:17;3505:31;3563:18;3555:6;3552:30;3549:117;;;3585:79;;:::i;:::-;3549:117;3690:78;3760:7;3751:6;3740:9;3736:22;3690:78;:::i;:::-;3680:88;;3476:302;3246:539;;;;:::o;3791:77::-;3828:7;3857:5;3846:16;;3791:77;;;:::o;3874:122::-;3947:24;3965:5;3947:24;:::i;:::-;3940:5;3937:35;3927:63;;3986:1;3983;3976:12;3927:63;3874:122;:::o;4002:139::-;4048:5;4086:6;4073:20;4064:29;;4102:33;4129:5;4102:33;:::i;:::-;4002:139;;;;:::o;4147:474::-;4215:6;4223;4272:2;4260:9;4251:7;4247:23;4243:32;4240:119;;;4278:79;;:::i;:::-;4240:119;4398:1;4423:53;4468:7;4459:6;4448:9;4444:22;4423:53;:::i;:::-;4413:63;;4369:117;4525:2;4551:53;4596:7;4587:6;4576:9;4572:22;4551:53;:::i;:::-;4541:63;;4496:118;4147:474;;;;;:::o;4627:99::-;4679:6;4713:5;4707:12;4697:22;;4627:99;;;:::o;4732:169::-;4816:11;4850:6;4845:3;4838:19;4890:4;4885:3;4881:14;4866:29;;4732:169;;;;:::o;4907:246::-;4988:1;4998:113;5012:6;5009:1;5006:13;4998:113;;;5097:1;5092:3;5088:11;5082:18;5078:1;5073:3;5069:11;5062:39;5034:2;5031:1;5027:10;5022:15;;4998:113;;;5145:1;5136:6;5131:3;5127:16;5120:27;4969:184;4907:246;;;:::o;5159:377::-;5247:3;5275:39;5308:5;5275:39;:::i;:::-;5330:71;5394:6;5389:3;5330:71;:::i;:::-;5323:78;;5410:65;5468:6;5463:3;5456:4;5449:5;5445:16;5410:65;:::i;:::-;5500:29;5522:6;5500:29;:::i;:::-;5495:3;5491:39;5484:46;;5251:285;5159:377;;;;:::o;5542:313::-;5655:4;5693:2;5682:9;5678:18;5670:26;;5742:9;5736:4;5732:20;5728:1;5717:9;5713:17;5706:47;5770:78;5843:4;5834:6;5770:78;:::i;:::-;5762:86;;5542:313;;;;:::o;5861:474::-;5929:6;5937;5986:2;5974:9;5965:7;5961:23;5957:32;5954:119;;;5992:79;;:::i;:::-;5954:119;6112:1;6137:53;6182:7;6173:6;6162:9;6158:22;6137:53;:::i;:::-;6127:63;;6083:117;6239:2;6265:53;6310:7;6301:6;6290:9;6286:22;6265:53;:::i;:::-;6255:63;;6210:118;5861:474;;;;;:::o;6341:90::-;6375:7;6418:5;6411:13;6404:21;6393:32;;6341:90;;;:::o;6437:109::-;6518:21;6533:5;6518:21;:::i;:::-;6513:3;6506:34;6437:109;;:::o;6552:210::-;6639:4;6677:2;6666:9;6662:18;6654:26;;6690:65;6752:1;6741:9;6737:17;6728:6;6690:65;:::i;:::-;6552:210;;;;:::o;6768:60::-;6796:3;6817:5;6810:12;;6768:60;;;:::o;6834:142::-;6884:9;6917:53;6935:34;6944:24;6962:5;6944:24;:::i;:::-;6935:34;:::i;:::-;6917:53;:::i;:::-;6904:66;;6834:142;;;:::o;6982:126::-;7032:9;7065:37;7096:5;7065:37;:::i;:::-;7052:50;;6982:126;;;:::o;7114:153::-;7191:9;7224:37;7255:5;7224:37;:::i;:::-;7211:50;;7114:153;;;:::o;7273:185::-;7387:64;7445:5;7387:64;:::i;:::-;7382:3;7375:77;7273:185;;:::o;7464:276::-;7584:4;7622:2;7611:9;7607:18;7599:26;;7635:98;7730:1;7719:9;7715:17;7706:6;7635:98;:::i;:::-;7464:276;;;;:::o;7746:118::-;7833:24;7851:5;7833:24;:::i;:::-;7828:3;7821:37;7746:118;;:::o;7870:222::-;7963:4;8001:2;7990:9;7986:18;7978:26;;8014:71;8082:1;8071:9;8067:17;8058:6;8014:71;:::i;:::-;7870:222;;;;:::o;8098:619::-;8175:6;8183;8191;8240:2;8228:9;8219:7;8215:23;8211:32;8208:119;;;8246:79;;:::i;:::-;8208:119;8366:1;8391:53;8436:7;8427:6;8416:9;8412:22;8391:53;:::i;:::-;8381:63;;8337:117;8493:2;8519:53;8564:7;8555:6;8544:9;8540:22;8519:53;:::i;:::-;8509:63;;8464:118;8621:2;8647:53;8692:7;8683:6;8672:9;8668:22;8647:53;:::i;:::-;8637:63;;8592:118;8098:619;;;;;:::o;8723:118::-;8810:24;8828:5;8810:24;:::i;:::-;8805:3;8798:37;8723:118;;:::o;8847:222::-;8940:4;8978:2;8967:9;8963:18;8955:26;;8991:71;9059:1;9048:9;9044:17;9035:6;8991:71;:::i;:::-;8847:222;;;;:::o;9075:86::-;9110:7;9150:4;9143:5;9139:16;9128:27;;9075:86;;;:::o;9167:112::-;9250:22;9266:5;9250:22;:::i;:::-;9245:3;9238:35;9167:112;;:::o;9285:214::-;9374:4;9412:2;9401:9;9397:18;9389:26;;9425:67;9489:1;9478:9;9474:17;9465:6;9425:67;:::i;:::-;9285:214;;;;:::o;9505:329::-;9564:6;9613:2;9601:9;9592:7;9588:23;9584:32;9581:119;;;9619:79;;:::i;:::-;9581:119;9739:1;9764:53;9809:7;9800:6;9789:9;9785:22;9764:53;:::i;:::-;9754:63;;9710:117;9505:329;;;;:::o;9840:116::-;9910:21;9925:5;9910:21;:::i;:::-;9903:5;9900:32;9890:60;;9946:1;9943;9936:12;9890:60;9840:116;:::o;9962:133::-;10005:5;10043:6;10030:20;10021:29;;10059:30;10083:5;10059:30;:::i;:::-;9962:133;;;;:::o;10101:468::-;10166:6;10174;10223:2;10211:9;10202:7;10198:23;10194:32;10191:119;;;10229:79;;:::i;:::-;10191:119;10349:1;10374:53;10419:7;10410:6;10399:9;10395:22;10374:53;:::i;:::-;10364:63;;10320:117;10476:2;10502:50;10544:7;10535:6;10524:9;10520:22;10502:50;:::i;:::-;10492:60;;10447:115;10101:468;;;;;:::o;10575:329::-;10634:6;10683:2;10671:9;10662:7;10658:23;10654:32;10651:119;;;10689:79;;:::i;:::-;10651:119;10809:1;10834:53;10879:7;10870:6;10859:9;10855:22;10834:53;:::i;:::-;10824:63;;10780:117;10575:329;;;;:::o;10910:474::-;10978:6;10986;11035:2;11023:9;11014:7;11010:23;11006:32;11003:119;;;11041:79;;:::i;:::-;11003:119;11161:1;11186:53;11231:7;11222:6;11211:9;11207:22;11186:53;:::i;:::-;11176:63;;11132:117;11288:2;11314:53;11359:7;11350:6;11339:9;11335:22;11314:53;:::i;:::-;11304:63;;11259:118;10910:474;;;;;:::o;11390:182::-;11530:34;11526:1;11518:6;11514:14;11507:58;11390:182;:::o;11578:366::-;11720:3;11741:67;11805:2;11800:3;11741:67;:::i;:::-;11734:74;;11817:93;11906:3;11817:93;:::i;:::-;11935:2;11930:3;11926:12;11919:19;;11578:366;;;:::o;11950:419::-;12116:4;12154:2;12143:9;12139:18;12131:26;;12203:9;12197:4;12193:20;12189:1;12178:9;12174:17;12167:47;12231:131;12357:4;12231:131;:::i;:::-;12223:139;;11950:419;;;:::o;12375:180::-;12423:77;12420:1;12413:88;12520:4;12517:1;12510:15;12544:4;12541:1;12534:15;12561:180;12609:77;12606:1;12599:88;12706:4;12703:1;12696:15;12730:4;12727:1;12720:15;12747:233;12786:3;12809:24;12827:5;12809:24;:::i;:::-;12800:33;;12855:66;12848:5;12845:77;12842:103;;12925:18;;:::i;:::-;12842:103;12972:1;12965:5;12961:13;12954:20;;12747:233;;;:::o;12986:191::-;13026:3;13045:20;13063:1;13045:20;:::i;:::-;13040:25;;13079:20;13097:1;13079:20;:::i;:::-;13074:25;;13122:1;13119;13115:9;13108:16;;13143:3;13140:1;13137:10;13134:36;;;13150:18;;:::i;:::-;13134:36;12986:191;;;;:::o;13183:178::-;13323:30;13319:1;13311:6;13307:14;13300:54;13183:178;:::o;13367:366::-;13509:3;13530:67;13594:2;13589:3;13530:67;:::i;:::-;13523:74;;13606:93;13695:3;13606:93;:::i;:::-;13724:2;13719:3;13715:12;13708:19;;13367:366;;;:::o;13739:419::-;13905:4;13943:2;13932:9;13928:18;13920:26;;13992:9;13986:4;13982:20;13978:1;13967:9;13963:17;13956:47;14020:131;14146:4;14020:131;:::i;:::-;14012:139;;13739:419;;;:::o;14164:180::-;14212:77;14209:1;14202:88;14309:4;14306:1;14299:15;14333:4;14330:1;14323:15;14350:320;14394:6;14431:1;14425:4;14421:12;14411:22;;14478:1;14472:4;14468:12;14499:18;14489:81;;14555:4;14547:6;14543:17;14533:27;;14489:81;14617:2;14609:6;14606:14;14586:18;14583:38;14580:84;;14636:18;;:::i;:::-;14580:84;14401:269;14350:320;;;:::o;14676:227::-;14816:34;14812:1;14804:6;14800:14;14793:58;14885:10;14880:2;14872:6;14868:15;14861:35;14676:227;:::o;14909:366::-;15051:3;15072:67;15136:2;15131:3;15072:67;:::i;:::-;15065:74;;15148:93;15237:3;15148:93;:::i;:::-;15266:2;15261:3;15257:12;15250:19;;14909:366;;;:::o;15281:419::-;15447:4;15485:2;15474:9;15470:18;15462:26;;15534:9;15528:4;15524:20;15520:1;15509:9;15505:17;15498:47;15562:131;15688:4;15562:131;:::i;:::-;15554:139;;15281:419;;;:::o;15706:348::-;15746:7;15769:20;15787:1;15769:20;:::i;:::-;15764:25;;15803:20;15821:1;15803:20;:::i;:::-;15798:25;;15991:1;15923:66;15919:74;15916:1;15913:81;15908:1;15901:9;15894:17;15890:105;15887:131;;;15998:18;;:::i;:::-;15887:131;16046:1;16043;16039:9;16028:20;;15706:348;;;;:::o;16060:180::-;16108:77;16105:1;16098:88;16205:4;16202:1;16195:15;16229:4;16226:1;16219:15;16246:185;16286:1;16303:20;16321:1;16303:20;:::i;:::-;16298:25;;16337:20;16355:1;16337:20;:::i;:::-;16332:25;;16376:1;16366:35;;16381:18;;:::i;:::-;16366:35;16423:1;16420;16416:9;16411:14;;16246:185;;;;:::o;16437:220::-;16577:34;16573:1;16565:6;16561:14;16554:58;16646:3;16641:2;16633:6;16629:15;16622:28;16437:220;:::o;16663:366::-;16805:3;16826:67;16890:2;16885:3;16826:67;:::i;:::-;16819:74;;16902:93;16991:3;16902:93;:::i;:::-;17020:2;17015:3;17011:12;17004:19;;16663:366;;;:::o;17035:419::-;17201:4;17239:2;17228:9;17224:18;17216:26;;17288:9;17282:4;17278:20;17274:1;17263:9;17259:17;17252:47;17316:131;17442:4;17316:131;:::i;:::-;17308:139;;17035:419;;;:::o;17460:223::-;17600:34;17596:1;17588:6;17584:14;17577:58;17669:6;17664:2;17656:6;17652:15;17645:31;17460:223;:::o;17689:366::-;17831:3;17852:67;17916:2;17911:3;17852:67;:::i;:::-;17845:74;;17928:93;18017:3;17928:93;:::i;:::-;18046:2;18041:3;18037:12;18030:19;;17689:366;;;:::o;18061:419::-;18227:4;18265:2;18254:9;18250:18;18242:26;;18314:9;18308:4;18304:20;18300:1;18289:9;18285:17;18278:47;18342:131;18468:4;18342:131;:::i;:::-;18334:139;;18061:419;;;:::o;18486:244::-;18626:34;18622:1;18614:6;18610:14;18603:58;18695:27;18690:2;18682:6;18678:15;18671:52;18486:244;:::o;18736:366::-;18878:3;18899:67;18963:2;18958:3;18899:67;:::i;:::-;18892:74;;18975:93;19064:3;18975:93;:::i;:::-;19093:2;19088:3;19084:12;19077:19;;18736:366;;;:::o;19108:419::-;19274:4;19312:2;19301:9;19297:18;19289:26;;19361:9;19355:4;19351:20;19347:1;19336:9;19332:17;19325:47;19389:131;19515:4;19389:131;:::i;:::-;19381:139;;19108:419;;;:::o;19533:224::-;19673:34;19669:1;19661:6;19657:14;19650:58;19742:7;19737:2;19729:6;19725:15;19718:32;19533:224;:::o;19763:366::-;19905:3;19926:67;19990:2;19985:3;19926:67;:::i;:::-;19919:74;;20002:93;20091:3;20002:93;:::i;:::-;20120:2;20115:3;20111:12;20104:19;;19763:366;;;:::o;20135:419::-;20301:4;20339:2;20328:9;20324:18;20316:26;;20388:9;20382:4;20378:20;20374:1;20363:9;20359:17;20352:47;20416:131;20542:4;20416:131;:::i;:::-;20408:139;;20135:419;;;:::o;20560:240::-;20700:34;20696:1;20688:6;20684:14;20677:58;20769:23;20764:2;20756:6;20752:15;20745:48;20560:240;:::o;20806:366::-;20948:3;20969:67;21033:2;21028:3;20969:67;:::i;:::-;20962:74;;21045:93;21134:3;21045:93;:::i;:::-;21163:2;21158:3;21154:12;21147:19;;20806:366;;;:::o;21178:419::-;21344:4;21382:2;21371:9;21367:18;21359:26;;21431:9;21425:4;21421:20;21417:1;21406:9;21402:17;21395:47;21459:131;21585:4;21459:131;:::i;:::-;21451:139;;21178:419;;;:::o;21603:239::-;21743:34;21739:1;21731:6;21727:14;21720:58;21812:22;21807:2;21799:6;21795:15;21788:47;21603:239;:::o;21848:366::-;21990:3;22011:67;22075:2;22070:3;22011:67;:::i;:::-;22004:74;;22087:93;22176:3;22087:93;:::i;:::-;22205:2;22200:3;22196:12;22189:19;;21848:366;;;:::o;22220:419::-;22386:4;22424:2;22413:9;22409:18;22401:26;;22473:9;22467:4;22463:20;22459:1;22448:9;22444:17;22437:47;22501:131;22627:4;22501:131;:::i;:::-;22493:139;;22220:419;;;:::o;22645:225::-;22785:34;22781:1;22773:6;22769:14;22762:58;22854:8;22849:2;22841:6;22837:15;22830:33;22645:225;:::o;22876:366::-;23018:3;23039:67;23103:2;23098:3;23039:67;:::i;:::-;23032:74;;23115:93;23204:3;23115:93;:::i;:::-;23233:2;23228:3;23224:12;23217:19;;22876:366;;;:::o;23248:419::-;23414:4;23452:2;23441:9;23437:18;23429:26;;23501:9;23495:4;23491:20;23487:1;23476:9;23472:17;23465:47;23529:131;23655:4;23529:131;:::i;:::-;23521:139;;23248:419;;;:::o;23673:223::-;23813:34;23809:1;23801:6;23797:14;23790:58;23882:6;23877:2;23869:6;23865:15;23858:31;23673:223;:::o;23902:366::-;24044:3;24065:67;24129:2;24124:3;24065:67;:::i;:::-;24058:74;;24141:93;24230:3;24141:93;:::i;:::-;24259:2;24254:3;24250:12;24243:19;;23902:366;;;:::o;24274:419::-;24440:4;24478:2;24467:9;24463:18;24455:26;;24527:9;24521:4;24517:20;24513:1;24502:9;24498:17;24491:47;24555:131;24681:4;24555:131;:::i;:::-;24547:139;;24274:419;;;:::o;24699:221::-;24839:34;24835:1;24827:6;24823:14;24816:58;24908:4;24903:2;24895:6;24891:15;24884:29;24699:221;:::o;24926:366::-;25068:3;25089:67;25153:2;25148:3;25089:67;:::i;:::-;25082:74;;25165:93;25254:3;25165:93;:::i;:::-;25283:2;25278:3;25274:12;25267:19;;24926:366;;;:::o;25298:419::-;25464:4;25502:2;25491:9;25487:18;25479:26;;25551:9;25545:4;25541:20;25537:1;25526:9;25522:17;25515:47;25579:131;25705:4;25579:131;:::i;:::-;25571:139;;25298:419;;;:::o;25723:224::-;25863:34;25859:1;25851:6;25847:14;25840:58;25932:7;25927:2;25919:6;25915:15;25908:32;25723:224;:::o;25953:366::-;26095:3;26116:67;26180:2;26175:3;26116:67;:::i;:::-;26109:74;;26192:93;26281:3;26192:93;:::i;:::-;26310:2;26305:3;26301:12;26294:19;;25953:366;;;:::o;26325:419::-;26491:4;26529:2;26518:9;26514:18;26506:26;;26578:9;26572:4;26568:20;26564:1;26553:9;26549:17;26542:47;26606:131;26732:4;26606:131;:::i;:::-;26598:139;;26325:419;;;:::o;26750:222::-;26890:34;26886:1;26878:6;26874:14;26867:58;26959:5;26954:2;26946:6;26942:15;26935:30;26750:222;:::o;26978:366::-;27120:3;27141:67;27205:2;27200:3;27141:67;:::i;:::-;27134:74;;27217:93;27306:3;27217:93;:::i;:::-;27335:2;27330:3;27326:12;27319:19;;26978:366;;;:::o;27350:419::-;27516:4;27554:2;27543:9;27539:18;27531:26;;27603:9;27597:4;27593:20;27589:1;27578:9;27574:17;27567:47;27631:131;27757:4;27631:131;:::i;:::-;27623:139;;27350:419;;;:::o;27775:172::-;27915:24;27911:1;27903:6;27899:14;27892:48;27775:172;:::o;27953:366::-;28095:3;28116:67;28180:2;28175:3;28116:67;:::i;:::-;28109:74;;28192:93;28281:3;28192:93;:::i;:::-;28310:2;28305:3;28301:12;28294:19;;27953:366;;;:::o;28325:419::-;28491:4;28529:2;28518:9;28514:18;28506:26;;28578:9;28572:4;28568:20;28564:1;28553:9;28549:17;28542:47;28606:131;28732:4;28606:131;:::i;:::-;28598:139;;28325:419;;;:::o;28750:178::-;28890:30;28886:1;28878:6;28874:14;28867:54;28750:178;:::o;28934:366::-;29076:3;29097:67;29161:2;29156:3;29097:67;:::i;:::-;29090:74;;29173:93;29262:3;29173:93;:::i;:::-;29291:2;29286:3;29282:12;29275:19;;28934:366;;;:::o;29306:419::-;29472:4;29510:2;29499:9;29495:18;29487:26;;29559:9;29553:4;29549:20;29545:1;29534:9;29530:17;29523:47;29587:131;29713:4;29587:131;:::i;:::-;29579:139;;29306:419;;;:::o;29731:240::-;29871:34;29867:1;29859:6;29855:14;29848:58;29940:23;29935:2;29927:6;29923:15;29916:48;29731:240;:::o;29977:366::-;30119:3;30140:67;30204:2;30199:3;30140:67;:::i;:::-;30133:74;;30216:93;30305:3;30216:93;:::i;:::-;30334:2;30329:3;30325:12;30318:19;;29977:366;;;:::o;30349:419::-;30515:4;30553:2;30542:9;30538:18;30530:26;;30602:9;30596:4;30592:20;30588:1;30577:9;30573:17;30566:47;30630:131;30756:4;30630:131;:::i;:::-;30622:139;;30349:419;;;:::o;30774:169::-;30914:21;30910:1;30902:6;30898:14;30891:45;30774:169;:::o;30949:366::-;31091:3;31112:67;31176:2;31171:3;31112:67;:::i;:::-;31105:74;;31188:93;31277:3;31188:93;:::i;:::-;31306:2;31301:3;31297:12;31290:19;;30949:366;;;:::o;31321:419::-;31487:4;31525:2;31514:9;31510:18;31502:26;;31574:9;31568:4;31564:20;31560:1;31549:9;31545:17;31538:47;31602:131;31728:4;31602:131;:::i;:::-;31594:139;;31321:419;;;:::o;31746:241::-;31886:34;31882:1;31874:6;31870:14;31863:58;31955:24;31950:2;31942:6;31938:15;31931:49;31746:241;:::o;31993:366::-;32135:3;32156:67;32220:2;32215:3;32156:67;:::i;:::-;32149:74;;32232:93;32321:3;32232:93;:::i;:::-;32350:2;32345:3;32341:12;32334:19;;31993:366;;;:::o;32365:419::-;32531:4;32569:2;32558:9;32554:18;32546:26;;32618:9;32612:4;32608:20;32604:1;32593:9;32589:17;32582:47;32646:131;32772:4;32646:131;:::i;:::-;32638:139;;32365:419;;;:::o;32790:194::-;32830:4;32850:20;32868:1;32850:20;:::i;:::-;32845:25;;32884:20;32902:1;32884:20;:::i;:::-;32879:25;;32928:1;32925;32921:9;32913:17;;32952:1;32946:4;32943:11;32940:37;;;32957:18;;:::i;:::-;32940:37;32790:194;;;;:::o;32990:225::-;33130:34;33126:1;33118:6;33114:14;33107:58;33199:8;33194:2;33186:6;33182:15;33175:33;32990:225;:::o;33221:366::-;33363:3;33384:67;33448:2;33443:3;33384:67;:::i;:::-;33377:74;;33460:93;33549:3;33460:93;:::i;:::-;33578:2;33573:3;33569:12;33562:19;;33221:366;;;:::o;33593:419::-;33759:4;33797:2;33786:9;33782:18;33774:26;;33846:9;33840:4;33836:20;33832:1;33821:9;33817:17;33810:47;33874:131;34000:4;33874:131;:::i;:::-;33866:139;;33593:419;;;:::o;34018:442::-;34167:4;34205:2;34194:9;34190:18;34182:26;;34218:71;34286:1;34275:9;34271:17;34262:6;34218:71;:::i;:::-;34299:72;34367:2;34356:9;34352:18;34343:6;34299:72;:::i;:::-;34381;34449:2;34438:9;34434:18;34425:6;34381:72;:::i;:::-;34018:442;;;;;;:::o;34466:147::-;34567:11;34604:3;34589:18;;34466:147;;;;:::o;34619:114::-;;:::o;34739:398::-;34898:3;34919:83;35000:1;34995:3;34919:83;:::i;:::-;34912:90;;35011:93;35100:3;35011:93;:::i;:::-;35129:1;35124:3;35120:11;35113:18;;34739:398;;;:::o;35143:379::-;35327:3;35349:147;35492:3;35349:147;:::i;:::-;35342:154;;35513:3;35506:10;;35143:379;;;:::o;35528:143::-;35585:5;35616:6;35610:13;35601:22;;35632:33;35659:5;35632:33;:::i;:::-;35528:143;;;;:::o;35677:351::-;35747:6;35796:2;35784:9;35775:7;35771:23;35767:32;35764:119;;;35802:79;;:::i;:::-;35764:119;35922:1;35947:64;36003:7;35994:6;35983:9;35979:22;35947:64;:::i;:::-;35937:74;;35893:128;35677:351;;;;:::o;36034:85::-;36079:7;36108:5;36097:16;;36034:85;;;:::o;36125:158::-;36183:9;36216:61;36234:42;36243:32;36269:5;36243:32;:::i;:::-;36234:42;:::i;:::-;36216:61;:::i;:::-;36203:74;;36125:158;;;:::o;36289:147::-;36384:45;36423:5;36384:45;:::i;:::-;36379:3;36372:58;36289:147;;:::o;36442:114::-;36509:6;36543:5;36537:12;36527:22;;36442:114;;;:::o;36562:184::-;36661:11;36695:6;36690:3;36683:19;36735:4;36730:3;36726:14;36711:29;;36562:184;;;;:::o;36752:132::-;36819:4;36842:3;36834:11;;36872:4;36867:3;36863:14;36855:22;;36752:132;;;:::o;36890:108::-;36967:24;36985:5;36967:24;:::i;:::-;36962:3;36955:37;36890:108;;:::o;37004:179::-;37073:10;37094:46;37136:3;37128:6;37094:46;:::i;:::-;37172:4;37167:3;37163:14;37149:28;;37004:179;;;;:::o;37189:113::-;37259:4;37291;37286:3;37282:14;37274:22;;37189:113;;;:::o;37338:732::-;37457:3;37486:54;37534:5;37486:54;:::i;:::-;37556:86;37635:6;37630:3;37556:86;:::i;:::-;37549:93;;37666:56;37716:5;37666:56;:::i;:::-;37745:7;37776:1;37761:284;37786:6;37783:1;37780:13;37761:284;;;37862:6;37856:13;37889:63;37948:3;37933:13;37889:63;:::i;:::-;37882:70;;37975:60;38028:6;37975:60;:::i;:::-;37965:70;;37821:224;37808:1;37805;37801:9;37796:14;;37761:284;;;37765:14;38061:3;38054:10;;37462:608;;;37338:732;;;;:::o;38076:831::-;38339:4;38377:3;38366:9;38362:19;38354:27;;38391:71;38459:1;38448:9;38444:17;38435:6;38391:71;:::i;:::-;38472:80;38548:2;38537:9;38533:18;38524:6;38472:80;:::i;:::-;38599:9;38593:4;38589:20;38584:2;38573:9;38569:18;38562:48;38627:108;38730:4;38721:6;38627:108;:::i;:::-;38619:116;;38745:72;38813:2;38802:9;38798:18;38789:6;38745:72;:::i;:::-;38827:73;38895:3;38884:9;38880:19;38871:6;38827:73;:::i;:::-;38076:831;;;;;;;;:::o;38913:807::-;39162:4;39200:3;39189:9;39185:19;39177:27;;39214:71;39282:1;39271:9;39267:17;39258:6;39214:71;:::i;:::-;39295:72;39363:2;39352:9;39348:18;39339:6;39295:72;:::i;:::-;39377:80;39453:2;39442:9;39438:18;39429:6;39377:80;:::i;:::-;39467;39543:2;39532:9;39528:18;39519:6;39467:80;:::i;:::-;39557:73;39625:3;39614:9;39610:19;39601:6;39557:73;:::i;:::-;39640;39708:3;39697:9;39693:19;39684:6;39640:73;:::i;:::-;38913:807;;;;;;;;;:::o;39726:143::-;39783:5;39814:6;39808:13;39799:22;;39830:33;39857:5;39830:33;:::i;:::-;39726:143;;;;:::o;39875:663::-;39963:6;39971;39979;40028:2;40016:9;40007:7;40003:23;39999:32;39996:119;;;40034:79;;:::i;:::-;39996:119;40154:1;40179:64;40235:7;40226:6;40215:9;40211:22;40179:64;:::i;:::-;40169:74;;40125:128;40292:2;40318:64;40374:7;40365:6;40354:9;40350:22;40318:64;:::i;:::-;40308:74;;40263:129;40431:2;40457:64;40513:7;40504:6;40493:9;40489:22;40457:64;:::i;:::-;40447:74;;40402:129;39875:663;;;;;:::o
Swarm Source
ipfs://0bfea543c1e84feccb85f795a431ceb09518f30cc651edbdd26039477929059d
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.