ERC-20
Overview
Max Total Supply
100,000,000,000 RU$APE
Holders
9
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
373,291,711.150753796 RU$APEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
RUSHAPEETH
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-03-18 */ // TG: https://t.me/rushapeeth , Tax 13% BOTH // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.7; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } library Address { function isContract(address account) internal view returns (bool) { bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } contract Ownable is Context { address private _owner; address private _previousOwner; uint256 private _lockTime; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } function getUnlockTime() public view returns (uint256) { return _lockTime; } function getTime() public view returns (uint256) { return block.timestamp; } function lock(uint256 time) public virtual onlyOwner { _previousOwner = _owner; _owner = address(0); _lockTime = block.timestamp + time; emit OwnershipTransferred(_owner, address(0)); } function unlock() public virtual { require(_previousOwner == msg.sender, "You don't have permission to unlock"); require(block.timestamp > _lockTime , "Contract is locked until 7 days"); emit OwnershipTransferred(_owner, _previousOwner); _owner = _previousOwner; } } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); 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(uint) external view returns (address pair); function allPairsLength() external view returns (uint); 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, uint value); event Transfer(address indexed from, address indexed to, uint 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 (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint 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 (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); 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 (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract RUSHAPEETH is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; string private _name = "RUSH APE ETH"; string private _symbol = "RU$APE"; uint8 private _decimals = 9; uint256 private _Supply = 100 * 10**9 * 10**9; uint256 public _liquidityFee = 2; uint256 public _marketingFee = 7; uint256 public _devFee = 4; uint256 public _antidump = 0; uint256 public _giveaway = 0; uint256 public _setbot = 0; uint256 public _maxtransaction = 3 * 10**9 * 10**9; uint256 public _walletMax = 4 * 10**9 * 10**9; uint256 private minimumTokensBeforeSwap = 1000 * 10**9; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public isExcludedFromFee; mapping (address => bool) public isWalletLimitExempt; mapping (address => bool) public isBlacklisted; address payable public marketingWalletAddress = payable(0x1391379a03800EA71752D5a8AFedf842b2aeC454); address payable public devWalletAddress = payable(0xE5636b52cA9F35370768c5499313A97695D03F59); address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public swapAndLiquifyByLimitOnly = false; bool public checkWalletLimit = true; event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); event SwapETHForTokens( uint256 amountIn, address[] path ); event SwapTokensForETH( uint256 amountIn, address[] path ); modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _allowances[address(this)][address(uniswapV2Router)] = _Supply; isExcludedFromFee[owner()] = true; isExcludedFromFee[address(this)] = true; _giveaway = _liquidityFee.add(_marketingFee).add(_devFee); _setbot = _giveaway.add(_antidump); isWalletLimitExempt[owner()] = true; isWalletLimitExempt[address(uniswapV2Pair)] = true; _balances[_msgSender()] = _Supply; emit Transfer(address(0), _msgSender(), _Supply); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _Supply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function minimumTokensBeforeSwapAmount() public view returns (uint256) { return minimumTokensBeforeSwap; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function blacklistAddress(address account, bool newValue) public onlyOwner { isBlacklisted[account] = newValue; } function setIsExcludedFromFee(address account, bool newValue) public onlyOwner { isExcludedFromFee[account] = newValue; } function setTaxes(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newRewardsTax, uint256 newExtraBurnFee) external onlyOwner() { _liquidityFee = newLiquidityTax; _marketingFee = newMarketingTax; _devFee = newRewardsTax; _antidump = newExtraBurnFee; _giveaway = _liquidityFee.add(_marketingFee).add(_devFee); _setbot = _giveaway.add(_antidump); } function setMaxTxAmount(uint256 maxTxAmount) external onlyOwner() { _maxtransaction = maxTxAmount; } function enableDisableWalletLimit(bool newValue) external onlyOwner { checkWalletLimit = newValue; } function setIsWalletLimitExempt(address holder, bool exempt) external onlyOwner { isWalletLimitExempt[holder] = exempt; } function setWalletLimit(uint256 newLimit) external onlyOwner { _walletMax = newLimit; } function setNumTokensBeforeSwap(uint256 newLimit) external onlyOwner() { minimumTokensBeforeSwap = newLimit; } function setMarketingWalletAddress(address newAddress) external onlyOwner() { marketingWalletAddress = payable(newAddress); } function setdevWalletAddress(address newAddress) external onlyOwner() { devWalletAddress = payable(newAddress); } function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner { swapAndLiquifyEnabled = _enabled; emit SwapAndLiquifyEnabledUpdated(_enabled); } function setSwapAndLiquifyByLimitOnly(bool newValue) public onlyOwner { swapAndLiquifyByLimitOnly = newValue; } function getCirculatingSupply() public view returns (uint256) { return _Supply.sub(balanceOf(deadAddress)); } function transferToAddressETH(address payable recipient, uint256 amount) private { recipient.transfer(amount); } function changeRouterVersion(address newRouterAddress) public onlyOwner returns(address newPairAddress) { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(newRouterAddress); newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this), _uniswapV2Router.WETH()); if(newPairAddress == address(0)) //Create If Doesnt exist { newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); } uniswapV2Pair = newPairAddress; //Set new pair address uniswapV2Router = _uniswapV2Router; //Set new router address } //to recieve ETH from uniswapV2Router when swaping receive() external payable {} function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _transfer(address sender, address recipient, uint256 amount) private returns (bool) { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(!isBlacklisted[sender] && !isBlacklisted[recipient], "To/from address is blacklisted!"); require(amount > 0, "Transfer amount must be greater than zero"); if(inSwapAndLiquify) { return _basicTransfer(sender, recipient, amount); } else { if(sender != owner() && recipient != owner()) { require(amount <= _maxtransaction, "Transfer amount exceeds the maxTxAmount."); } uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap; if (overMinimumTokenBalance && !inSwapAndLiquify && sender != uniswapV2Pair && swapAndLiquifyEnabled) { if(swapAndLiquifyByLimitOnly) contractTokenBalance = minimumTokensBeforeSwap; swapAndLiquify(contractTokenBalance); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 finalAmount = (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) ? amount : takeFee(sender, recipient, amount); if(checkWalletLimit && !isWalletLimitExempt[recipient]) require(balanceOf(recipient).add(finalAmount) <= _walletMax); _balances[recipient] = _balances[recipient].add(finalAmount); emit Transfer(sender, recipient, finalAmount); return true; } } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function swapAndLiquify(uint256 tAmount) private lockTheSwap { uint256 tokensForLP = tAmount.div(_giveaway).mul(_liquidityFee).div(2); uint256 tokensForSwap = tAmount.sub(tokensForLP); swapTokensForEth(tokensForSwap); uint256 amountReceived = address(this).balance; uint256 totalFee = _giveaway.sub(_liquidityFee.div(2)); uint256 amountLiquidity = amountReceived.mul(_liquidityFee).div(totalFee).div(2); uint256 amountRewards = amountReceived.mul(_devFee).div(totalFee); uint256 amountMarketing = amountReceived.sub(amountLiquidity).sub(amountRewards); transferToAddressETH(marketingWalletAddress, amountMarketing); transferToAddressETH(devWalletAddress, amountRewards); addLiquidity(tokensForLP, amountLiquidity); } function swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth 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, // accept any amount of ETH path, address(this), // The contract block.timestamp ); emit SwapTokensForETH(tokenAmount, path); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { // approve token transfer to cover all possible scenarios _approve(address(this), address(uniswapV2Router), tokenAmount); // add the liquidity uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable owner(), block.timestamp ); } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeAmount = recipient == uniswapV2Pair ? amount.mul(_setbot).div(100) : amount.mul(_giveaway).div(100); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_antidump","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_devFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_giveaway","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxtransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_setbot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","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":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"blacklistAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRouterAddress","type":"address"}],"name":"changeRouterVersion","outputs":[{"internalType":"address","name":"newPairAddress","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"devWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"enableDisableWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getUnlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setIsExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsWalletLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setMarketingWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setSwapAndLiquifyByLimitOnly","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newRewardsTax","type":"uint256"},{"internalType":"uint256","name":"newExtraBurnFee","type":"uint256"}],"name":"setTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setdevWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a06040526040518060400160405280600c81526020017f5255534820415045204554480000000000000000000000000000000000000000815250600390805190602001906200005192919062000939565b506040518060400160405280600681526020017f5255244150450000000000000000000000000000000000000000000000000000815250600490805190602001906200009f92919062000939565b506009600560006101000a81548160ff021916908360ff16021790555068056bc75e2d631000006006556002600755600760085560046009556000600a556000600b556000600c556729a2241af62c0000600d55673782dace9d900000600e5564e8d4a51000600f55731391379a03800ea71752d5a8afedf842b2aec454601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e5636b52ca9f35370768c5499313a97695d03f59601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152506001601860156101000a81548160ff0219169083151502179055506000601860166101000a81548160ff0219169083151502179055506001601860176101000a81548160ff0219169083151502179055503480156200024857600080fd5b5060006200025b620008a560201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200035957600080fd5b505afa1580156200036e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000394919062000a00565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620003f757600080fd5b505afa1580156200040c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000432919062000a00565b6040518363ffffffff1660e01b81526004016200045192919062000a7b565b602060405180830381600087803b1580156200046c57600080fd5b505af115801562000481573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004a7919062000a00565b601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654601160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160126000620005e3620008ad60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620006c5600954620006b1600854600754620008d660201b620027d21790919060201c565b620008d660201b620027d21790919060201c565b600b81905550620006e9600a54600b54620008d660201b620027d21790919060201c565b600c8190555060016013600062000705620008ad60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160136000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060065460106000620007e7620008a560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000835620008a560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60065460405162000896919062000aca565b60405180910390a35062000c6f565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808284620008e7919062000af8565b9050838110156200092f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009269062000aa8565b60405180910390fd5b8091505092915050565b828054620009479062000b93565b90600052602060002090601f0160209004810192826200096b5760008555620009b7565b82601f106200098657805160ff1916838001178555620009b7565b82800160010185558215620009b7579182015b82811115620009b657825182559160200191906001019062000999565b5b509050620009c69190620009ca565b5090565b5b80821115620009e5576000816000905550600101620009cb565b5090565b600081519050620009fa8162000c55565b92915050565b60006020828403121562000a195762000a1862000c27565b5b600062000a2984828501620009e9565b91505092915050565b62000a3d8162000b55565b82525050565b600062000a52601b8362000ae7565b915062000a5f8262000c2c565b602082019050919050565b62000a758162000b89565b82525050565b600060408201905062000a92600083018562000a32565b62000aa1602083018462000a32565b9392505050565b6000602082019050818103600083015262000ac38162000a43565b9050919050565b600060208201905062000ae1600083018462000a6a565b92915050565b600082825260208201905092915050565b600062000b058262000b89565b915062000b128362000b89565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000b4a5762000b4962000bc9565b5b828201905092915050565b600062000b628262000b69565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000600282049050600182168062000bac57607f821691505b6020821081141562000bc35762000bc262000bf8565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b62000c608162000b55565b811462000c6c57600080fd5b50565b60805160601c614ce762000c9560003960008181610fe3015261100f0152614ce76000f3fe6080604052600436106103035760003560e01c8063715018a611610190578063c867d60b116100dc578063ec28438a11610095578063f2fde38b1161006f578063f2fde38b14610b91578063f872858a14610bba578063fd3d49f714610be5578063fe575a8714610c105761030a565b8063ec28438a14610b16578063ef422a1814610b3f578063f1d5f51714610b685761030a565b8063c867d60b146109f4578063d158272d14610a31578063da00097d14610a5c578063dd46706414610a87578063dd62ed3e14610ab0578063e5c5369314610aed5761030a565b8063a12a7d6111610149578063a69df4b511610123578063a69df4b51461094c578063a9059cbb14610963578063aa45026b146109a0578063c49b9a80146109cb5761030a565b8063a12a7d61146108bd578063a457c2d7146108e6578063a5d69d1f146109235761030a565b8063715018a6146107cf578063807c2d9c146107e65780638da5cb5b1461081157806395d89b411461083c578063a0545aac14610867578063a073d37f146108925761030a565b8063313ce5671161024f5780634cb80fd5116102085780635881f3ef116101e25780635881f3ef146106ff578063602bc62b1461073c5780636bc87c3a1461076757806370a08231146107925761030a565b80634cb80fd51461066e5780635342acb414610697578063557ed1ba146106d45761030a565b8063313ce5671461055e57806339509351146105895780633b97084a146105c6578063455a4396146105ef57806349bd5a5e146106185780634a74bb02146106435761030a565b806318160ddd116102bc57806323b872dd1161029657806323b872dd146104a25780632563ae83146104df57806327c8f835146105085780632b112e49146105335761030a565b806318160ddd146104235780632198cf6c1461044e57806322976e0d146104775761030a565b806306fdde031461030f578063095ea7b31461033a5780630e0388131461037757806314e25636146103a2578063158ece13146103cd5780631694505e146103f85761030a565b3661030a57005b600080fd5b34801561031b57600080fd5b50610324610c4d565b60405161033191906142b3565b60405180910390f35b34801561034657600080fd5b50610361600480360381019061035c9190613d7b565b610cdf565b60405161036e919061427d565b60405180910390f35b34801561038357600080fd5b5061038c610cfd565b60405161039991906141d8565b60405180910390f35b3480156103ae57600080fd5b506103b7610d23565b6040516103c49190614475565b60405180910390f35b3480156103d957600080fd5b506103e2610d29565b6040516103ef9190614475565b60405180910390f35b34801561040457600080fd5b5061040d610d2f565b60405161041a9190614298565b60405180910390f35b34801561042f57600080fd5b50610438610d55565b6040516104459190614475565b60405180910390f35b34801561045a57600080fd5b5061047560048036038101906104709190613d3b565b610d5f565b005b34801561048357600080fd5b5061048c610e4f565b6040516104999190614475565b60405180910390f35b3480156104ae57600080fd5b506104c960048036038101906104c49190613ce8565b610e55565b6040516104d6919061427d565b60405180910390f35b3480156104eb57600080fd5b5061050660048036038101906105019190613dbb565b610f2f565b005b34801561051457600080fd5b5061051d610fe1565b60405161052a91906141bd565b60405180910390f35b34801561053f57600080fd5b50610548611005565b6040516105559190614475565b60405180910390f35b34801561056a57600080fd5b50610573611049565b604051610580919061451a565b60405180910390f35b34801561059557600080fd5b506105b060048036038101906105ab9190613d7b565b611060565b6040516105bd919061427d565b60405180910390f35b3480156105d257600080fd5b506105ed60048036038101906105e89190613de8565b611113565b005b3480156105fb57600080fd5b5061061660048036038101906106119190613d3b565b6111b2565b005b34801561062457600080fd5b5061062d6112a2565b60405161063a91906141bd565b60405180910390f35b34801561064f57600080fd5b506106586112c8565b604051610665919061427d565b60405180910390f35b34801561067a57600080fd5b5061069560048036038101906106909190613c4e565b6112db565b005b3480156106a357600080fd5b506106be60048036038101906106b99190613c4e565b6113b4565b6040516106cb919061427d565b60405180910390f35b3480156106e057600080fd5b506106e96113d4565b6040516106f69190614475565b60405180910390f35b34801561070b57600080fd5b5061072660048036038101906107219190613c4e565b6113dc565b60405161073391906141bd565b60405180910390f35b34801561074857600080fd5b50610751611846565b60405161075e9190614475565b60405180910390f35b34801561077357600080fd5b5061077c611850565b6040516107899190614475565b60405180910390f35b34801561079e57600080fd5b506107b960048036038101906107b49190613c4e565b611856565b6040516107c69190614475565b60405180910390f35b3480156107db57600080fd5b506107e461189f565b005b3480156107f257600080fd5b506107fb6119f2565b6040516108089190614475565b60405180910390f35b34801561081d57600080fd5b506108266119f8565b60405161083391906141bd565b60405180910390f35b34801561084857600080fd5b50610851611a21565b60405161085e91906142b3565b60405180910390f35b34801561087357600080fd5b5061087c611ab3565b6040516108899190614475565b60405180910390f35b34801561089e57600080fd5b506108a7611ab9565b6040516108b49190614475565b60405180910390f35b3480156108c957600080fd5b506108e460048036038101906108df9190613e68565b611ac3565b005b3480156108f257600080fd5b5061090d60048036038101906109089190613d7b565b611bc8565b60405161091a919061427d565b60405180910390f35b34801561092f57600080fd5b5061094a60048036038101906109459190613dbb565b611c95565b005b34801561095857600080fd5b50610961611d47565b005b34801561096f57600080fd5b5061098a60048036038101906109859190613d7b565b611f1b565b604051610997919061427d565b60405180910390f35b3480156109ac57600080fd5b506109b5611f3a565b6040516109c29190614475565b60405180910390f35b3480156109d757600080fd5b506109f260048036038101906109ed9190613dbb565b611f40565b005b348015610a0057600080fd5b50610a1b6004803603810190610a169190613c4e565b612029565b604051610a28919061427d565b60405180910390f35b348015610a3d57600080fd5b50610a46612049565b604051610a5391906141d8565b60405180910390f35b348015610a6857600080fd5b50610a7161206f565b604051610a7e919061427d565b60405180910390f35b348015610a9357600080fd5b50610aae6004803603810190610aa99190613de8565b612082565b005b348015610abc57600080fd5b50610ad76004803603810190610ad29190613ca8565b612249565b604051610ae49190614475565b60405180910390f35b348015610af957600080fd5b50610b146004803603810190610b0f9190613c4e565b6122d0565b005b348015610b2257600080fd5b50610b3d6004803603810190610b389190613de8565b6123a9565b005b348015610b4b57600080fd5b50610b666004803603810190610b619190613d3b565b612448565b005b348015610b7457600080fd5b50610b8f6004803603810190610b8a9190613de8565b612538565b005b348015610b9d57600080fd5b50610bb86004803603810190610bb39190613c4e565b6125d7565b005b348015610bc657600080fd5b50610bcf612799565b604051610bdc919061427d565b60405180910390f35b348015610bf157600080fd5b50610bfa6127ac565b604051610c079190614475565b60405180910390f35b348015610c1c57600080fd5b50610c376004803603810190610c329190613c4e565b6127b2565b604051610c44919061427d565b60405180910390f35b606060038054610c5c90614781565b80601f0160208091040260200160405190810160405280929190818152602001828054610c8890614781565b8015610cd55780601f10610caa57610100808354040283529160200191610cd5565b820191906000526020600020905b815481529060010190602001808311610cb857829003601f168201915b5050505050905090565b6000610cf3610cec612830565b8484612838565b6001905092915050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b600a5481565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600654905090565b610d67612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610deb906143b5565b60405180910390fd5b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60085481565b6000610e62848484612a03565b50610f2484610e6f612830565b610f1f85604051806060016040528060288152602001614c6560289139601160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610ed5612830565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546130e49092919063ffffffff16565b612838565b600190509392505050565b610f37612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbb906143b5565b60405180910390fd5b80601860176101000a81548160ff02191690831515021790555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006110446110337f0000000000000000000000000000000000000000000000000000000000000000611856565b60065461314890919063ffffffff16565b905090565b6000600560009054906101000a900460ff16905090565b600061110961106d612830565b84611104856011600061107e612830565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127d290919063ffffffff16565b612838565b6001905092915050565b61111b612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119f906143b5565b60405180910390fd5b80600f8190555050565b6111ba612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611247576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123e906143b5565b60405180910390fd5b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601860159054906101000a900460ff1681565b6112e3612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611370576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611367906143b5565b60405180910390fd5b80601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60126020528060005260406000206000915054906101000a900460ff1681565b600042905090565b60006113e6612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611473576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146a906143b5565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156114be57600080fd5b505afa1580156114d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f69190613c7b565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561155857600080fd5b505afa15801561156c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115909190613c7b565b6040518363ffffffff1660e01b81526004016115ad9291906141f3565b60206040518083038186803b1580156115c557600080fd5b505afa1580156115d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115fd9190613c7b565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117be578073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561167a57600080fd5b505afa15801561168e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b29190613c7b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561171457600080fd5b505afa158015611728573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174c9190613c7b565b6040518363ffffffff1660e01b81526004016117699291906141f3565b602060405180830381600087803b15801561178357600080fd5b505af1158015611797573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bb9190613c7b565b91505b81601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050919050565b6000600254905090565b60075481565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6118a7612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611934576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192b906143b5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600e5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054611a3090614781565b80601f0160208091040260200160405190810160405280929190818152602001828054611a5c90614781565b8015611aa95780601f10611a7e57610100808354040283529160200191611aa9565b820191906000526020600020905b815481529060010190602001808311611a8c57829003601f168201915b5050505050905090565b600c5481565b6000600f54905090565b611acb612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4f906143b5565b60405180910390fd5b83600781905550826008819055508160098190555080600a81905550611b9f600954611b916008546007546127d290919063ffffffff16565b6127d290919063ffffffff16565b600b81905550611bbc600a54600b546127d290919063ffffffff16565b600c8190555050505050565b6000611c8b611bd5612830565b84611c8685604051806060016040528060258152602001614c8d6025913960116000611bff612830565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546130e49092919063ffffffff16565b612838565b6001905092915050565b611c9d612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d21906143b5565b60405180910390fd5b80601860166101000a81548160ff02191690831515021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611dd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dce90614455565b60405180910390fd5b6002544211611e1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1290614435565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000611f2f611f28612830565b8484612a03565b506001905092915050565b60095481565b611f48612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611fd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcc906143b5565b60405180910390fd5b80601860156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1598160405161201e919061427d565b60405180910390a150565b60136020528060005260406000206000915054906101000a900460ff1681565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601860169054906101000a900460ff1681565b61208a612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612117576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210e906143b5565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080426121c5919061458a565b600281905550600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6122d8612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612365576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235c906143b5565b60405180910390fd5b80601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6123b1612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461243e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612435906143b5565b60405180910390fd5b80600d8190555050565b612450612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146124dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124d4906143b5565b60405180910390fd5b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b612540612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146125cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125c4906143b5565b60405180910390fd5b80600e8190555050565b6125df612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461266c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612663906143b5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156126dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126d3906142f5565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601860179054906101000a900460ff1681565b600b5481565b60146020528060005260406000206000915054906101000a900460ff1681565b60008082846127e1919061458a565b905083811015612826576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161281d90614335565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156128a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161289f90614415565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612918576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161290f90614315565b60405180910390fd5b80601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516129f69190614475565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612a74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a6b906143f5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612ae4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612adb906142d5565b60405180910390fd5b601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612b885750601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b612bc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bbe90614355565b60405180910390fd5b60008211612c0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c01906143d5565b60405180910390fd5b601860149054906101000a900460ff1615612c3157612c2a848484613192565b90506130dd565b612c396119f8565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015612ca75750612c776119f8565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15612cf257600d54821115612cf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ce890614375565b60405180910390fd5b5b6000612cfd30611856565b90506000600f548210159050808015612d235750601860149054906101000a900460ff16155b8015612d7d5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b8015612d955750601860159054906101000a900460ff165b15612dbf57601860169054906101000a900460ff1615612db557600f5491505b612dbe82613365565b5b612e48846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250601060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546130e49092919063ffffffff16565b601060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000601260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612f2e5750601260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612f4257612f3d87878761352c565b612f44565b845b9050601860179054906101000a900460ff168015612fac5750601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612fdb57600e54612fcf82612fc189611856565b6127d290919063ffffffff16565b1115612fda57600080fd5b5b61302d81601060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127d290919063ffffffff16565b601060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516130cd9190614475565b60405180910390a3600193505050505b9392505050565b600083831115829061312c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161312391906142b3565b60405180910390fd5b506000838561313b919061466b565b9050809150509392505050565b600061318a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506130e4565b905092915050565b600061321d826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250601060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546130e49092919063ffffffff16565b601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506132b282601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127d290919063ffffffff16565b601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516133529190614475565b60405180910390a3600190509392505050565b6001601860146101000a81548160ff02191690831515021790555060006133be60026133b06007546133a2600b54876136f390919063ffffffff16565b61373d90919063ffffffff16565b6136f390919063ffffffff16565b905060006133d5828461314890919063ffffffff16565b90506133e0816137b8565b6000479050600061341161340060026007546136f390919063ffffffff16565b600b5461314890919063ffffffff16565b9050600061344f6002613441846134336007548861373d90919063ffffffff16565b6136f390919063ffffffff16565b6136f390919063ffffffff16565b9050600061347a8361346c6009548761373d90919063ffffffff16565b6136f390919063ffffffff16565b905060006134a382613495858861314890919063ffffffff16565b61314890919063ffffffff16565b90506134d1601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682613a43565b6134fd601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683613a43565b6135078784613a8e565b505050505050506000601860146101000a81548160ff02191690831515021790555050565b600080601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146135b1576135ac606461359e600b548661373d90919063ffffffff16565b6136f390919063ffffffff16565b6135da565b6135d960646135cb600c548661373d90919063ffffffff16565b6136f390919063ffffffff16565b5b905061362e81601060003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127d290919063ffffffff16565b601060003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516136ce9190614475565b60405180910390a36136e9818461314890919063ffffffff16565b9150509392505050565b600061373583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613b82565b905092915050565b60008083141561375057600090506137b2565b6000828461375e9190614611565b905082848261376d91906145e0565b146137ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137a490614395565b60405180910390fd5b809150505b92915050565b6000600267ffffffffffffffff8111156137d5576137d461486f565b5b6040519080825280602002602001820160405280156138035781602001602082028036833780820191505090505b509050308160008151811061381b5761381a614840565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156138bd57600080fd5b505afa1580156138d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138f59190613c7b565b8160018151811061390957613908614840565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061397030601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612838565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016139d49594939291906144c0565b600060405180830381600087803b1580156139ee57600080fd5b505af1158015613a02573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051613a37929190614490565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613a89573d6000803e3d6000fd5b505050565b613abb30601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612838565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080613b076119f8565b426040518863ffffffff1660e01b8152600401613b299695949392919061421c565b6060604051808303818588803b158015613b4257600080fd5b505af1158015613b56573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613b7b9190613e15565b5050505050565b60008083118290613bc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bc091906142b3565b60405180910390fd5b5060008385613bd891906145e0565b9050809150509392505050565b600081359050613bf481614c1f565b92915050565b600081519050613c0981614c1f565b92915050565b600081359050613c1e81614c36565b92915050565b600081359050613c3381614c4d565b92915050565b600081519050613c4881614c4d565b92915050565b600060208284031215613c6457613c6361489e565b5b6000613c7284828501613be5565b91505092915050565b600060208284031215613c9157613c9061489e565b5b6000613c9f84828501613bfa565b91505092915050565b60008060408385031215613cbf57613cbe61489e565b5b6000613ccd85828601613be5565b9250506020613cde85828601613be5565b9150509250929050565b600080600060608486031215613d0157613d0061489e565b5b6000613d0f86828701613be5565b9350506020613d2086828701613be5565b9250506040613d3186828701613c24565b9150509250925092565b60008060408385031215613d5257613d5161489e565b5b6000613d6085828601613be5565b9250506020613d7185828601613c0f565b9150509250929050565b60008060408385031215613d9257613d9161489e565b5b6000613da085828601613be5565b9250506020613db185828601613c24565b9150509250929050565b600060208284031215613dd157613dd061489e565b5b6000613ddf84828501613c0f565b91505092915050565b600060208284031215613dfe57613dfd61489e565b5b6000613e0c84828501613c24565b91505092915050565b600080600060608486031215613e2e57613e2d61489e565b5b6000613e3c86828701613c39565b9350506020613e4d86828701613c39565b9250506040613e5e86828701613c39565b9150509250925092565b60008060008060808587031215613e8257613e8161489e565b5b6000613e9087828801613c24565b9450506020613ea187828801613c24565b9350506040613eb287828801613c24565b9250506060613ec387828801613c24565b91505092959194509250565b6000613edb8383613ef6565b60208301905092915050565b613ef0816146b1565b82525050565b613eff8161469f565b82525050565b613f0e8161469f565b82525050565b6000613f1f82614545565b613f298185614568565b9350613f3483614535565b8060005b83811015613f65578151613f4c8882613ecf565b9750613f578361455b565b925050600181019050613f38565b5085935050505092915050565b613f7b816146c3565b82525050565b613f8a81614706565b82525050565b613f9981614718565b82525050565b6000613faa82614550565b613fb48185614579565b9350613fc481856020860161474e565b613fcd816148a3565b840191505092915050565b6000613fe5602383614579565b9150613ff0826148b4565b604082019050919050565b6000614008602683614579565b915061401382614903565b604082019050919050565b600061402b602283614579565b915061403682614952565b604082019050919050565b600061404e601b83614579565b9150614059826149a1565b602082019050919050565b6000614071601f83614579565b915061407c826149ca565b602082019050919050565b6000614094602883614579565b915061409f826149f3565b604082019050919050565b60006140b7602183614579565b91506140c282614a42565b604082019050919050565b60006140da602083614579565b91506140e582614a91565b602082019050919050565b60006140fd602983614579565b915061410882614aba565b604082019050919050565b6000614120602583614579565b915061412b82614b09565b604082019050919050565b6000614143602483614579565b915061414e82614b58565b604082019050919050565b6000614166601f83614579565b915061417182614ba7565b602082019050919050565b6000614189602383614579565b915061419482614bd0565b604082019050919050565b6141a8816146ef565b82525050565b6141b7816146f9565b82525050565b60006020820190506141d26000830184613f05565b92915050565b60006020820190506141ed6000830184613ee7565b92915050565b60006040820190506142086000830185613f05565b6142156020830184613f05565b9392505050565b600060c0820190506142316000830189613f05565b61423e602083018861419f565b61424b6040830187613f90565b6142586060830186613f90565b6142656080830185613f05565b61427260a083018461419f565b979650505050505050565b60006020820190506142926000830184613f72565b92915050565b60006020820190506142ad6000830184613f81565b92915050565b600060208201905081810360008301526142cd8184613f9f565b905092915050565b600060208201905081810360008301526142ee81613fd8565b9050919050565b6000602082019050818103600083015261430e81613ffb565b9050919050565b6000602082019050818103600083015261432e8161401e565b9050919050565b6000602082019050818103600083015261434e81614041565b9050919050565b6000602082019050818103600083015261436e81614064565b9050919050565b6000602082019050818103600083015261438e81614087565b9050919050565b600060208201905081810360008301526143ae816140aa565b9050919050565b600060208201905081810360008301526143ce816140cd565b9050919050565b600060208201905081810360008301526143ee816140f0565b9050919050565b6000602082019050818103600083015261440e81614113565b9050919050565b6000602082019050818103600083015261442e81614136565b9050919050565b6000602082019050818103600083015261444e81614159565b9050919050565b6000602082019050818103600083015261446e8161417c565b9050919050565b600060208201905061448a600083018461419f565b92915050565b60006040820190506144a5600083018561419f565b81810360208301526144b78184613f14565b90509392505050565b600060a0820190506144d5600083018861419f565b6144e26020830187613f90565b81810360408301526144f48186613f14565b90506145036060830185613f05565b614510608083018461419f565b9695505050505050565b600060208201905061452f60008301846141ae565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000614595826146ef565b91506145a0836146ef565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156145d5576145d46147b3565b5b828201905092915050565b60006145eb826146ef565b91506145f6836146ef565b925082614606576146056147e2565b5b828204905092915050565b600061461c826146ef565b9150614627836146ef565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156146605761465f6147b3565b5b828202905092915050565b6000614676826146ef565b9150614681836146ef565b925082821015614694576146936147b3565b5b828203905092915050565b60006146aa826146cf565b9050919050565b60006146bc826146cf565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006147118261472a565b9050919050565b6000614723826146ef565b9050919050565b60006147358261473c565b9050919050565b6000614747826146cf565b9050919050565b60005b8381101561476c578082015181840152602081019050614751565b8381111561477b576000848401525b50505050565b6000600282049050600182168061479957607f821691505b602082108114156147ad576147ac614811565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f546f2f66726f6d206164647265737320697320626c61636b6c69737465642100600082015250565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f436f6e7472616374206973206c6f636b656420756e74696c2037206461797300600082015250565b7f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c60008201527f6f636b0000000000000000000000000000000000000000000000000000000000602082015250565b614c288161469f565b8114614c3357600080fd5b50565b614c3f816146c3565b8114614c4a57600080fd5b50565b614c56816146ef565b8114614c6157600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220155a3aabd4518a2204ee3cec6c5ebd5aa0c29acee5c01c378c65bc8750383d9864736f6c63430008070033
Deployed Bytecode
0x6080604052600436106103035760003560e01c8063715018a611610190578063c867d60b116100dc578063ec28438a11610095578063f2fde38b1161006f578063f2fde38b14610b91578063f872858a14610bba578063fd3d49f714610be5578063fe575a8714610c105761030a565b8063ec28438a14610b16578063ef422a1814610b3f578063f1d5f51714610b685761030a565b8063c867d60b146109f4578063d158272d14610a31578063da00097d14610a5c578063dd46706414610a87578063dd62ed3e14610ab0578063e5c5369314610aed5761030a565b8063a12a7d6111610149578063a69df4b511610123578063a69df4b51461094c578063a9059cbb14610963578063aa45026b146109a0578063c49b9a80146109cb5761030a565b8063a12a7d61146108bd578063a457c2d7146108e6578063a5d69d1f146109235761030a565b8063715018a6146107cf578063807c2d9c146107e65780638da5cb5b1461081157806395d89b411461083c578063a0545aac14610867578063a073d37f146108925761030a565b8063313ce5671161024f5780634cb80fd5116102085780635881f3ef116101e25780635881f3ef146106ff578063602bc62b1461073c5780636bc87c3a1461076757806370a08231146107925761030a565b80634cb80fd51461066e5780635342acb414610697578063557ed1ba146106d45761030a565b8063313ce5671461055e57806339509351146105895780633b97084a146105c6578063455a4396146105ef57806349bd5a5e146106185780634a74bb02146106435761030a565b806318160ddd116102bc57806323b872dd1161029657806323b872dd146104a25780632563ae83146104df57806327c8f835146105085780632b112e49146105335761030a565b806318160ddd146104235780632198cf6c1461044e57806322976e0d146104775761030a565b806306fdde031461030f578063095ea7b31461033a5780630e0388131461037757806314e25636146103a2578063158ece13146103cd5780631694505e146103f85761030a565b3661030a57005b600080fd5b34801561031b57600080fd5b50610324610c4d565b60405161033191906142b3565b60405180910390f35b34801561034657600080fd5b50610361600480360381019061035c9190613d7b565b610cdf565b60405161036e919061427d565b60405180910390f35b34801561038357600080fd5b5061038c610cfd565b60405161039991906141d8565b60405180910390f35b3480156103ae57600080fd5b506103b7610d23565b6040516103c49190614475565b60405180910390f35b3480156103d957600080fd5b506103e2610d29565b6040516103ef9190614475565b60405180910390f35b34801561040457600080fd5b5061040d610d2f565b60405161041a9190614298565b60405180910390f35b34801561042f57600080fd5b50610438610d55565b6040516104459190614475565b60405180910390f35b34801561045a57600080fd5b5061047560048036038101906104709190613d3b565b610d5f565b005b34801561048357600080fd5b5061048c610e4f565b6040516104999190614475565b60405180910390f35b3480156104ae57600080fd5b506104c960048036038101906104c49190613ce8565b610e55565b6040516104d6919061427d565b60405180910390f35b3480156104eb57600080fd5b5061050660048036038101906105019190613dbb565b610f2f565b005b34801561051457600080fd5b5061051d610fe1565b60405161052a91906141bd565b60405180910390f35b34801561053f57600080fd5b50610548611005565b6040516105559190614475565b60405180910390f35b34801561056a57600080fd5b50610573611049565b604051610580919061451a565b60405180910390f35b34801561059557600080fd5b506105b060048036038101906105ab9190613d7b565b611060565b6040516105bd919061427d565b60405180910390f35b3480156105d257600080fd5b506105ed60048036038101906105e89190613de8565b611113565b005b3480156105fb57600080fd5b5061061660048036038101906106119190613d3b565b6111b2565b005b34801561062457600080fd5b5061062d6112a2565b60405161063a91906141bd565b60405180910390f35b34801561064f57600080fd5b506106586112c8565b604051610665919061427d565b60405180910390f35b34801561067a57600080fd5b5061069560048036038101906106909190613c4e565b6112db565b005b3480156106a357600080fd5b506106be60048036038101906106b99190613c4e565b6113b4565b6040516106cb919061427d565b60405180910390f35b3480156106e057600080fd5b506106e96113d4565b6040516106f69190614475565b60405180910390f35b34801561070b57600080fd5b5061072660048036038101906107219190613c4e565b6113dc565b60405161073391906141bd565b60405180910390f35b34801561074857600080fd5b50610751611846565b60405161075e9190614475565b60405180910390f35b34801561077357600080fd5b5061077c611850565b6040516107899190614475565b60405180910390f35b34801561079e57600080fd5b506107b960048036038101906107b49190613c4e565b611856565b6040516107c69190614475565b60405180910390f35b3480156107db57600080fd5b506107e461189f565b005b3480156107f257600080fd5b506107fb6119f2565b6040516108089190614475565b60405180910390f35b34801561081d57600080fd5b506108266119f8565b60405161083391906141bd565b60405180910390f35b34801561084857600080fd5b50610851611a21565b60405161085e91906142b3565b60405180910390f35b34801561087357600080fd5b5061087c611ab3565b6040516108899190614475565b60405180910390f35b34801561089e57600080fd5b506108a7611ab9565b6040516108b49190614475565b60405180910390f35b3480156108c957600080fd5b506108e460048036038101906108df9190613e68565b611ac3565b005b3480156108f257600080fd5b5061090d60048036038101906109089190613d7b565b611bc8565b60405161091a919061427d565b60405180910390f35b34801561092f57600080fd5b5061094a60048036038101906109459190613dbb565b611c95565b005b34801561095857600080fd5b50610961611d47565b005b34801561096f57600080fd5b5061098a60048036038101906109859190613d7b565b611f1b565b604051610997919061427d565b60405180910390f35b3480156109ac57600080fd5b506109b5611f3a565b6040516109c29190614475565b60405180910390f35b3480156109d757600080fd5b506109f260048036038101906109ed9190613dbb565b611f40565b005b348015610a0057600080fd5b50610a1b6004803603810190610a169190613c4e565b612029565b604051610a28919061427d565b60405180910390f35b348015610a3d57600080fd5b50610a46612049565b604051610a5391906141d8565b60405180910390f35b348015610a6857600080fd5b50610a7161206f565b604051610a7e919061427d565b60405180910390f35b348015610a9357600080fd5b50610aae6004803603810190610aa99190613de8565b612082565b005b348015610abc57600080fd5b50610ad76004803603810190610ad29190613ca8565b612249565b604051610ae49190614475565b60405180910390f35b348015610af957600080fd5b50610b146004803603810190610b0f9190613c4e565b6122d0565b005b348015610b2257600080fd5b50610b3d6004803603810190610b389190613de8565b6123a9565b005b348015610b4b57600080fd5b50610b666004803603810190610b619190613d3b565b612448565b005b348015610b7457600080fd5b50610b8f6004803603810190610b8a9190613de8565b612538565b005b348015610b9d57600080fd5b50610bb86004803603810190610bb39190613c4e565b6125d7565b005b348015610bc657600080fd5b50610bcf612799565b604051610bdc919061427d565b60405180910390f35b348015610bf157600080fd5b50610bfa6127ac565b604051610c079190614475565b60405180910390f35b348015610c1c57600080fd5b50610c376004803603810190610c329190613c4e565b6127b2565b604051610c44919061427d565b60405180910390f35b606060038054610c5c90614781565b80601f0160208091040260200160405190810160405280929190818152602001828054610c8890614781565b8015610cd55780601f10610caa57610100808354040283529160200191610cd5565b820191906000526020600020905b815481529060010190602001808311610cb857829003601f168201915b5050505050905090565b6000610cf3610cec612830565b8484612838565b6001905092915050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b600a5481565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600654905090565b610d67612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610deb906143b5565b60405180910390fd5b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60085481565b6000610e62848484612a03565b50610f2484610e6f612830565b610f1f85604051806060016040528060288152602001614c6560289139601160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610ed5612830565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546130e49092919063ffffffff16565b612838565b600190509392505050565b610f37612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbb906143b5565b60405180910390fd5b80601860176101000a81548160ff02191690831515021790555050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b60006110446110337f000000000000000000000000000000000000000000000000000000000000dead611856565b60065461314890919063ffffffff16565b905090565b6000600560009054906101000a900460ff16905090565b600061110961106d612830565b84611104856011600061107e612830565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127d290919063ffffffff16565b612838565b6001905092915050565b61111b612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119f906143b5565b60405180910390fd5b80600f8190555050565b6111ba612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611247576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123e906143b5565b60405180910390fd5b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601860159054906101000a900460ff1681565b6112e3612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611370576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611367906143b5565b60405180910390fd5b80601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60126020528060005260406000206000915054906101000a900460ff1681565b600042905090565b60006113e6612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611473576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146a906143b5565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156114be57600080fd5b505afa1580156114d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f69190613c7b565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561155857600080fd5b505afa15801561156c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115909190613c7b565b6040518363ffffffff1660e01b81526004016115ad9291906141f3565b60206040518083038186803b1580156115c557600080fd5b505afa1580156115d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115fd9190613c7b565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117be578073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561167a57600080fd5b505afa15801561168e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b29190613c7b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561171457600080fd5b505afa158015611728573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174c9190613c7b565b6040518363ffffffff1660e01b81526004016117699291906141f3565b602060405180830381600087803b15801561178357600080fd5b505af1158015611797573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bb9190613c7b565b91505b81601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050919050565b6000600254905090565b60075481565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6118a7612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611934576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192b906143b5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600e5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054611a3090614781565b80601f0160208091040260200160405190810160405280929190818152602001828054611a5c90614781565b8015611aa95780601f10611a7e57610100808354040283529160200191611aa9565b820191906000526020600020905b815481529060010190602001808311611a8c57829003601f168201915b5050505050905090565b600c5481565b6000600f54905090565b611acb612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4f906143b5565b60405180910390fd5b83600781905550826008819055508160098190555080600a81905550611b9f600954611b916008546007546127d290919063ffffffff16565b6127d290919063ffffffff16565b600b81905550611bbc600a54600b546127d290919063ffffffff16565b600c8190555050505050565b6000611c8b611bd5612830565b84611c8685604051806060016040528060258152602001614c8d6025913960116000611bff612830565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546130e49092919063ffffffff16565b612838565b6001905092915050565b611c9d612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d21906143b5565b60405180910390fd5b80601860166101000a81548160ff02191690831515021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611dd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dce90614455565b60405180910390fd5b6002544211611e1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1290614435565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000611f2f611f28612830565b8484612a03565b506001905092915050565b60095481565b611f48612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611fd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcc906143b5565b60405180910390fd5b80601860156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1598160405161201e919061427d565b60405180910390a150565b60136020528060005260406000206000915054906101000a900460ff1681565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601860169054906101000a900460ff1681565b61208a612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612117576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210e906143b5565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080426121c5919061458a565b600281905550600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6122d8612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612365576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235c906143b5565b60405180910390fd5b80601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6123b1612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461243e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612435906143b5565b60405180910390fd5b80600d8190555050565b612450612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146124dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124d4906143b5565b60405180910390fd5b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b612540612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146125cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125c4906143b5565b60405180910390fd5b80600e8190555050565b6125df612830565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461266c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612663906143b5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156126dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126d3906142f5565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601860179054906101000a900460ff1681565b600b5481565b60146020528060005260406000206000915054906101000a900460ff1681565b60008082846127e1919061458a565b905083811015612826576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161281d90614335565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156128a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161289f90614415565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612918576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161290f90614315565b60405180910390fd5b80601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516129f69190614475565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612a74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a6b906143f5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612ae4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612adb906142d5565b60405180910390fd5b601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612b885750601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b612bc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bbe90614355565b60405180910390fd5b60008211612c0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c01906143d5565b60405180910390fd5b601860149054906101000a900460ff1615612c3157612c2a848484613192565b90506130dd565b612c396119f8565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015612ca75750612c776119f8565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15612cf257600d54821115612cf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ce890614375565b60405180910390fd5b5b6000612cfd30611856565b90506000600f548210159050808015612d235750601860149054906101000a900460ff16155b8015612d7d5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b8015612d955750601860159054906101000a900460ff165b15612dbf57601860169054906101000a900460ff1615612db557600f5491505b612dbe82613365565b5b612e48846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250601060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546130e49092919063ffffffff16565b601060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000601260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612f2e5750601260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612f4257612f3d87878761352c565b612f44565b845b9050601860179054906101000a900460ff168015612fac5750601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612fdb57600e54612fcf82612fc189611856565b6127d290919063ffffffff16565b1115612fda57600080fd5b5b61302d81601060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127d290919063ffffffff16565b601060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516130cd9190614475565b60405180910390a3600193505050505b9392505050565b600083831115829061312c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161312391906142b3565b60405180910390fd5b506000838561313b919061466b565b9050809150509392505050565b600061318a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506130e4565b905092915050565b600061321d826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250601060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546130e49092919063ffffffff16565b601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506132b282601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127d290919063ffffffff16565b601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516133529190614475565b60405180910390a3600190509392505050565b6001601860146101000a81548160ff02191690831515021790555060006133be60026133b06007546133a2600b54876136f390919063ffffffff16565b61373d90919063ffffffff16565b6136f390919063ffffffff16565b905060006133d5828461314890919063ffffffff16565b90506133e0816137b8565b6000479050600061341161340060026007546136f390919063ffffffff16565b600b5461314890919063ffffffff16565b9050600061344f6002613441846134336007548861373d90919063ffffffff16565b6136f390919063ffffffff16565b6136f390919063ffffffff16565b9050600061347a8361346c6009548761373d90919063ffffffff16565b6136f390919063ffffffff16565b905060006134a382613495858861314890919063ffffffff16565b61314890919063ffffffff16565b90506134d1601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682613a43565b6134fd601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683613a43565b6135078784613a8e565b505050505050506000601860146101000a81548160ff02191690831515021790555050565b600080601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146135b1576135ac606461359e600b548661373d90919063ffffffff16565b6136f390919063ffffffff16565b6135da565b6135d960646135cb600c548661373d90919063ffffffff16565b6136f390919063ffffffff16565b5b905061362e81601060003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127d290919063ffffffff16565b601060003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516136ce9190614475565b60405180910390a36136e9818461314890919063ffffffff16565b9150509392505050565b600061373583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613b82565b905092915050565b60008083141561375057600090506137b2565b6000828461375e9190614611565b905082848261376d91906145e0565b146137ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137a490614395565b60405180910390fd5b809150505b92915050565b6000600267ffffffffffffffff8111156137d5576137d461486f565b5b6040519080825280602002602001820160405280156138035781602001602082028036833780820191505090505b509050308160008151811061381b5761381a614840565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156138bd57600080fd5b505afa1580156138d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138f59190613c7b565b8160018151811061390957613908614840565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061397030601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612838565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016139d49594939291906144c0565b600060405180830381600087803b1580156139ee57600080fd5b505af1158015613a02573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051613a37929190614490565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613a89573d6000803e3d6000fd5b505050565b613abb30601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612838565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080613b076119f8565b426040518863ffffffff1660e01b8152600401613b299695949392919061421c565b6060604051808303818588803b158015613b4257600080fd5b505af1158015613b56573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613b7b9190613e15565b5050505050565b60008083118290613bc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bc091906142b3565b60405180910390fd5b5060008385613bd891906145e0565b9050809150509392505050565b600081359050613bf481614c1f565b92915050565b600081519050613c0981614c1f565b92915050565b600081359050613c1e81614c36565b92915050565b600081359050613c3381614c4d565b92915050565b600081519050613c4881614c4d565b92915050565b600060208284031215613c6457613c6361489e565b5b6000613c7284828501613be5565b91505092915050565b600060208284031215613c9157613c9061489e565b5b6000613c9f84828501613bfa565b91505092915050565b60008060408385031215613cbf57613cbe61489e565b5b6000613ccd85828601613be5565b9250506020613cde85828601613be5565b9150509250929050565b600080600060608486031215613d0157613d0061489e565b5b6000613d0f86828701613be5565b9350506020613d2086828701613be5565b9250506040613d3186828701613c24565b9150509250925092565b60008060408385031215613d5257613d5161489e565b5b6000613d6085828601613be5565b9250506020613d7185828601613c0f565b9150509250929050565b60008060408385031215613d9257613d9161489e565b5b6000613da085828601613be5565b9250506020613db185828601613c24565b9150509250929050565b600060208284031215613dd157613dd061489e565b5b6000613ddf84828501613c0f565b91505092915050565b600060208284031215613dfe57613dfd61489e565b5b6000613e0c84828501613c24565b91505092915050565b600080600060608486031215613e2e57613e2d61489e565b5b6000613e3c86828701613c39565b9350506020613e4d86828701613c39565b9250506040613e5e86828701613c39565b9150509250925092565b60008060008060808587031215613e8257613e8161489e565b5b6000613e9087828801613c24565b9450506020613ea187828801613c24565b9350506040613eb287828801613c24565b9250506060613ec387828801613c24565b91505092959194509250565b6000613edb8383613ef6565b60208301905092915050565b613ef0816146b1565b82525050565b613eff8161469f565b82525050565b613f0e8161469f565b82525050565b6000613f1f82614545565b613f298185614568565b9350613f3483614535565b8060005b83811015613f65578151613f4c8882613ecf565b9750613f578361455b565b925050600181019050613f38565b5085935050505092915050565b613f7b816146c3565b82525050565b613f8a81614706565b82525050565b613f9981614718565b82525050565b6000613faa82614550565b613fb48185614579565b9350613fc481856020860161474e565b613fcd816148a3565b840191505092915050565b6000613fe5602383614579565b9150613ff0826148b4565b604082019050919050565b6000614008602683614579565b915061401382614903565b604082019050919050565b600061402b602283614579565b915061403682614952565b604082019050919050565b600061404e601b83614579565b9150614059826149a1565b602082019050919050565b6000614071601f83614579565b915061407c826149ca565b602082019050919050565b6000614094602883614579565b915061409f826149f3565b604082019050919050565b60006140b7602183614579565b91506140c282614a42565b604082019050919050565b60006140da602083614579565b91506140e582614a91565b602082019050919050565b60006140fd602983614579565b915061410882614aba565b604082019050919050565b6000614120602583614579565b915061412b82614b09565b604082019050919050565b6000614143602483614579565b915061414e82614b58565b604082019050919050565b6000614166601f83614579565b915061417182614ba7565b602082019050919050565b6000614189602383614579565b915061419482614bd0565b604082019050919050565b6141a8816146ef565b82525050565b6141b7816146f9565b82525050565b60006020820190506141d26000830184613f05565b92915050565b60006020820190506141ed6000830184613ee7565b92915050565b60006040820190506142086000830185613f05565b6142156020830184613f05565b9392505050565b600060c0820190506142316000830189613f05565b61423e602083018861419f565b61424b6040830187613f90565b6142586060830186613f90565b6142656080830185613f05565b61427260a083018461419f565b979650505050505050565b60006020820190506142926000830184613f72565b92915050565b60006020820190506142ad6000830184613f81565b92915050565b600060208201905081810360008301526142cd8184613f9f565b905092915050565b600060208201905081810360008301526142ee81613fd8565b9050919050565b6000602082019050818103600083015261430e81613ffb565b9050919050565b6000602082019050818103600083015261432e8161401e565b9050919050565b6000602082019050818103600083015261434e81614041565b9050919050565b6000602082019050818103600083015261436e81614064565b9050919050565b6000602082019050818103600083015261438e81614087565b9050919050565b600060208201905081810360008301526143ae816140aa565b9050919050565b600060208201905081810360008301526143ce816140cd565b9050919050565b600060208201905081810360008301526143ee816140f0565b9050919050565b6000602082019050818103600083015261440e81614113565b9050919050565b6000602082019050818103600083015261442e81614136565b9050919050565b6000602082019050818103600083015261444e81614159565b9050919050565b6000602082019050818103600083015261446e8161417c565b9050919050565b600060208201905061448a600083018461419f565b92915050565b60006040820190506144a5600083018561419f565b81810360208301526144b78184613f14565b90509392505050565b600060a0820190506144d5600083018861419f565b6144e26020830187613f90565b81810360408301526144f48186613f14565b90506145036060830185613f05565b614510608083018461419f565b9695505050505050565b600060208201905061452f60008301846141ae565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000614595826146ef565b91506145a0836146ef565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156145d5576145d46147b3565b5b828201905092915050565b60006145eb826146ef565b91506145f6836146ef565b925082614606576146056147e2565b5b828204905092915050565b600061461c826146ef565b9150614627836146ef565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156146605761465f6147b3565b5b828202905092915050565b6000614676826146ef565b9150614681836146ef565b925082821015614694576146936147b3565b5b828203905092915050565b60006146aa826146cf565b9050919050565b60006146bc826146cf565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006147118261472a565b9050919050565b6000614723826146ef565b9050919050565b60006147358261473c565b9050919050565b6000614747826146cf565b9050919050565b60005b8381101561476c578082015181840152602081019050614751565b8381111561477b576000848401525b50505050565b6000600282049050600182168061479957607f821691505b602082108114156147ad576147ac614811565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f546f2f66726f6d206164647265737320697320626c61636b6c69737465642100600082015250565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f436f6e7472616374206973206c6f636b656420756e74696c2037206461797300600082015250565b7f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c60008201527f6f636b0000000000000000000000000000000000000000000000000000000000602082015250565b614c288161469f565b8114614c3357600080fd5b50565b614c3f816146c3565b8114614c4a57600080fd5b50565b614c56816146ef565b8114614c6157600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220155a3aabd4518a2204ee3cec6c5ebd5aa0c29acee5c01c378c65bc8750383d9864736f6c63430008070033
Deployed Bytecode Sourcemap
14706:12943:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17609:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18904:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15802:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15230:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15124:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16000:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17886:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20363:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15049:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22588:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20242:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15903:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21346:123;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17795:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18273:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20616:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19418:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16048:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16117:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20748:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15524:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6210:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21615:696;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6108:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15010:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17989:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5700:148;;;;;;;;;;;;;:::i;:::-;;15287:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5475:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17700:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15196:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18776:120;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19696:416;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18499:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21209:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6546:305;;;;;;;;;;;;;:::i;:::-;;22413:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15088:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21030:171;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15581:52;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15695:99;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16164:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6308:226;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18122:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20895:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20120:114;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19553:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20506:102;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5856:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16216:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15161:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15640:46;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17609:83;17646:13;17679:5;17672:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17609:83;:::o;18904:161::-;18979:4;18996:39;19005:12;:10;:12::i;:::-;19019:7;19028:6;18996:8;:39::i;:::-;19053:4;19046:11;;18904:161;;;;:::o;15802:93::-;;;;;;;;;;;;;:::o;15230:50::-;;;;:::o;15124:28::-;;;;:::o;16000:41::-;;;;;;;;;;;;;:::o;17886:95::-;17939:7;17966;;17959:14;;17886:95;:::o;20363:135::-;5619:12;:10;:12::i;:::-;5609:22;;:6;;;;;;;;;;:22;;;5601:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20484:6:::1;20454:19;:27;20474:6;20454:27;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;20363:135:::0;;:::o;15049:32::-;;;;:::o;22588:313::-;22686:4;22703:36;22713:6;22721:9;22732:6;22703:9;:36::i;:::-;;22750:121;22759:6;22767:12;:10;:12::i;:::-;22781:89;22819:6;22781:89;;;;;;;;;;;;;;;;;:11;:19;22793:6;22781:19;;;;;;;;;;;;;;;:33;22801:12;:10;:12::i;:::-;22781:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;22750:8;:121::i;:::-;22889:4;22882:11;;22588:313;;;;;:::o;20242:113::-;5619:12;:10;:12::i;:::-;5609:22;;:6;;;;;;;;;;:22;;;5601:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20339:8:::1;20320:16;;:27;;;;;;;;;;;;;;;;;;20242:113:::0;:::o;15903:81::-;;;:::o;21346:123::-;21399:7;21426:35;21438:22;21448:11;21438:9;:22::i;:::-;21426:7;;:11;;:35;;;;:::i;:::-;21419:42;;21346:123;:::o;17795:83::-;17836:5;17861:9;;;;;;;;;;;17854:16;;17795:83;:::o;18273:218::-;18361:4;18378:83;18387:12;:10;:12::i;:::-;18401:7;18410:50;18449:10;18410:11;:25;18422:12;:10;:12::i;:::-;18410:25;;;;;;;;;;;;;;;:34;18436:7;18410:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;18378:8;:83::i;:::-;18479:4;18472:11;;18273:218;;;;:::o;20616:124::-;5619:12;:10;:12::i;:::-;5609:22;;:6;;;;;;;;;;:22;;;5601:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20724:8:::1;20698:23;:34;;;;20616:124:::0;:::o;19418:127::-;5619:12;:10;:12::i;:::-;5609:22;;:6;;;;;;;;;;:22;;;5601:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19529:8:::1;19504:13;:22;19518:7;19504:22;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;19418:127:::0;;:::o;16048:28::-;;;;;;;;;;;;;:::o;16117:40::-;;;;;;;;;;;;;:::o;20748:139::-;5619:12;:10;:12::i;:::-;5609:22;;:6;;;;;;;;;;:22;;;5601:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20868:10:::1;20835:22;;:44;;;;;;;;;;;;;;;;;;20748:139:::0;:::o;15524:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;6210:90::-;6250:7;6277:15;6270:22;;6210:90;:::o;21615:696::-;21695:22;5619:12;:10;:12::i;:::-;5609:22;;:6;;;;;;;;;;:22;;;5601:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21732:35:::1;21789:16;21732:74;;21855:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21837:53;;;21899:4;21906:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21837:93;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21820:110;;21972:1;21946:28;;:14;:28;;;21943:225;;;22060:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22042:74;;;22125:4;22132:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22042:114;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22025:131;;21943:225;22196:14;22180:13;;:30;;;;;;;;;;;;;;;;;;22262:16;22244:15;;:34;;;;;;;;;;;;;;;;;;21719:592;21615:696:::0;;;:::o;6108:90::-;6154:7;6181:9;;6174:16;;6108:90;:::o;15010:32::-;;;;:::o;17989:119::-;18055:7;18082:9;:18;18092:7;18082:18;;;;;;;;;;;;;;;;18075:25;;17989:119;;;:::o;5700:148::-;5619:12;:10;:12::i;:::-;5609:22;;:6;;;;;;;;;;:22;;;5601:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5807:1:::1;5770:40;;5791:6;::::0;::::1;;;;;;;;5770:40;;;;;;;;;;;;5838:1;5821:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5700:148::o:0;15287:45::-;;;;:::o;5475:79::-;5513:7;5540:6;;;;;;;;;;;5533:13;;5475:79;:::o;17700:87::-;17739:13;17772:7;17765:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17700:87;:::o;15196:26::-;;;;:::o;18776:120::-;18838:7;18865:23;;18858:30;;18776:120;:::o;19696:416::-;5619:12;:10;:12::i;:::-;5609:22;;:6;;;;;;;;;;:22;;;5601:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19860:15:::1;19844:13;:31;;;;19902:15;19886:13;:31;;;;19938:13;19928:7;:23;;;;19974:15;19962:9;:27;;;;20014:45;20051:7;;20014:32;20032:13;;20014;;:17;;:32;;;;:::i;:::-;:36;;:45;;;;:::i;:::-;20002:9;:57;;;;20080:24;20094:9;;20080;;:13;;:24;;;;:::i;:::-;20070:7;:34;;;;19696:416:::0;;;;:::o;18499:269::-;18592:4;18609:129;18618:12;:10;:12::i;:::-;18632:7;18641:96;18680:15;18641:96;;;;;;;;;;;;;;;;;:11;:25;18653:12;:10;:12::i;:::-;18641:25;;;;;;;;;;;;;;;:34;18667:7;18641:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;18609:8;:129::i;:::-;18756:4;18749:11;;18499:269;;;;:::o;21209:125::-;5619:12;:10;:12::i;:::-;5609:22;;:6;;;;;;;;;;:22;;;5601:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21318:8:::1;21290:25;;:36;;;;;;;;;;;;;;;;;;21209:125:::0;:::o;6546:305::-;6616:10;6598:28;;:14;;;;;;;;;;;:28;;;6590:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;6703:9;;6685:15;:27;6677:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;6794:14;;;;;;;;;;;6765:44;;6786:6;;;;;;;;;;6765:44;;;;;;;;;;;;6829:14;;;;;;;;;;;6820:6;;:23;;;;;;;;;;;;;;;;;;6546:305::o;22413:167::-;22491:4;22508:42;22518:12;:10;:12::i;:::-;22532:9;22543:6;22508:9;:42::i;:::-;;22568:4;22561:11;;22413:167;;;;:::o;15088:26::-;;;;:::o;21030:171::-;5619:12;:10;:12::i;:::-;5609:22;;:6;;;;;;;;;;:22;;;5601:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21131:8:::1;21107:21;;:32;;;;;;;;;;;;;;;;;;21155:38;21184:8;21155:38;;;;;;:::i;:::-;;;;;;;;21030:171:::0;:::o;15581:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;15695:99::-;;;;;;;;;;;;;:::o;16164:45::-;;;;;;;;;;;;;:::o;6308:226::-;5619:12;:10;:12::i;:::-;5609:22;;:6;;;;;;;;;;:22;;;5601:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6389:6:::1;::::0;::::1;;;;;;;;6372:14;;:23;;;;;;;;;;;;;;;;;;6423:1;6406:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;6466:4;6448:15;:22;;;;:::i;:::-;6436:9;:34;;;;6523:1;6486:40;;6507:6;::::0;::::1;;;;;;;;6486:40;;;;;;;;;;;;6308:226:::0;:::o;18122:143::-;18203:7;18230:11;:18;18242:5;18230:18;;;;;;;;;;;;;;;:27;18249:7;18230:27;;;;;;;;;;;;;;;;18223:34;;18122:143;;;;:::o;20895:127::-;5619:12;:10;:12::i;:::-;5609:22;;:6;;;;;;;;;;:22;;;5601:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21003:10:::1;20976:16;;:38;;;;;;;;;;;;;;;;;;20895:127:::0;:::o;20120:114::-;5619:12;:10;:12::i;:::-;5609:22;;:6;;;;;;;;;;:22;;;5601:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20215:11:::1;20197:15;:29;;;;20120:114:::0;:::o;19553:135::-;5619:12;:10;:12::i;:::-;5609:22;;:6;;;;;;;;;;:22;;;5601:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19672:8:::1;19643:17;:26;19661:7;19643:26;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;19553:135:::0;;:::o;20506:102::-;5619:12;:10;:12::i;:::-;5609:22;;:6;;;;;;;;;;:22;;;5601:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20592:8:::1;20578:10;:22;;;;20506:102:::0;:::o;5856:244::-;5619:12;:10;:12::i;:::-;5609:22;;:6;;;;;;;;;;:22;;;5601:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5965:1:::1;5945:22;;:8;:22;;;;5937:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6055:8;6026:38;;6047:6;::::0;::::1;;;;;;;;6026:38;;;;;;;;;;;;6084:8;6075:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;5856:244:::0;:::o;16216:35::-;;;;;;;;;;;;;:::o;15161:28::-;;;;:::o;15640:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;1222:181::-;1280:7;1300:9;1316:1;1312;:5;;;;:::i;:::-;1300:17;;1341:1;1336;:6;;1328:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1394:1;1387:8;;;1222:181;;;;:::o;154:115::-;207:15;250:10;235:26;;154:115;:::o;19073:337::-;19183:1;19166:19;;:5;:19;;;;19158:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19264:1;19245:21;;:7;:21;;;;19237:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19348:6;19318:11;:18;19330:5;19318:18;;;;;;;;;;;;;;;:27;19337:7;19318:27;;;;;;;;;;;;;;;:36;;;;19386:7;19370:32;;19379:5;19370:32;;;19395:6;19370:32;;;;;;:::i;:::-;;;;;;;;19073:337;;;:::o;22909:1887::-;22996:4;23041:1;23023:20;;:6;:20;;;;23015:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;23125:1;23104:23;;:9;:23;;;;23096:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;23187:13;:21;23201:6;23187:21;;;;;;;;;;;;;;;;;;;;;;;;;23186:22;:51;;;;;23213:13;:24;23227:9;23213:24;;;;;;;;;;;;;;;;;;;;;;;;;23212:25;23186:51;23178:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;23301:1;23292:6;:10;23284:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;23372:16;;;;;;;;;;;23369:1420;;;23422:41;23437:6;23445:9;23456:6;23422:14;:41::i;:::-;23415:48;;;;23369:1420;23528:7;:5;:7::i;:::-;23518:17;;:6;:17;;;;:41;;;;;23552:7;:5;:7::i;:::-;23539:20;;:9;:20;;;;23518:41;23515:159;;;23598:15;;23588:6;:25;;23580:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;23515:159;23702:28;23733:24;23751:4;23733:9;:24::i;:::-;23702:55;;23772:28;23827:23;;23803:20;:47;;23772:78;;23883:23;:44;;;;;23911:16;;;;;;;;;;;23910:17;23883:44;:71;;;;;23941:13;;;;;;;;;;;23931:23;;:6;:23;;;;23883:71;:96;;;;;23958:21;;;;;;;;;;;23883:96;23879:307;;;24017:25;;;;;;;;;;;24014:97;;;24088:23;;24065:46;;24014:97;24130:36;24145:20;24130:14;:36::i;:::-;23879:307;24222:53;24244:6;24222:53;;;;;;;;;;;;;;;;;:9;:17;24232:6;24222:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;24202:9;:17;24212:6;24202:17;;;;;;;;;;;;;;;:73;;;;24292:19;24315:17;:25;24333:6;24315:25;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;24344:17;:28;24362:9;24344:28;;;;;;;;;;;;;;;;;;;;;;;;;24315:57;24314:148;;24428:34;24436:6;24444:9;24455:6;24428:7;:34::i;:::-;24314:148;;;24419:6;24314:148;24292:170;;24482:16;;;;;;;;;;;:51;;;;;24503:19;:30;24523:9;24503:30;;;;;;;;;;;;;;;;;;;;;;;;;24502:31;24482:51;24479:133;;;24601:10;;24560:37;24585:11;24560:20;24570:9;24560;:20::i;:::-;:24;;:37;;;;:::i;:::-;:51;;24552:60;;;;;;24479:133;24652:37;24677:11;24652:9;:20;24662:9;24652:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;24629:9;:20;24639:9;24629:20;;;;;;;;;;;;;;;:60;;;;24728:9;24711:40;;24720:6;24711:40;;;24739:11;24711:40;;;;;;:::i;:::-;;;;;;;;24773:4;24766:11;;;;;22909:1887;;;;;;:::o;1555:192::-;1641:7;1674:1;1669;:6;;1677:12;1661:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1701:9;1717:1;1713;:5;;;;:::i;:::-;1701:17;;1738:1;1731:8;;;1555:192;;;;;:::o;1411:136::-;1469:7;1496:43;1500:1;1503;1496:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1489:50;;1411:136;;;;:::o;24804:330::-;24897:4;24934:53;24956:6;24934:53;;;;;;;;;;;;;;;;;:9;:17;24944:6;24934:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;24914:9;:17;24924:6;24914:17;;;;;;;;;;;;;;;:73;;;;25021:32;25046:6;25021:9;:20;25031:9;25021:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;24998:9;:20;25008:9;24998:20;;;;;;;;;;;;;;;:55;;;;25086:9;25069:35;;25078:6;25069:35;;;25097:6;25069:35;;;;;;:::i;:::-;;;;;;;;25122:4;25115:11;;24804:330;;;;;:::o;25142:845::-;16693:4;16674:16;;:23;;;;;;;;;;;;;;;;;;25223:19:::1;25245:48;25291:1;25245:41;25272:13;;25245:22;25257:9;;25245:7;:11;;:22;;;;:::i;:::-;:26;;:41;;;;:::i;:::-;:45;;:48;;;;:::i;:::-;25223:70;;25304:21;25328:24;25340:11;25328:7;:11;;:24;;;;:::i;:::-;25304:48;;25365:31;25382:13;25365:16;:31::i;:::-;25407:22;25432:21;25407:46;;25466:16;25485:35;25499:20;25517:1;25499:13;;:17;;:20;;;;:::i;:::-;25485:9;;:13;;:35;;;;:::i;:::-;25466:54;;25541:23;25567:54;25619:1;25567:47;25605:8;25567:33;25586:13;;25567:14;:18;;:33;;;;:::i;:::-;:37;;:47;;;;:::i;:::-;:51;;:54;;;;:::i;:::-;25541:80;;25632:21;25656:41;25688:8;25656:27;25675:7;;25656:14;:18;;:27;;;;:::i;:::-;:31;;:41;;;;:::i;:::-;25632:65;;25708:23;25734:54;25774:13;25734:35;25753:15;25734:14;:18;;:35;;;;:::i;:::-;:39;;:54;;;;:::i;:::-;25708:80;;25801:61;25822:22;;;;;;;;;;;25846:15;25801:20;:61::i;:::-;25873:53;25894:16;;;;;;;;;;;25912:13;25873:20;:53::i;:::-;25937:42;25950:11;25963:15;25937:12;:42::i;:::-;25203:784;;;;;;;16739:5:::0;16720:16;;:24;;;;;;;;;;;;;;;;;;25142:845;:::o;27194:446::-;27280:7;27310:17;27343:13;;;;;;;;;;;27330:26;;:9;:26;;;:124;;27424:30;27450:3;27424:21;27435:9;;27424:6;:10;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;27330:124;;;27359:28;27383:3;27359:19;27370:7;;27359:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;27330:124;27310:144;;27494:39;27523:9;27494;:24;27512:4;27494:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;27467:9;:24;27485:4;27467:24;;;;;;;;;;;;;;;:66;;;;27574:4;27549:42;;27558:6;27549:42;;;27581:9;27549:42;;;;;;:::i;:::-;;;;;;;;27611:21;27622:9;27611:6;:10;;:21;;;;:::i;:::-;27604:28;;;27194:446;;;;;:::o;2013:132::-;2071:7;2098:39;2102:1;2105;2098:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2091:46;;2013:132;;;;:::o;1755:250::-;1813:7;1842:1;1837;:6;1833:47;;;1867:1;1860:8;;;;1833:47;1892:9;1908:1;1904;:5;;;;:::i;:::-;1892:17;;1937:1;1932;1928;:5;;;;:::i;:::-;:10;1920:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1996:1;1989:8;;;1755:250;;;;;:::o;25999:666::-;26125:21;26163:1;26149:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26125:40;;26194:4;26176;26181:1;26176:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;26220:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;26210:4;26215:1;26210:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;26255:62;26272:4;26287:15;;;;;;;;;;;26305:11;26255:8;:62::i;:::-;26356:15;;;;;;;;;;;:66;;;26437:11;26463:1;26507:4;26534;26570:15;26356:240;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26622:35;26639:11;26652:4;26622:35;;;;;;;:::i;:::-;;;;;;;;26054:611;25999:666;:::o;21477:126::-;21569:9;:18;;:26;21588:6;21569:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21477:126;;:::o;26673:513::-;26821:62;26838:4;26853:15;;;;;;;;;;;26871:11;26821:8;:62::i;:::-;26926:15;;;;;;;;;;;:31;;;26965:9;26998:4;27018:11;27044:1;27087;27130:7;:5;:7::i;:::-;27152:15;26926:252;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;26673:513;;:::o;2153:278::-;2239:7;2271:1;2267;:5;2274:12;2259:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2298:9;2314:1;2310;:5;;;;:::i;:::-;2298:17;;2422:1;2415:8;;;2153:278;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;301:133;;;;:::o;440:139::-;486:5;524:6;511:20;502:29;;540:33;567:5;540:33;:::i;:::-;440:139;;;;:::o;585:143::-;642:5;673:6;667:13;658:22;;689:33;716:5;689:33;:::i;:::-;585:143;;;;:::o;734:329::-;793:6;842:2;830:9;821:7;817:23;813:32;810:119;;;848:79;;:::i;:::-;810:119;968:1;993:53;1038:7;1029:6;1018:9;1014:22;993:53;:::i;:::-;983:63;;939:117;734:329;;;;:::o;1069:351::-;1139:6;1188:2;1176:9;1167:7;1163:23;1159:32;1156:119;;;1194:79;;:::i;:::-;1156:119;1314:1;1339:64;1395:7;1386:6;1375:9;1371:22;1339:64;:::i;:::-;1329:74;;1285:128;1069:351;;;;:::o;1426:474::-;1494:6;1502;1551:2;1539:9;1530:7;1526:23;1522:32;1519:119;;;1557:79;;:::i;:::-;1519:119;1677:1;1702:53;1747:7;1738:6;1727:9;1723:22;1702:53;:::i;:::-;1692:63;;1648:117;1804:2;1830:53;1875:7;1866:6;1855:9;1851:22;1830:53;:::i;:::-;1820:63;;1775:118;1426:474;;;;;:::o;1906:619::-;1983:6;1991;1999;2048:2;2036:9;2027:7;2023:23;2019:32;2016:119;;;2054:79;;:::i;:::-;2016:119;2174:1;2199:53;2244:7;2235:6;2224:9;2220:22;2199:53;:::i;:::-;2189:63;;2145:117;2301:2;2327:53;2372:7;2363:6;2352:9;2348:22;2327:53;:::i;:::-;2317:63;;2272:118;2429:2;2455:53;2500:7;2491:6;2480:9;2476:22;2455:53;:::i;:::-;2445:63;;2400:118;1906:619;;;;;:::o;2531:468::-;2596:6;2604;2653:2;2641:9;2632:7;2628:23;2624:32;2621:119;;;2659:79;;:::i;:::-;2621:119;2779:1;2804:53;2849:7;2840:6;2829:9;2825:22;2804:53;:::i;:::-;2794:63;;2750:117;2906:2;2932:50;2974:7;2965:6;2954:9;2950:22;2932:50;:::i;:::-;2922:60;;2877:115;2531:468;;;;;:::o;3005:474::-;3073:6;3081;3130:2;3118:9;3109:7;3105:23;3101:32;3098:119;;;3136:79;;:::i;:::-;3098:119;3256:1;3281:53;3326:7;3317:6;3306:9;3302:22;3281:53;:::i;:::-;3271:63;;3227:117;3383:2;3409:53;3454:7;3445:6;3434:9;3430:22;3409:53;:::i;:::-;3399:63;;3354:118;3005:474;;;;;:::o;3485:323::-;3541:6;3590:2;3578:9;3569:7;3565:23;3561:32;3558:119;;;3596:79;;:::i;:::-;3558:119;3716:1;3741:50;3783:7;3774:6;3763:9;3759:22;3741:50;:::i;:::-;3731:60;;3687:114;3485:323;;;;:::o;3814:329::-;3873:6;3922:2;3910:9;3901:7;3897:23;3893:32;3890:119;;;3928:79;;:::i;:::-;3890:119;4048:1;4073:53;4118:7;4109:6;4098:9;4094:22;4073:53;:::i;:::-;4063:63;;4019:117;3814:329;;;;:::o;4149:663::-;4237:6;4245;4253;4302:2;4290:9;4281:7;4277:23;4273:32;4270:119;;;4308:79;;:::i;:::-;4270:119;4428:1;4453:64;4509:7;4500:6;4489:9;4485:22;4453:64;:::i;:::-;4443:74;;4399:128;4566:2;4592:64;4648:7;4639:6;4628:9;4624:22;4592:64;:::i;:::-;4582:74;;4537:129;4705:2;4731:64;4787:7;4778:6;4767:9;4763:22;4731:64;:::i;:::-;4721:74;;4676:129;4149:663;;;;;:::o;4818:765::-;4904:6;4912;4920;4928;4977:3;4965:9;4956:7;4952:23;4948:33;4945:120;;;4984:79;;:::i;:::-;4945:120;5104:1;5129:53;5174:7;5165:6;5154:9;5150:22;5129:53;:::i;:::-;5119:63;;5075:117;5231:2;5257:53;5302:7;5293:6;5282:9;5278:22;5257:53;:::i;:::-;5247:63;;5202:118;5359:2;5385:53;5430:7;5421:6;5410:9;5406:22;5385:53;:::i;:::-;5375:63;;5330:118;5487:2;5513:53;5558:7;5549:6;5538:9;5534:22;5513:53;:::i;:::-;5503:63;;5458:118;4818:765;;;;;;;:::o;5589:179::-;5658:10;5679:46;5721:3;5713:6;5679:46;:::i;:::-;5757:4;5752:3;5748:14;5734:28;;5589:179;;;;:::o;5774:142::-;5877:32;5903:5;5877:32;:::i;:::-;5872:3;5865:45;5774:142;;:::o;5922:108::-;5999:24;6017:5;5999:24;:::i;:::-;5994:3;5987:37;5922:108;;:::o;6036:118::-;6123:24;6141:5;6123:24;:::i;:::-;6118:3;6111:37;6036:118;;:::o;6190:732::-;6309:3;6338:54;6386:5;6338:54;:::i;:::-;6408:86;6487:6;6482:3;6408:86;:::i;:::-;6401:93;;6518:56;6568:5;6518:56;:::i;:::-;6597:7;6628:1;6613:284;6638:6;6635:1;6632:13;6613:284;;;6714:6;6708:13;6741:63;6800:3;6785:13;6741:63;:::i;:::-;6734:70;;6827:60;6880:6;6827:60;:::i;:::-;6817:70;;6673:224;6660:1;6657;6653:9;6648:14;;6613:284;;;6617:14;6913:3;6906:10;;6314:608;;;6190:732;;;;:::o;6928:109::-;7009:21;7024:5;7009:21;:::i;:::-;7004:3;6997:34;6928:109;;:::o;7043:185::-;7157:64;7215:5;7157:64;:::i;:::-;7152:3;7145:77;7043:185;;:::o;7234:147::-;7329:45;7368:5;7329:45;:::i;:::-;7324:3;7317:58;7234:147;;:::o;7387:364::-;7475:3;7503:39;7536:5;7503:39;:::i;:::-;7558:71;7622:6;7617:3;7558:71;:::i;:::-;7551:78;;7638:52;7683:6;7678:3;7671:4;7664:5;7660:16;7638:52;:::i;:::-;7715:29;7737:6;7715:29;:::i;:::-;7710:3;7706:39;7699:46;;7479:272;7387:364;;;;:::o;7757:366::-;7899:3;7920:67;7984:2;7979:3;7920:67;:::i;:::-;7913:74;;7996:93;8085:3;7996:93;:::i;:::-;8114:2;8109:3;8105:12;8098:19;;7757:366;;;:::o;8129:::-;8271:3;8292:67;8356:2;8351:3;8292:67;:::i;:::-;8285:74;;8368:93;8457:3;8368:93;:::i;:::-;8486:2;8481:3;8477:12;8470:19;;8129:366;;;:::o;8501:::-;8643:3;8664:67;8728:2;8723:3;8664:67;:::i;:::-;8657:74;;8740:93;8829:3;8740:93;:::i;:::-;8858:2;8853:3;8849:12;8842:19;;8501:366;;;:::o;8873:::-;9015:3;9036:67;9100:2;9095:3;9036:67;:::i;:::-;9029:74;;9112:93;9201:3;9112:93;:::i;:::-;9230:2;9225:3;9221:12;9214:19;;8873:366;;;:::o;9245:::-;9387:3;9408:67;9472:2;9467:3;9408:67;:::i;:::-;9401:74;;9484:93;9573:3;9484:93;:::i;:::-;9602:2;9597:3;9593:12;9586:19;;9245:366;;;:::o;9617:::-;9759:3;9780:67;9844:2;9839:3;9780:67;:::i;:::-;9773:74;;9856:93;9945:3;9856:93;:::i;:::-;9974:2;9969:3;9965:12;9958:19;;9617:366;;;:::o;9989:::-;10131:3;10152:67;10216:2;10211:3;10152:67;:::i;:::-;10145:74;;10228:93;10317:3;10228:93;:::i;:::-;10346:2;10341:3;10337:12;10330:19;;9989:366;;;:::o;10361:::-;10503:3;10524:67;10588:2;10583:3;10524:67;:::i;:::-;10517:74;;10600:93;10689:3;10600:93;:::i;:::-;10718:2;10713:3;10709:12;10702:19;;10361:366;;;:::o;10733:::-;10875:3;10896:67;10960:2;10955:3;10896:67;:::i;:::-;10889:74;;10972:93;11061:3;10972:93;:::i;:::-;11090:2;11085:3;11081:12;11074:19;;10733:366;;;:::o;11105:::-;11247:3;11268:67;11332:2;11327:3;11268:67;:::i;:::-;11261:74;;11344:93;11433:3;11344:93;:::i;:::-;11462:2;11457:3;11453:12;11446:19;;11105:366;;;:::o;11477:::-;11619:3;11640:67;11704:2;11699:3;11640:67;:::i;:::-;11633:74;;11716:93;11805:3;11716:93;:::i;:::-;11834:2;11829:3;11825:12;11818:19;;11477:366;;;:::o;11849:::-;11991:3;12012:67;12076:2;12071:3;12012:67;:::i;:::-;12005:74;;12088:93;12177:3;12088:93;:::i;:::-;12206:2;12201:3;12197:12;12190:19;;11849:366;;;:::o;12221:::-;12363:3;12384:67;12448:2;12443:3;12384:67;:::i;:::-;12377:74;;12460:93;12549:3;12460:93;:::i;:::-;12578:2;12573:3;12569:12;12562:19;;12221:366;;;:::o;12593:118::-;12680:24;12698:5;12680:24;:::i;:::-;12675:3;12668:37;12593:118;;:::o;12717:112::-;12800:22;12816:5;12800:22;:::i;:::-;12795:3;12788:35;12717:112;;:::o;12835:222::-;12928:4;12966:2;12955:9;12951:18;12943:26;;12979:71;13047:1;13036:9;13032:17;13023:6;12979:71;:::i;:::-;12835:222;;;;:::o;13063:254::-;13172:4;13210:2;13199:9;13195:18;13187:26;;13223:87;13307:1;13296:9;13292:17;13283:6;13223:87;:::i;:::-;13063:254;;;;:::o;13323:332::-;13444:4;13482:2;13471:9;13467:18;13459:26;;13495:71;13563:1;13552:9;13548:17;13539:6;13495:71;:::i;:::-;13576:72;13644:2;13633:9;13629:18;13620:6;13576:72;:::i;:::-;13323:332;;;;;:::o;13661:807::-;13910:4;13948:3;13937:9;13933:19;13925:27;;13962:71;14030:1;14019:9;14015:17;14006:6;13962:71;:::i;:::-;14043:72;14111:2;14100:9;14096:18;14087:6;14043:72;:::i;:::-;14125:80;14201:2;14190:9;14186:18;14177:6;14125:80;:::i;:::-;14215;14291:2;14280:9;14276:18;14267:6;14215:80;:::i;:::-;14305:73;14373:3;14362:9;14358:19;14349:6;14305:73;:::i;:::-;14388;14456:3;14445:9;14441:19;14432:6;14388:73;:::i;:::-;13661:807;;;;;;;;;:::o;14474:210::-;14561:4;14599:2;14588:9;14584:18;14576:26;;14612:65;14674:1;14663:9;14659:17;14650:6;14612:65;:::i;:::-;14474:210;;;;:::o;14690:276::-;14810:4;14848:2;14837:9;14833:18;14825:26;;14861:98;14956:1;14945:9;14941:17;14932:6;14861:98;:::i;:::-;14690:276;;;;:::o;14972:313::-;15085:4;15123:2;15112:9;15108:18;15100:26;;15172:9;15166:4;15162:20;15158:1;15147:9;15143:17;15136:47;15200:78;15273:4;15264:6;15200:78;:::i;:::-;15192:86;;14972:313;;;;:::o;15291:419::-;15457:4;15495:2;15484:9;15480:18;15472:26;;15544:9;15538:4;15534:20;15530:1;15519:9;15515:17;15508:47;15572:131;15698:4;15572:131;:::i;:::-;15564:139;;15291:419;;;:::o;15716:::-;15882:4;15920:2;15909:9;15905:18;15897:26;;15969:9;15963:4;15959:20;15955:1;15944:9;15940:17;15933:47;15997:131;16123:4;15997:131;:::i;:::-;15989:139;;15716:419;;;:::o;16141:::-;16307:4;16345:2;16334:9;16330:18;16322:26;;16394:9;16388:4;16384:20;16380:1;16369:9;16365:17;16358:47;16422:131;16548:4;16422:131;:::i;:::-;16414:139;;16141:419;;;:::o;16566:::-;16732:4;16770:2;16759:9;16755:18;16747:26;;16819:9;16813:4;16809:20;16805:1;16794:9;16790:17;16783:47;16847:131;16973:4;16847:131;:::i;:::-;16839:139;;16566:419;;;:::o;16991:::-;17157:4;17195:2;17184:9;17180:18;17172:26;;17244:9;17238:4;17234:20;17230:1;17219:9;17215:17;17208:47;17272:131;17398:4;17272:131;:::i;:::-;17264:139;;16991:419;;;:::o;17416:::-;17582:4;17620:2;17609:9;17605:18;17597:26;;17669:9;17663:4;17659:20;17655:1;17644:9;17640:17;17633:47;17697:131;17823:4;17697:131;:::i;:::-;17689:139;;17416:419;;;:::o;17841:::-;18007:4;18045:2;18034:9;18030:18;18022:26;;18094:9;18088:4;18084:20;18080:1;18069:9;18065:17;18058:47;18122:131;18248:4;18122:131;:::i;:::-;18114:139;;17841:419;;;:::o;18266:::-;18432:4;18470:2;18459:9;18455:18;18447:26;;18519:9;18513:4;18509:20;18505:1;18494:9;18490:17;18483:47;18547:131;18673:4;18547:131;:::i;:::-;18539:139;;18266:419;;;:::o;18691:::-;18857:4;18895:2;18884:9;18880:18;18872:26;;18944:9;18938:4;18934:20;18930:1;18919:9;18915:17;18908:47;18972:131;19098:4;18972:131;:::i;:::-;18964:139;;18691:419;;;:::o;19116:::-;19282:4;19320:2;19309:9;19305:18;19297:26;;19369:9;19363:4;19359:20;19355:1;19344:9;19340:17;19333:47;19397:131;19523:4;19397:131;:::i;:::-;19389:139;;19116:419;;;:::o;19541:::-;19707:4;19745:2;19734:9;19730:18;19722:26;;19794:9;19788:4;19784:20;19780:1;19769:9;19765:17;19758:47;19822:131;19948:4;19822:131;:::i;:::-;19814:139;;19541:419;;;:::o;19966:::-;20132:4;20170:2;20159:9;20155:18;20147:26;;20219:9;20213:4;20209:20;20205:1;20194:9;20190:17;20183:47;20247:131;20373:4;20247:131;:::i;:::-;20239:139;;19966:419;;;:::o;20391:::-;20557:4;20595:2;20584:9;20580:18;20572:26;;20644:9;20638:4;20634:20;20630:1;20619:9;20615:17;20608:47;20672:131;20798:4;20672:131;:::i;:::-;20664:139;;20391:419;;;:::o;20816:222::-;20909:4;20947:2;20936:9;20932:18;20924:26;;20960:71;21028:1;21017:9;21013:17;21004:6;20960:71;:::i;:::-;20816:222;;;;:::o;21044:483::-;21215:4;21253:2;21242:9;21238:18;21230:26;;21266:71;21334:1;21323:9;21319:17;21310:6;21266:71;:::i;:::-;21384:9;21378:4;21374:20;21369:2;21358:9;21354:18;21347:48;21412:108;21515:4;21506:6;21412:108;:::i;:::-;21404:116;;21044:483;;;;;:::o;21533:831::-;21796:4;21834:3;21823:9;21819:19;21811:27;;21848:71;21916:1;21905:9;21901:17;21892:6;21848:71;:::i;:::-;21929:80;22005:2;21994:9;21990:18;21981:6;21929:80;:::i;:::-;22056:9;22050:4;22046:20;22041:2;22030:9;22026:18;22019:48;22084:108;22187:4;22178:6;22084:108;:::i;:::-;22076:116;;22202:72;22270:2;22259:9;22255:18;22246:6;22202:72;:::i;:::-;22284:73;22352:3;22341:9;22337:19;22328:6;22284:73;:::i;:::-;21533:831;;;;;;;;:::o;22370:214::-;22459:4;22497:2;22486:9;22482:18;22474:26;;22510:67;22574:1;22563:9;22559:17;22550:6;22510:67;:::i;:::-;22370:214;;;;:::o;22671:132::-;22738:4;22761:3;22753:11;;22791:4;22786:3;22782:14;22774:22;;22671:132;;;:::o;22809:114::-;22876:6;22910:5;22904:12;22894:22;;22809:114;;;:::o;22929:99::-;22981:6;23015:5;23009:12;22999:22;;22929:99;;;:::o;23034:113::-;23104:4;23136;23131:3;23127:14;23119:22;;23034:113;;;:::o;23153:184::-;23252:11;23286:6;23281:3;23274:19;23326:4;23321:3;23317:14;23302:29;;23153:184;;;;:::o;23343:169::-;23427:11;23461:6;23456:3;23449:19;23501:4;23496:3;23492:14;23477:29;;23343:169;;;;:::o;23518:305::-;23558:3;23577:20;23595:1;23577:20;:::i;:::-;23572:25;;23611:20;23629:1;23611:20;:::i;:::-;23606:25;;23765:1;23697:66;23693:74;23690:1;23687:81;23684:107;;;23771:18;;:::i;:::-;23684:107;23815:1;23812;23808:9;23801:16;;23518:305;;;;:::o;23829:185::-;23869:1;23886:20;23904:1;23886:20;:::i;:::-;23881:25;;23920:20;23938:1;23920:20;:::i;:::-;23915:25;;23959:1;23949:35;;23964:18;;:::i;:::-;23949:35;24006:1;24003;23999:9;23994:14;;23829:185;;;;:::o;24020:348::-;24060:7;24083:20;24101:1;24083:20;:::i;:::-;24078:25;;24117:20;24135:1;24117:20;:::i;:::-;24112:25;;24305:1;24237:66;24233:74;24230:1;24227:81;24222:1;24215:9;24208:17;24204:105;24201:131;;;24312:18;;:::i;:::-;24201:131;24360:1;24357;24353:9;24342:20;;24020:348;;;;:::o;24374:191::-;24414:4;24434:20;24452:1;24434:20;:::i;:::-;24429:25;;24468:20;24486:1;24468:20;:::i;:::-;24463:25;;24507:1;24504;24501:8;24498:34;;;24512:18;;:::i;:::-;24498:34;24557:1;24554;24550:9;24542:17;;24374:191;;;;:::o;24571:96::-;24608:7;24637:24;24655:5;24637:24;:::i;:::-;24626:35;;24571:96;;;:::o;24673:104::-;24718:7;24747:24;24765:5;24747:24;:::i;:::-;24736:35;;24673:104;;;:::o;24783:90::-;24817:7;24860:5;24853:13;24846:21;24835:32;;24783:90;;;:::o;24879:126::-;24916:7;24956:42;24949:5;24945:54;24934:65;;24879:126;;;:::o;25011:77::-;25048:7;25077:5;25066:16;;25011:77;;;:::o;25094:86::-;25129:7;25169:4;25162:5;25158:16;25147:27;;25094:86;;;:::o;25186:153::-;25263:9;25296:37;25327:5;25296:37;:::i;:::-;25283:50;;25186:153;;;:::o;25345:121::-;25403:9;25436:24;25454:5;25436:24;:::i;:::-;25423:37;;25345:121;;;:::o;25472:126::-;25522:9;25555:37;25586:5;25555:37;:::i;:::-;25542:50;;25472:126;;;:::o;25604:113::-;25654:9;25687:24;25705:5;25687:24;:::i;:::-;25674:37;;25604:113;;;:::o;25723:307::-;25791:1;25801:113;25815:6;25812:1;25809:13;25801:113;;;25900:1;25895:3;25891:11;25885:18;25881:1;25876:3;25872:11;25865:39;25837:2;25834:1;25830:10;25825:15;;25801:113;;;25932:6;25929:1;25926:13;25923:101;;;26012:1;26003:6;25998:3;25994:16;25987:27;25923:101;25772:258;25723:307;;;:::o;26036:320::-;26080:6;26117:1;26111:4;26107:12;26097:22;;26164:1;26158:4;26154:12;26185:18;26175:81;;26241:4;26233:6;26229:17;26219:27;;26175:81;26303:2;26295:6;26292:14;26272:18;26269:38;26266:84;;;26322:18;;:::i;:::-;26266:84;26087:269;26036:320;;;:::o;26362:180::-;26410:77;26407:1;26400:88;26507:4;26504:1;26497:15;26531:4;26528:1;26521:15;26548:180;26596:77;26593:1;26586:88;26693:4;26690:1;26683:15;26717:4;26714:1;26707:15;26734:180;26782:77;26779:1;26772:88;26879:4;26876:1;26869:15;26903:4;26900:1;26893:15;26920:180;26968:77;26965:1;26958:88;27065:4;27062:1;27055:15;27089:4;27086:1;27079:15;27106:180;27154:77;27151:1;27144:88;27251:4;27248:1;27241:15;27275:4;27272:1;27265:15;27415:117;27524:1;27521;27514:12;27538:102;27579:6;27630:2;27626:7;27621:2;27614:5;27610:14;27606:28;27596:38;;27538:102;;;:::o;27646:222::-;27786:34;27782:1;27774:6;27770:14;27763:58;27855:5;27850:2;27842:6;27838:15;27831:30;27646:222;:::o;27874:225::-;28014:34;28010:1;28002:6;27998:14;27991:58;28083:8;28078:2;28070:6;28066:15;28059:33;27874:225;:::o;28105:221::-;28245:34;28241:1;28233:6;28229:14;28222:58;28314:4;28309:2;28301:6;28297:15;28290:29;28105:221;:::o;28332:177::-;28472:29;28468:1;28460:6;28456:14;28449:53;28332:177;:::o;28515:181::-;28655:33;28651:1;28643:6;28639:14;28632:57;28515:181;:::o;28702:227::-;28842:34;28838:1;28830:6;28826:14;28819:58;28911:10;28906:2;28898:6;28894:15;28887:35;28702:227;:::o;28935:220::-;29075:34;29071:1;29063:6;29059:14;29052:58;29144:3;29139:2;29131:6;29127:15;29120:28;28935:220;:::o;29161:182::-;29301:34;29297:1;29289:6;29285:14;29278:58;29161:182;:::o;29349:228::-;29489:34;29485:1;29477:6;29473:14;29466:58;29558:11;29553:2;29545:6;29541:15;29534:36;29349:228;:::o;29583:224::-;29723:34;29719:1;29711:6;29707:14;29700:58;29792:7;29787:2;29779:6;29775:15;29768:32;29583:224;:::o;29813:223::-;29953:34;29949:1;29941:6;29937:14;29930:58;30022:6;30017:2;30009:6;30005:15;29998:31;29813:223;:::o;30042:181::-;30182:33;30178:1;30170:6;30166:14;30159:57;30042:181;:::o;30229:222::-;30369:34;30365:1;30357:6;30353:14;30346:58;30438:5;30433:2;30425:6;30421:15;30414:30;30229:222;:::o;30457:122::-;30530:24;30548:5;30530:24;:::i;:::-;30523:5;30520:35;30510:63;;30569:1;30566;30559:12;30510:63;30457:122;:::o;30585:116::-;30655:21;30670:5;30655:21;:::i;:::-;30648:5;30645:32;30635:60;;30691:1;30688;30681:12;30635:60;30585:116;:::o;30707:122::-;30780:24;30798:5;30780:24;:::i;:::-;30773:5;30770:35;30760:63;;30819:1;30816;30809:12;30760:63;30707:122;:::o
Swarm Source
ipfs://155a3aabd4518a2204ee3cec6c5ebd5aa0c29acee5c01c378c65bc8750383d98
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.