ERC-20
Overview
Max Total Supply
921,914.574738 ShiaB
Holders
88
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 6 Decimals)
Filtered by Token Holder
bitchescomeandgobrahbutyouknowistaybitchescomeandgobrahbutyouknowistaygotmyballslickedbyazooeydeschanellookalikecocaineaddictrazorbladetoyourheadconflictimacontradictedshitpeeingonoldpeopleshousesisaninflict.ethBalance
449.43923 ShiaBValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ShiaBurn
Compiler Version
v0.8.15+commit.e14f2714
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-08-26 */ /* 🔥 Introducing ShiaBurn - Ignite Your Investments! 🔥 🚀 Join the revolution of decentralized finance with ShiaBurn ($ShiaB)! 🔥 Tokenomics: - 1% Burn of $ShiaB on every transaction - 1% Automatic Liquidity Pool (LP) generation - 3% Burn of $Shia on every transaction */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.4; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } library Address { function isContract(address account) internal view returns (bool) { bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly 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"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (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"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) { return returndata; } else { // Look for revert reason and bubble it up if present 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; 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"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); 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 swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity); 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); } contract ShiaBurn is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; string private constant _name = "Shia Burn"; string private constant _symbol = unicode"ShiaB"; uint8 private constant _decimals = 6; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; uint256 public _tTotal = 1000 * 1e3 * 1e6; //1,000,000 uint256 public _maxWalletAmount = 20 * 1e3 * 1e6; //2% uint256 public j_maxtxn = 20 * 1e3 * 1e6; //2% uint256 public swapAmount = 7 * 1e2 * 1e6; //.07% uint256 private buyShiaUpperLimit = 5000 * 1e14; // 0.01 // fees uint256 public j_liqBuy = 3; uint256 public j_burnBuy = 3; uint256 public j_shiaBuy = 3; uint256 public j_marketingBuy = 6; uint256 public j_liqSell = 3; uint256 public j_burnSell = 3; uint256 public j_shiaSell = 3; uint256 public j_marketingSell = 14; uint256 private j_previousLiqFee = j_liqFee; uint256 private j_previousBurnFee = j_burnFee; uint256 private j_previousShiaFee = j_shiaFee; uint256 private j_previousMarketingTax = j_marketingTax; uint256 private j_liqFee; uint256 private j_burnFee; uint256 private j_shiaFee; uint256 private j_marketingTax; uint256 public _totalBurned; struct FeeBreakdown { uint256 tLiq; uint256 tBurn; uint256 tShia; uint256 tMarketing; uint256 tAmount; } mapping(address => bool) private bots; address payable private shiaburnWallet = payable(0xC21bEe45c473C4cE62095Af1bDdE0478c781c9F8); address payable private marketingWallet = payable(0xC21bEe45c473C4cE62095Af1bDdE0478c781c9F8); address payable public dead = payable(0x000000000000000000000000000000000000dEaD); address SHIA = 0x43D7E65B8fF49698D9550a7F315c87E67344FB59; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private swapping = false; bool public burnMode = false; modifier lockSwap { swapping = true; _; swapping = false; } constructor() { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[shiaburnWallet] = true; _isExcludedFromFee[dead] = true; _isExcludedFromFee[address(this)] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) external override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) external view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) external override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { _transfer(sender, recipient, amount); _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,"ERC20: transfer amount exceeds allowance")); return true; } function totalBurned() public view returns (uint256) { return _totalBurned; } function burning(address _account, uint _amount) private { require( _amount <= balanceOf(_account)); _balances[_account] = _balances[_account].sub(_amount); _tTotal = _tTotal.sub(_amount); _totalBurned = _totalBurned.add(_amount); emit Transfer(_account, address(0), _amount); } function removeAllFee() private { if (j_burnFee == 0 && j_liqFee == 0 && j_shiaFee == 0 && j_marketingTax == 0) return; j_previousBurnFee = j_burnFee; j_previousLiqFee = j_liqFee; j_previousShiaFee = j_shiaFee; j_previousMarketingTax = j_marketingTax; j_burnFee = 0; j_liqFee = 0; j_shiaFee = 0; j_marketingTax = 0; } function restoreAllFee() private { j_liqFee = j_previousLiqFee; j_burnFee = j_previousBurnFee; j_shiaFee = j_previousShiaFee; j_marketingTax = j_previousMarketingTax; } function removeMarketingTax() external { require(_msgSender() == shiaburnWallet); j_marketingSell = 1; j_liqSell = 2; j_liqBuy = 2; j_marketingBuy = 1; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); require(!bots[from] && !bots[to]); bool takeFee = true; if (from != owner() && to != owner() && from != address(this) && to != address(this)) { if (from == uniswapV2Pair && to != address(uniswapV2Router) && ((!_isExcludedFromFee[from] || !_isExcludedFromFee[to]))) { require(balanceOf(to).add(amount) <= _maxWalletAmount, "You are being greedy. Exceeding Max Wallet."); require(amount <= j_maxtxn, "Slow down buddy...there is a max transaction"); } if (from == uniswapV2Pair && to != address(uniswapV2Router) && !bots[to] && !bots[from]) { j_liqFee = j_liqBuy; j_burnFee = j_burnBuy; j_shiaFee = j_shiaBuy; j_marketingTax = j_marketingBuy; } if (to == uniswapV2Pair && from != address(uniswapV2Router) && !bots[to] && !bots[from]) { j_liqFee = j_liqSell; j_burnFee = j_burnSell; j_shiaFee = j_shiaSell; j_marketingTax = j_marketingSell; } if (!swapping && from != uniswapV2Pair) { uint256 contractTokenBalance = balanceOf(address(this)); if (contractTokenBalance > swapAmount) { swapAndLiquify(contractTokenBalance); } uint256 contractETHBalance = address(this).balance; if (!burnMode && (contractETHBalance > 0)) { sendETHToFee(address(this).balance); } else if (burnMode && (contractETHBalance > buyShiaUpperLimit)) { uint256 buyAmount = (contractETHBalance.div(2)); buyShia(buyAmount); } } } if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) { takeFee = false; } _transferAgain(from, to, amount, takeFee); restoreAllFee(); } function setMaxTxn(uint256 maxTransaction) external { require(maxTransaction >= 10 * 1e3 * 1e6,"negative ghost rider"); require(_msgSender() == shiaburnWallet); j_maxtxn = maxTransaction; } function swapTokensForEth(uint256 tokenAmount) private lockSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount, 0, path, address(this), block.timestamp); } function swapETHForTokens(uint256 amount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = uniswapV2Router.WETH(); path[1] = address(SHIA); // make the swap uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}( 0, // accept any amount of Tokens path, dead, // Burn address block.timestamp ); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { _approve(address(this), address(uniswapV2Router), tokenAmount); // add the liquidity uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable shiaburnWallet, block.timestamp ); } function swapAndLiquify(uint256 contractTokenBalance) private lockSwap { uint256 autoLPamount = j_liqFee.mul(contractTokenBalance).div(j_burnFee.add(j_shiaFee).add(j_marketingTax).add(j_liqFee)); uint256 half = autoLPamount.div(2); uint256 otherHalf = contractTokenBalance.sub(half); uint256 initialBalance = address(this).balance; swapTokensForEth(otherHalf); uint256 newBalance = ((address(this).balance.sub(initialBalance)).mul(half)).div(otherHalf); addLiquidity(half, newBalance); } function sendETHToFee(uint256 amount) private { shiaburnWallet.transfer((amount).div(2)); marketingWallet.transfer((amount).div(2)); } function manualSwap() external { require(_msgSender() == shiaburnWallet); uint256 contractBalance = balanceOf(address(this)); if (contractBalance > 0) { swapTokensForEth(contractBalance); } } function manualSend() external { require(_msgSender() == shiaburnWallet); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(contractETHBalance); } } function _transferAgain(address sender, address recipient, uint256 amount, bool takeFee) private { if (!takeFee) { removeAllFee(); } FeeBreakdown memory fees; fees.tBurn = amount.mul(j_burnFee).div(100); fees.tLiq = amount.mul(j_liqFee).div(100); fees.tShia = amount.mul(j_shiaFee).div(100); fees.tMarketing = amount.mul(j_marketingTax).div(100); fees.tAmount = amount.sub(fees.tShia).sub(fees.tMarketing).sub(fees.tBurn).sub(fees.tLiq); uint256 amountPreBurn = amount.sub(fees.tBurn); burning(sender, fees.tBurn); _balances[sender] = _balances[sender].sub(amountPreBurn); _balances[recipient] = _balances[recipient].add(fees.tAmount); _balances[address(this)] = _balances[address(this)].add(fees.tShia).add(fees.tMarketing).add(fees.tBurn.add(fees.tLiq)); if(burnMode && sender != uniswapV2Pair && sender != address(this) && sender != address(uniswapV2Router) && (recipient == address(uniswapV2Router) || recipient == uniswapV2Pair)) { burning(uniswapV2Pair, fees.tBurn); } emit Transfer(sender, recipient, fees.tAmount); restoreAllFee(); } receive() external payable {} function setMaxWalletAmount(uint256 maxWalletAmount) external { require(_msgSender() == shiaburnWallet); require(maxWalletAmount > _tTotal.div(200), "Amount must be greater than 0.5% of supply"); _maxWalletAmount = maxWalletAmount; } function setSwapAmount(uint256 _swapAmount) external { require(_msgSender() == shiaburnWallet); swapAmount = _swapAmount; } function turnOnTheBurn() public onlyOwner { burnMode = true; } function buyShia(uint256 amount) private { if (amount > 0) { swapETHForTokens(amount); } } function setBuyShiaRate(uint256 buyShiaToken) external { require(_msgSender() == shiaburnWallet); buyShiaUpperLimit = buyShiaToken; } function setMarketingWallet(address payable _address) external onlyOwner { marketingWallet = _address; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalBurned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dead","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"j_burnBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"j_burnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"j_liqBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"j_liqSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"j_marketingBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"j_marketingSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"j_maxtxn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"j_shiaBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"j_shiaSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeMarketingTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyShiaToken","type":"uint256"}],"name":"setBuyShiaRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_address","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTransaction","type":"uint256"}],"name":"setMaxTxn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletAmount","type":"uint256"}],"name":"setMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_swapAmount","type":"uint256"}],"name":"setSwapAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalBurned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"turnOnTheBurn","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405264e8d4a510006005556404a817c8006006556404a817c8006007556329b927006008556706f05b59d3b200006009556003600a556003600b556003600c556006600d556003600e556003600f556003601055600e60115560165460125560175460135560185460145560195460155573c21bee45c473c4ce62095af1bdde0478c781c9f8601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c21bee45c473c4ce62095af1bdde0478c781c9f8601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507343d7e65b8ff49698d9550a7f315c87e67344fb59601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000602160146101000a81548160ff0219169083151502179055506000602160156101000a81548160ff021916908315150217905550348015620001f857600080fd5b5060006200020b6200073060201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080602060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200034f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003759190620007cb565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004039190620007cb565b6040518363ffffffff1660e01b8152600401620004229291906200080e565b6020604051808303816000875af115801562000442573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004689190620007cb565b602160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060055460026000620004bf6200073060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160046000620005136200073860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620006c06200073060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60055460405162000721919062000856565b60405180910390a35062000873565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620007938262000766565b9050919050565b620007a58162000786565b8114620007b157600080fd5b50565b600081519050620007c5816200079a565b92915050565b600060208284031215620007e457620007e362000761565b5b6000620007f484828501620007b4565b91505092915050565b620008088162000786565b82525050565b6000604082019050620008256000830185620007fd565b620008346020830184620007fd565b9392505050565b6000819050919050565b62000850816200083b565b82525050565b60006020820190506200086d600083018462000845565b92915050565b61427b80620008836000396000f3fe6080604052600436106102335760003560e01c80636c0a24eb1161012e578063af465a27116100ab578063e632313c1161006f578063e632313c146107f9578063f2fde38b14610822578063f42938901461084b578063fc588c0414610862578063fd01bd4c1461088b5761023a565b8063af465a2714610710578063d89135cd1461073b578063d9f7e4df14610766578063dc903ba114610791578063dd62ed3e146107bc5761023a565b806395d89b41116100f257806395d89b411461063d57806398620d76146106685780639f58526f14610691578063a1d1d02b146106bc578063a9059cbb146106d35761023a565b80636c0a24eb1461056857806370a0823114610593578063715018a6146105d05780638da5cb5b146105e75780638ea78153146106125761023a565b806323bbf9e7116101bc57806349bd5a5e1161018057806349bd5a5e146104bb57806351bc3c85146104e65780635d098b38146104fd5780635dbc2fe11461052657806366bf686e1461053d5761023a565b806323bbf9e7146103e657806327a14fc2146104115780632e8fa8211461043a578063313ce5671461046557806336cf7c87146104905761023a565b80630cdf2187116102035780630cdf2187146102fd5780631694505e1461032857806318160ddd14610353578063233296f01461037e57806323b872dd146103a95761023a565b8062067d6b1461023f57806306ab002a1461026a57806306fdde0314610295578063095ea7b3146102c05761023a565b3661023a57005b600080fd5b34801561024b57600080fd5b506102546108b6565b6040516102619190613251565b60405180910390f35b34801561027657600080fd5b5061027f6108bc565b60405161028c9190613251565b60405180910390f35b3480156102a157600080fd5b506102aa6108c2565b6040516102b79190613305565b60405180910390f35b3480156102cc57600080fd5b506102e760048036038101906102e291906133b6565b6108ff565b6040516102f49190613411565b60405180910390f35b34801561030957600080fd5b5061031261091d565b60405161031f9190613251565b60405180910390f35b34801561033457600080fd5b5061033d610923565b60405161034a919061348b565b60405180910390f35b34801561035f57600080fd5b50610368610949565b6040516103759190613251565b60405180910390f35b34801561038a57600080fd5b50610393610953565b6040516103a09190613251565b60405180910390f35b3480156103b557600080fd5b506103d060048036038101906103cb91906134a6565b610959565b6040516103dd9190613411565b60405180910390f35b3480156103f257600080fd5b506103fb610a32565b6040516104089190613251565b60405180910390f35b34801561041d57600080fd5b50610438600480360381019061043391906134f9565b610a38565b005b34801561044657600080fd5b5061044f610afa565b60405161045c9190613251565b60405180910390f35b34801561047157600080fd5b5061047a610b00565b6040516104879190613542565b60405180910390f35b34801561049c57600080fd5b506104a5610b09565b6040516104b2919061357e565b60405180910390f35b3480156104c757600080fd5b506104d0610b2f565b6040516104dd91906135a8565b60405180910390f35b3480156104f257600080fd5b506104fb610b55565b005b34801561050957600080fd5b50610524600480360381019061051f91906135ef565b610bd9565b005b34801561053257600080fd5b5061053b610cb2565b005b34801561054957600080fd5b50610552610d64565b60405161055f9190613251565b60405180910390f35b34801561057457600080fd5b5061057d610d6a565b60405161058a9190613251565b60405180910390f35b34801561059f57600080fd5b506105ba60048036038101906105b5919061361c565b610d70565b6040516105c79190613251565b60405180910390f35b3480156105dc57600080fd5b506105e5610db9565b005b3480156105f357600080fd5b506105fc610f0c565b60405161060991906135a8565b60405180910390f35b34801561061e57600080fd5b50610627610f35565b6040516106349190613411565b60405180910390f35b34801561064957600080fd5b50610652610f48565b60405161065f9190613305565b60405180910390f35b34801561067457600080fd5b5061068f600480360381019061068a91906134f9565b610f85565b005b34801561069d57600080fd5b506106a6610ff0565b6040516106b39190613251565b60405180910390f35b3480156106c857600080fd5b506106d1610ff6565b005b3480156106df57600080fd5b506106fa60048036038101906106f591906133b6565b611079565b6040516107079190613411565b60405180910390f35b34801561071c57600080fd5b50610725611097565b6040516107329190613251565b60405180910390f35b34801561074757600080fd5b5061075061109d565b60405161075d9190613251565b60405180910390f35b34801561077257600080fd5b5061077b6110a7565b6040516107889190613251565b60405180910390f35b34801561079d57600080fd5b506107a66110ad565b6040516107b39190613251565b60405180910390f35b3480156107c857600080fd5b506107e360048036038101906107de9190613649565b6110b3565b6040516107f09190613251565b60405180910390f35b34801561080557600080fd5b50610820600480360381019061081b91906134f9565b61113a565b005b34801561082e57600080fd5b506108496004803603810190610844919061361c565b6111a5565b005b34801561085757600080fd5b506108606112b5565b005b34801561086e57600080fd5b50610889600480360381019061088491906134f9565b611331565b005b34801561089757600080fd5b506108a06113e4565b6040516108ad9190613251565b60405180910390f35b60115481565b600c5481565b60606040518060400160405280600981526020017f53686961204275726e0000000000000000000000000000000000000000000000815250905090565b600061091361090c6113ea565b84846113f2565b6001905092915050565b600e5481565b602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600554905090565b60075481565b60006109668484846115bb565b610a27846109726113ea565b610a228560405180606001604052806028815260200161421e60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109d86113ea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f519092919063ffffffff16565b6113f2565b600190509392505050565b600a5481565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a796113ea565b73ffffffffffffffffffffffffffffffffffffffff1614610a9957600080fd5b610aaf60c8600554611fb590919063ffffffff16565b8111610af0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae7906136fb565b60405180910390fd5b8060068190555050565b60085481565b60006006905090565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b966113ea565b73ffffffffffffffffffffffffffffffffffffffff1614610bb657600080fd5b6000610bc130610d70565b90506000811115610bd657610bd581611fff565b5b50565b610be16113ea565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6590613767565b60405180910390fd5b80601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610cba6113ea565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3e90613767565b60405180910390fd5b6001602160156101000a81548160ff021916908315150217905550565b60105481565b60065481565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610dc16113ea565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4590613767565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b602160159054906101000a900460ff1681565b60606040518060400160405280600581526020017f5368696142000000000000000000000000000000000000000000000000000000815250905090565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fc66113ea565b73ffffffffffffffffffffffffffffffffffffffff1614610fe657600080fd5b8060098190555050565b600d5481565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110376113ea565b73ffffffffffffffffffffffffffffffffffffffff161461105757600080fd5b60016011819055506002600e819055506002600a819055506001600d81905550565b600061108d6110866113ea565b84846115bb565b6001905092915050565b60055481565b6000601a54905090565b600f5481565b600b5481565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661117b6113ea565b73ffffffffffffffffffffffffffffffffffffffff161461119b57600080fd5b8060088190555050565b6111ad6113ea565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461123a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123190613767565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a0906137f9565b60405180910390fd5b6112b281612278565b50565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112f66113ea565b73ffffffffffffffffffffffffffffffffffffffff161461131657600080fd5b6000479050600081111561132e5761132d8161233c565b5b50565b6402540be400811015611379576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137090613865565b60405180910390fd5b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113ba6113ea565b73ffffffffffffffffffffffffffffffffffffffff16146113da57600080fd5b8060078190555050565b601a5481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611461576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611458906138f7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c790613989565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115ae9190613251565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361162a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162190613a1b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611699576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169090613aad565b60405180910390fd5b600081116116dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d390613b3f565b60405180910390fd5b601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156117805750601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61178957600080fd5b600060019050611797610f0c565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561180557506117d5610f0c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561183d57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561187557503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611e8c57602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156119255750602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119d05750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615806119cf5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b5b15611a7a576006546119f3836119e586610d70565b61243790919063ffffffff16565b1115611a34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2b90613bd1565b60405180910390fd5b600754821115611a79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7090613c63565b60405180910390fd5b5b602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611b255750602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b7b5750601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611bd15750601b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611bfb57600a54601681905550600b54601781905550600c54601881905550600d546019819055505b602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611ca65750602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611cfc5750601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d525750601b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d7c57600e54601681905550600f546017819055506010546018819055506011546019819055505b602160149054906101000a900460ff16158015611de75750602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611e8b576000611df730610d70565b9050600854811115611e0d57611e0c81612495565b5b6000479050602160159054906101000a900460ff16158015611e2f5750600081115b15611e4257611e3d4761233c565b611e88565b602160159054906101000a900460ff168015611e5f575060095481115b15611e87576000611e7a600283611fb590919063ffffffff16565b9050611e85816125be565b505b5b50505b5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611f2d5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611f3757600090505b611f43848484846125d4565b611f4b612b9e565b50505050565b6000838311158290611f99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f909190613305565b60405180910390fd5b5060008385611fa89190613cb2565b9050809150509392505050565b6000611ff783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612bc4565b905092915050565b6001602160146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561203757612036613ce6565b5b6040519080825280602002602001820160405280156120655781602001602082028036833780820191505090505b509050308160008151811061207d5761207c613d15565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612124573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121489190613d59565b8160018151811061215c5761215b613d15565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506121c330602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113f2565b602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612227959493929190613e7f565b600060405180830381600087803b15801561224157600080fd5b505af1158015612255573d6000803e3d6000fd5b50505050506000602160146101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61238c600284611fb590919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156123b7573d6000803e3d6000fd5b50601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612408600284611fb590919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612433573d6000803e3d6000fd5b5050565b60008082846124469190613ed9565b90508381101561248b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248290613f7b565b60405180910390fd5b8091505092915050565b6001602160146101000a81548160ff02191690831515021790555060006125176124f46016546124e66019546124d860185460175461243790919063ffffffff16565b61243790919063ffffffff16565b61243790919063ffffffff16565b61250984601654612c2790919063ffffffff16565b611fb590919063ffffffff16565b9050600061252f600283611fb590919063ffffffff16565b905060006125468285612ca190919063ffffffff16565b9050600047905061255682611fff565b600061258f83612581866125738647612ca190919063ffffffff16565b612c2790919063ffffffff16565b611fb590919063ffffffff16565b905061259b8482612ceb565b50505050506000602160146101000a81548160ff02191690831515021790555050565b60008111156125d1576125d081612deb565b5b50565b806125e2576125e1613044565b5b6125ea613209565b612612606461260460175486612c2790919063ffffffff16565b611fb590919063ffffffff16565b816020018181525050612643606461263560165486612c2790919063ffffffff16565b611fb590919063ffffffff16565b816000018181525050612674606461266660185486612c2790919063ffffffff16565b611fb590919063ffffffff16565b8160400181815250506126a5606461269760195486612c2790919063ffffffff16565b611fb590919063ffffffff16565b81606001818152505061270781600001516126f983602001516126eb85606001516126dd87604001518a612ca190919063ffffffff16565b612ca190919063ffffffff16565b612ca190919063ffffffff16565b612ca190919063ffffffff16565b8160800181815250506000612729826020015185612ca190919063ffffffff16565b90506127398683602001516130bf565b61278b81600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ca190919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128248260800151600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461243790919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128ff6128858360000151846020015161243790919063ffffffff16565b6128f184606001516128e38660400151600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461243790919063ffffffff16565b61243790919063ffffffff16565b61243790919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550602160159054906101000a900460ff1680156129ac5750602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b80156129e457503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b8015612a3e5750602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b8015612aef5750602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480612aee5750602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b5b15612b2557612b24602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683602001516130bf565b5b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460800151604051612b869190613251565b60405180910390a3612b96612b9e565b505050505050565b601254601681905550601354601781905550601454601881905550601554601981905550565b60008083118290612c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c029190613305565b60405180910390fd5b5060008385612c1a9190613fca565b9050809150509392505050565b6000808303612c395760009050612c9b565b60008284612c479190613ffb565b9050828482612c569190613fca565b14612c96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c8d906140c7565b60405180910390fd5b809150505b92915050565b6000612ce383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f51565b905092915050565b612d1830602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113f2565b602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401612da196959493929190614108565b60606040518083038185885af1158015612dbf573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612de4919061417e565b5050505050565b6000600267ffffffffffffffff811115612e0857612e07613ce6565b5b604051908082528060200260200182016040528015612e365781602001602082028036833780820191505090505b509050602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ea6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612eca9190613d59565b81600081518110612ede57612edd613d15565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110612f4f57612f4e613d15565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6f9de9583600084601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b815260040161300e94939291906141d1565b6000604051808303818588803b15801561302757600080fd5b505af115801561303b573d6000803e3d6000fd5b50505050505050565b600060175414801561305857506000601654145b801561306657506000601854145b801561307457506000601954145b6130bd5760175460138190555060165460128190555060185460148190555060195460158190555060006017819055506000601681905550600060188190555060006019819055505b565b6130c882610d70565b8111156130d457600080fd5b61312681600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ca190919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061317e81600554612ca190919063ffffffff16565b60058190555061319981601a5461243790919063ffffffff16565b601a81905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516131fd9190613251565b60405180910390a35050565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6000819050919050565b61324b81613238565b82525050565b60006020820190506132666000830184613242565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156132a657808201518184015260208101905061328b565b838111156132b5576000848401525b50505050565b6000601f19601f8301169050919050565b60006132d78261326c565b6132e18185613277565b93506132f1818560208601613288565b6132fa816132bb565b840191505092915050565b6000602082019050818103600083015261331f81846132cc565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006133578261332c565b9050919050565b6133678161334c565b811461337257600080fd5b50565b6000813590506133848161335e565b92915050565b61339381613238565b811461339e57600080fd5b50565b6000813590506133b08161338a565b92915050565b600080604083850312156133cd576133cc613327565b5b60006133db85828601613375565b92505060206133ec858286016133a1565b9150509250929050565b60008115159050919050565b61340b816133f6565b82525050565b60006020820190506134266000830184613402565b92915050565b6000819050919050565b600061345161344c6134478461332c565b61342c565b61332c565b9050919050565b600061346382613436565b9050919050565b600061347582613458565b9050919050565b6134858161346a565b82525050565b60006020820190506134a0600083018461347c565b92915050565b6000806000606084860312156134bf576134be613327565b5b60006134cd86828701613375565b93505060206134de86828701613375565b92505060406134ef868287016133a1565b9150509250925092565b60006020828403121561350f5761350e613327565b5b600061351d848285016133a1565b91505092915050565b600060ff82169050919050565b61353c81613526565b82525050565b60006020820190506135576000830184613533565b92915050565b60006135688261332c565b9050919050565b6135788161355d565b82525050565b6000602082019050613593600083018461356f565b92915050565b6135a28161334c565b82525050565b60006020820190506135bd6000830184613599565b92915050565b6135cc8161355d565b81146135d757600080fd5b50565b6000813590506135e9816135c3565b92915050565b60006020828403121561360557613604613327565b5b6000613613848285016135da565b91505092915050565b60006020828403121561363257613631613327565b5b600061364084828501613375565b91505092915050565b600080604083850312156136605761365f613327565b5b600061366e85828601613375565b925050602061367f85828601613375565b9150509250929050565b7f416d6f756e74206d7573742062652067726561746572207468616e20302e352560008201527f206f6620737570706c7900000000000000000000000000000000000000000000602082015250565b60006136e5602a83613277565b91506136f082613689565b604082019050919050565b60006020820190508181036000830152613714816136d8565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613751602083613277565b915061375c8261371b565b602082019050919050565b6000602082019050818103600083015261378081613744565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006137e3602683613277565b91506137ee82613787565b604082019050919050565b60006020820190508181036000830152613812816137d6565b9050919050565b7f6e656761746976652067686f7374207269646572000000000000000000000000600082015250565b600061384f601483613277565b915061385a82613819565b602082019050919050565b6000602082019050818103600083015261387e81613842565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006138e1602483613277565b91506138ec82613885565b604082019050919050565b60006020820190508181036000830152613910816138d4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613973602283613277565b915061397e82613917565b604082019050919050565b600060208201905081810360008301526139a281613966565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613a05602583613277565b9150613a10826139a9565b604082019050919050565b60006020820190508181036000830152613a34816139f8565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613a97602383613277565b9150613aa282613a3b565b604082019050919050565b60006020820190508181036000830152613ac681613a8a565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613b29602983613277565b9150613b3482613acd565b604082019050919050565b60006020820190508181036000830152613b5881613b1c565b9050919050565b7f596f7520617265206265696e67206772656564792e20457863656564696e672060008201527f4d61782057616c6c65742e000000000000000000000000000000000000000000602082015250565b6000613bbb602b83613277565b9150613bc682613b5f565b604082019050919050565b60006020820190508181036000830152613bea81613bae565b9050919050565b7f536c6f7720646f776e2062756464792e2e2e74686572652069732061206d617860008201527f207472616e73616374696f6e0000000000000000000000000000000000000000602082015250565b6000613c4d602c83613277565b9150613c5882613bf1565b604082019050919050565b60006020820190508181036000830152613c7c81613c40565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613cbd82613238565b9150613cc883613238565b925082821015613cdb57613cda613c83565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613d538161335e565b92915050565b600060208284031215613d6f57613d6e613327565b5b6000613d7d84828501613d44565b91505092915050565b6000819050919050565b6000613dab613da6613da184613d86565b61342c565b613238565b9050919050565b613dbb81613d90565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613df68161334c565b82525050565b6000613e088383613ded565b60208301905092915050565b6000602082019050919050565b6000613e2c82613dc1565b613e368185613dcc565b9350613e4183613ddd565b8060005b83811015613e72578151613e598882613dfc565b9750613e6483613e14565b925050600181019050613e45565b5085935050505092915050565b600060a082019050613e946000830188613242565b613ea16020830187613db2565b8181036040830152613eb38186613e21565b9050613ec26060830185613599565b613ecf6080830184613242565b9695505050505050565b6000613ee482613238565b9150613eef83613238565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613f2457613f23613c83565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613f65601b83613277565b9150613f7082613f2f565b602082019050919050565b60006020820190508181036000830152613f9481613f58565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613fd582613238565b9150613fe083613238565b925082613ff057613fef613f9b565b5b828204905092915050565b600061400682613238565b915061401183613238565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561404a57614049613c83565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006140b1602183613277565b91506140bc82614055565b604082019050919050565b600060208201905081810360008301526140e0816140a4565b9050919050565b60006140f282613458565b9050919050565b614102816140e7565b82525050565b600060c08201905061411d6000830189613599565b61412a6020830188613242565b6141376040830187613db2565b6141446060830186613db2565b61415160808301856140f9565b61415e60a0830184613242565b979650505050505050565b6000815190506141788161338a565b92915050565b60008060006060848603121561419757614196613327565b5b60006141a586828701614169565b93505060206141b686828701614169565b92505060406141c786828701614169565b9150509250925092565b60006080820190506141e66000830187613db2565b81810360208301526141f88186613e21565b905061420760408301856140f9565b6142146060830184613242565b9594505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122019ef2f0ddb2b35eb5bba498523b7e3da17eca755b58c4f06f6bc438a9db174d164736f6c634300080f0033
Deployed Bytecode
0x6080604052600436106102335760003560e01c80636c0a24eb1161012e578063af465a27116100ab578063e632313c1161006f578063e632313c146107f9578063f2fde38b14610822578063f42938901461084b578063fc588c0414610862578063fd01bd4c1461088b5761023a565b8063af465a2714610710578063d89135cd1461073b578063d9f7e4df14610766578063dc903ba114610791578063dd62ed3e146107bc5761023a565b806395d89b41116100f257806395d89b411461063d57806398620d76146106685780639f58526f14610691578063a1d1d02b146106bc578063a9059cbb146106d35761023a565b80636c0a24eb1461056857806370a0823114610593578063715018a6146105d05780638da5cb5b146105e75780638ea78153146106125761023a565b806323bbf9e7116101bc57806349bd5a5e1161018057806349bd5a5e146104bb57806351bc3c85146104e65780635d098b38146104fd5780635dbc2fe11461052657806366bf686e1461053d5761023a565b806323bbf9e7146103e657806327a14fc2146104115780632e8fa8211461043a578063313ce5671461046557806336cf7c87146104905761023a565b80630cdf2187116102035780630cdf2187146102fd5780631694505e1461032857806318160ddd14610353578063233296f01461037e57806323b872dd146103a95761023a565b8062067d6b1461023f57806306ab002a1461026a57806306fdde0314610295578063095ea7b3146102c05761023a565b3661023a57005b600080fd5b34801561024b57600080fd5b506102546108b6565b6040516102619190613251565b60405180910390f35b34801561027657600080fd5b5061027f6108bc565b60405161028c9190613251565b60405180910390f35b3480156102a157600080fd5b506102aa6108c2565b6040516102b79190613305565b60405180910390f35b3480156102cc57600080fd5b506102e760048036038101906102e291906133b6565b6108ff565b6040516102f49190613411565b60405180910390f35b34801561030957600080fd5b5061031261091d565b60405161031f9190613251565b60405180910390f35b34801561033457600080fd5b5061033d610923565b60405161034a919061348b565b60405180910390f35b34801561035f57600080fd5b50610368610949565b6040516103759190613251565b60405180910390f35b34801561038a57600080fd5b50610393610953565b6040516103a09190613251565b60405180910390f35b3480156103b557600080fd5b506103d060048036038101906103cb91906134a6565b610959565b6040516103dd9190613411565b60405180910390f35b3480156103f257600080fd5b506103fb610a32565b6040516104089190613251565b60405180910390f35b34801561041d57600080fd5b50610438600480360381019061043391906134f9565b610a38565b005b34801561044657600080fd5b5061044f610afa565b60405161045c9190613251565b60405180910390f35b34801561047157600080fd5b5061047a610b00565b6040516104879190613542565b60405180910390f35b34801561049c57600080fd5b506104a5610b09565b6040516104b2919061357e565b60405180910390f35b3480156104c757600080fd5b506104d0610b2f565b6040516104dd91906135a8565b60405180910390f35b3480156104f257600080fd5b506104fb610b55565b005b34801561050957600080fd5b50610524600480360381019061051f91906135ef565b610bd9565b005b34801561053257600080fd5b5061053b610cb2565b005b34801561054957600080fd5b50610552610d64565b60405161055f9190613251565b60405180910390f35b34801561057457600080fd5b5061057d610d6a565b60405161058a9190613251565b60405180910390f35b34801561059f57600080fd5b506105ba60048036038101906105b5919061361c565b610d70565b6040516105c79190613251565b60405180910390f35b3480156105dc57600080fd5b506105e5610db9565b005b3480156105f357600080fd5b506105fc610f0c565b60405161060991906135a8565b60405180910390f35b34801561061e57600080fd5b50610627610f35565b6040516106349190613411565b60405180910390f35b34801561064957600080fd5b50610652610f48565b60405161065f9190613305565b60405180910390f35b34801561067457600080fd5b5061068f600480360381019061068a91906134f9565b610f85565b005b34801561069d57600080fd5b506106a6610ff0565b6040516106b39190613251565b60405180910390f35b3480156106c857600080fd5b506106d1610ff6565b005b3480156106df57600080fd5b506106fa60048036038101906106f591906133b6565b611079565b6040516107079190613411565b60405180910390f35b34801561071c57600080fd5b50610725611097565b6040516107329190613251565b60405180910390f35b34801561074757600080fd5b5061075061109d565b60405161075d9190613251565b60405180910390f35b34801561077257600080fd5b5061077b6110a7565b6040516107889190613251565b60405180910390f35b34801561079d57600080fd5b506107a66110ad565b6040516107b39190613251565b60405180910390f35b3480156107c857600080fd5b506107e360048036038101906107de9190613649565b6110b3565b6040516107f09190613251565b60405180910390f35b34801561080557600080fd5b50610820600480360381019061081b91906134f9565b61113a565b005b34801561082e57600080fd5b506108496004803603810190610844919061361c565b6111a5565b005b34801561085757600080fd5b506108606112b5565b005b34801561086e57600080fd5b50610889600480360381019061088491906134f9565b611331565b005b34801561089757600080fd5b506108a06113e4565b6040516108ad9190613251565b60405180910390f35b60115481565b600c5481565b60606040518060400160405280600981526020017f53686961204275726e0000000000000000000000000000000000000000000000815250905090565b600061091361090c6113ea565b84846113f2565b6001905092915050565b600e5481565b602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600554905090565b60075481565b60006109668484846115bb565b610a27846109726113ea565b610a228560405180606001604052806028815260200161421e60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109d86113ea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f519092919063ffffffff16565b6113f2565b600190509392505050565b600a5481565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a796113ea565b73ffffffffffffffffffffffffffffffffffffffff1614610a9957600080fd5b610aaf60c8600554611fb590919063ffffffff16565b8111610af0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae7906136fb565b60405180910390fd5b8060068190555050565b60085481565b60006006905090565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b966113ea565b73ffffffffffffffffffffffffffffffffffffffff1614610bb657600080fd5b6000610bc130610d70565b90506000811115610bd657610bd581611fff565b5b50565b610be16113ea565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6590613767565b60405180910390fd5b80601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610cba6113ea565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3e90613767565b60405180910390fd5b6001602160156101000a81548160ff021916908315150217905550565b60105481565b60065481565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610dc16113ea565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4590613767565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b602160159054906101000a900460ff1681565b60606040518060400160405280600581526020017f5368696142000000000000000000000000000000000000000000000000000000815250905090565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fc66113ea565b73ffffffffffffffffffffffffffffffffffffffff1614610fe657600080fd5b8060098190555050565b600d5481565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110376113ea565b73ffffffffffffffffffffffffffffffffffffffff161461105757600080fd5b60016011819055506002600e819055506002600a819055506001600d81905550565b600061108d6110866113ea565b84846115bb565b6001905092915050565b60055481565b6000601a54905090565b600f5481565b600b5481565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661117b6113ea565b73ffffffffffffffffffffffffffffffffffffffff161461119b57600080fd5b8060088190555050565b6111ad6113ea565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461123a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123190613767565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a0906137f9565b60405180910390fd5b6112b281612278565b50565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112f66113ea565b73ffffffffffffffffffffffffffffffffffffffff161461131657600080fd5b6000479050600081111561132e5761132d8161233c565b5b50565b6402540be400811015611379576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137090613865565b60405180910390fd5b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113ba6113ea565b73ffffffffffffffffffffffffffffffffffffffff16146113da57600080fd5b8060078190555050565b601a5481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611461576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611458906138f7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c790613989565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115ae9190613251565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361162a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162190613a1b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611699576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169090613aad565b60405180910390fd5b600081116116dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d390613b3f565b60405180910390fd5b601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156117805750601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61178957600080fd5b600060019050611797610f0c565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561180557506117d5610f0c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561183d57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561187557503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611e8c57602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156119255750602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119d05750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615806119cf5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b5b15611a7a576006546119f3836119e586610d70565b61243790919063ffffffff16565b1115611a34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2b90613bd1565b60405180910390fd5b600754821115611a79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7090613c63565b60405180910390fd5b5b602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611b255750602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b7b5750601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611bd15750601b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611bfb57600a54601681905550600b54601781905550600c54601881905550600d546019819055505b602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611ca65750602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611cfc5750601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d525750601b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d7c57600e54601681905550600f546017819055506010546018819055506011546019819055505b602160149054906101000a900460ff16158015611de75750602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611e8b576000611df730610d70565b9050600854811115611e0d57611e0c81612495565b5b6000479050602160159054906101000a900460ff16158015611e2f5750600081115b15611e4257611e3d4761233c565b611e88565b602160159054906101000a900460ff168015611e5f575060095481115b15611e87576000611e7a600283611fb590919063ffffffff16565b9050611e85816125be565b505b5b50505b5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611f2d5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611f3757600090505b611f43848484846125d4565b611f4b612b9e565b50505050565b6000838311158290611f99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f909190613305565b60405180910390fd5b5060008385611fa89190613cb2565b9050809150509392505050565b6000611ff783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612bc4565b905092915050565b6001602160146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561203757612036613ce6565b5b6040519080825280602002602001820160405280156120655781602001602082028036833780820191505090505b509050308160008151811061207d5761207c613d15565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612124573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121489190613d59565b8160018151811061215c5761215b613d15565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506121c330602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113f2565b602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612227959493929190613e7f565b600060405180830381600087803b15801561224157600080fd5b505af1158015612255573d6000803e3d6000fd5b50505050506000602160146101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61238c600284611fb590919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156123b7573d6000803e3d6000fd5b50601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612408600284611fb590919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612433573d6000803e3d6000fd5b5050565b60008082846124469190613ed9565b90508381101561248b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248290613f7b565b60405180910390fd5b8091505092915050565b6001602160146101000a81548160ff02191690831515021790555060006125176124f46016546124e66019546124d860185460175461243790919063ffffffff16565b61243790919063ffffffff16565b61243790919063ffffffff16565b61250984601654612c2790919063ffffffff16565b611fb590919063ffffffff16565b9050600061252f600283611fb590919063ffffffff16565b905060006125468285612ca190919063ffffffff16565b9050600047905061255682611fff565b600061258f83612581866125738647612ca190919063ffffffff16565b612c2790919063ffffffff16565b611fb590919063ffffffff16565b905061259b8482612ceb565b50505050506000602160146101000a81548160ff02191690831515021790555050565b60008111156125d1576125d081612deb565b5b50565b806125e2576125e1613044565b5b6125ea613209565b612612606461260460175486612c2790919063ffffffff16565b611fb590919063ffffffff16565b816020018181525050612643606461263560165486612c2790919063ffffffff16565b611fb590919063ffffffff16565b816000018181525050612674606461266660185486612c2790919063ffffffff16565b611fb590919063ffffffff16565b8160400181815250506126a5606461269760195486612c2790919063ffffffff16565b611fb590919063ffffffff16565b81606001818152505061270781600001516126f983602001516126eb85606001516126dd87604001518a612ca190919063ffffffff16565b612ca190919063ffffffff16565b612ca190919063ffffffff16565b612ca190919063ffffffff16565b8160800181815250506000612729826020015185612ca190919063ffffffff16565b90506127398683602001516130bf565b61278b81600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ca190919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128248260800151600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461243790919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128ff6128858360000151846020015161243790919063ffffffff16565b6128f184606001516128e38660400151600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461243790919063ffffffff16565b61243790919063ffffffff16565b61243790919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550602160159054906101000a900460ff1680156129ac5750602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b80156129e457503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b8015612a3e5750602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b8015612aef5750602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480612aee5750602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b5b15612b2557612b24602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683602001516130bf565b5b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460800151604051612b869190613251565b60405180910390a3612b96612b9e565b505050505050565b601254601681905550601354601781905550601454601881905550601554601981905550565b60008083118290612c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c029190613305565b60405180910390fd5b5060008385612c1a9190613fca565b9050809150509392505050565b6000808303612c395760009050612c9b565b60008284612c479190613ffb565b9050828482612c569190613fca565b14612c96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c8d906140c7565b60405180910390fd5b809150505b92915050565b6000612ce383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f51565b905092915050565b612d1830602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113f2565b602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401612da196959493929190614108565b60606040518083038185885af1158015612dbf573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612de4919061417e565b5050505050565b6000600267ffffffffffffffff811115612e0857612e07613ce6565b5b604051908082528060200260200182016040528015612e365781602001602082028036833780820191505090505b509050602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ea6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612eca9190613d59565b81600081518110612ede57612edd613d15565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110612f4f57612f4e613d15565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6f9de9583600084601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b815260040161300e94939291906141d1565b6000604051808303818588803b15801561302757600080fd5b505af115801561303b573d6000803e3d6000fd5b50505050505050565b600060175414801561305857506000601654145b801561306657506000601854145b801561307457506000601954145b6130bd5760175460138190555060165460128190555060185460148190555060195460158190555060006017819055506000601681905550600060188190555060006019819055505b565b6130c882610d70565b8111156130d457600080fd5b61312681600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ca190919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061317e81600554612ca190919063ffffffff16565b60058190555061319981601a5461243790919063ffffffff16565b601a81905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516131fd9190613251565b60405180910390a35050565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6000819050919050565b61324b81613238565b82525050565b60006020820190506132666000830184613242565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156132a657808201518184015260208101905061328b565b838111156132b5576000848401525b50505050565b6000601f19601f8301169050919050565b60006132d78261326c565b6132e18185613277565b93506132f1818560208601613288565b6132fa816132bb565b840191505092915050565b6000602082019050818103600083015261331f81846132cc565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006133578261332c565b9050919050565b6133678161334c565b811461337257600080fd5b50565b6000813590506133848161335e565b92915050565b61339381613238565b811461339e57600080fd5b50565b6000813590506133b08161338a565b92915050565b600080604083850312156133cd576133cc613327565b5b60006133db85828601613375565b92505060206133ec858286016133a1565b9150509250929050565b60008115159050919050565b61340b816133f6565b82525050565b60006020820190506134266000830184613402565b92915050565b6000819050919050565b600061345161344c6134478461332c565b61342c565b61332c565b9050919050565b600061346382613436565b9050919050565b600061347582613458565b9050919050565b6134858161346a565b82525050565b60006020820190506134a0600083018461347c565b92915050565b6000806000606084860312156134bf576134be613327565b5b60006134cd86828701613375565b93505060206134de86828701613375565b92505060406134ef868287016133a1565b9150509250925092565b60006020828403121561350f5761350e613327565b5b600061351d848285016133a1565b91505092915050565b600060ff82169050919050565b61353c81613526565b82525050565b60006020820190506135576000830184613533565b92915050565b60006135688261332c565b9050919050565b6135788161355d565b82525050565b6000602082019050613593600083018461356f565b92915050565b6135a28161334c565b82525050565b60006020820190506135bd6000830184613599565b92915050565b6135cc8161355d565b81146135d757600080fd5b50565b6000813590506135e9816135c3565b92915050565b60006020828403121561360557613604613327565b5b6000613613848285016135da565b91505092915050565b60006020828403121561363257613631613327565b5b600061364084828501613375565b91505092915050565b600080604083850312156136605761365f613327565b5b600061366e85828601613375565b925050602061367f85828601613375565b9150509250929050565b7f416d6f756e74206d7573742062652067726561746572207468616e20302e352560008201527f206f6620737570706c7900000000000000000000000000000000000000000000602082015250565b60006136e5602a83613277565b91506136f082613689565b604082019050919050565b60006020820190508181036000830152613714816136d8565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613751602083613277565b915061375c8261371b565b602082019050919050565b6000602082019050818103600083015261378081613744565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006137e3602683613277565b91506137ee82613787565b604082019050919050565b60006020820190508181036000830152613812816137d6565b9050919050565b7f6e656761746976652067686f7374207269646572000000000000000000000000600082015250565b600061384f601483613277565b915061385a82613819565b602082019050919050565b6000602082019050818103600083015261387e81613842565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006138e1602483613277565b91506138ec82613885565b604082019050919050565b60006020820190508181036000830152613910816138d4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613973602283613277565b915061397e82613917565b604082019050919050565b600060208201905081810360008301526139a281613966565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613a05602583613277565b9150613a10826139a9565b604082019050919050565b60006020820190508181036000830152613a34816139f8565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613a97602383613277565b9150613aa282613a3b565b604082019050919050565b60006020820190508181036000830152613ac681613a8a565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613b29602983613277565b9150613b3482613acd565b604082019050919050565b60006020820190508181036000830152613b5881613b1c565b9050919050565b7f596f7520617265206265696e67206772656564792e20457863656564696e672060008201527f4d61782057616c6c65742e000000000000000000000000000000000000000000602082015250565b6000613bbb602b83613277565b9150613bc682613b5f565b604082019050919050565b60006020820190508181036000830152613bea81613bae565b9050919050565b7f536c6f7720646f776e2062756464792e2e2e74686572652069732061206d617860008201527f207472616e73616374696f6e0000000000000000000000000000000000000000602082015250565b6000613c4d602c83613277565b9150613c5882613bf1565b604082019050919050565b60006020820190508181036000830152613c7c81613c40565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613cbd82613238565b9150613cc883613238565b925082821015613cdb57613cda613c83565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613d538161335e565b92915050565b600060208284031215613d6f57613d6e613327565b5b6000613d7d84828501613d44565b91505092915050565b6000819050919050565b6000613dab613da6613da184613d86565b61342c565b613238565b9050919050565b613dbb81613d90565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613df68161334c565b82525050565b6000613e088383613ded565b60208301905092915050565b6000602082019050919050565b6000613e2c82613dc1565b613e368185613dcc565b9350613e4183613ddd565b8060005b83811015613e72578151613e598882613dfc565b9750613e6483613e14565b925050600181019050613e45565b5085935050505092915050565b600060a082019050613e946000830188613242565b613ea16020830187613db2565b8181036040830152613eb38186613e21565b9050613ec26060830185613599565b613ecf6080830184613242565b9695505050505050565b6000613ee482613238565b9150613eef83613238565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613f2457613f23613c83565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613f65601b83613277565b9150613f7082613f2f565b602082019050919050565b60006020820190508181036000830152613f9481613f58565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613fd582613238565b9150613fe083613238565b925082613ff057613fef613f9b565b5b828204905092915050565b600061400682613238565b915061401183613238565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561404a57614049613c83565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006140b1602183613277565b91506140bc82614055565b604082019050919050565b600060208201905081810360008301526140e0816140a4565b9050919050565b60006140f282613458565b9050919050565b614102816140e7565b82525050565b600060c08201905061411d6000830189613599565b61412a6020830188613242565b6141376040830187613db2565b6141446060830186613db2565b61415160808301856140f9565b61415e60a0830184613242565b979650505050505050565b6000815190506141788161338a565b92915050565b60008060006060848603121561419757614196613327565b5b60006141a586828701614169565b93505060206141b686828701614169565b92505060406141c786828701614169565b9150509250925092565b60006080820190506141e66000830187613db2565b81810360208301526141f88186613e21565b905061420760408301856140f9565b6142146060830184613242565b9594505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122019ef2f0ddb2b35eb5bba498523b7e3da17eca755b58c4f06f6bc438a9db174d164736f6c634300080f0033
Deployed Bytecode Sourcemap
11453:13365:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12468:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12283:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14335:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15176:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12360:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13466:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14612:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12029:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15347:312;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12213:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23895:265;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12081:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14521:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13312:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13514:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22072:245;;;;;;;;;;;;;:::i;:::-;;24695:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24322:76;;;;;;;;;;;;;:::i;:::-;;12432:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11969:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14715:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5503:148;;;;;;;;;;;;;:::i;:::-;;5289:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13587:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14426:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24531:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12318:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16738:205;;;;;;;;;;;;;:::i;:::-;;14846:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11907:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15667:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12396:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12248:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15023:145;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24168:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5663:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22325:247;;;;;;;;;;;;;:::i;:::-;;19715:221;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12869:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12468:35;;;;:::o;12283:28::-;;;;:::o;14335:83::-;14372:13;14405:5;;;;;;;;;;;;;;;;;14398:12;;14335:83;:::o;15176:163::-;15253:4;15270:39;15279:12;:10;:12::i;:::-;15293:7;15302:6;15270:8;:39::i;:::-;15327:4;15320:11;;15176:163;;;;:::o;12360:28::-;;;;:::o;13466:41::-;;;;;;;;;;;;;:::o;14612:95::-;14665:7;14692;;14685:14;;14612:95;:::o;12029:40::-;;;;:::o;15347:312::-;15447:4;15464:36;15474:6;15482:9;15493:6;15464:9;:36::i;:::-;15511:118;15520:6;15527:12;:10;:12::i;:::-;15540:88;15578:6;15540:88;;;;;;;;;;;;;;;;;:11;:19;15552:6;15540:19;;;;;;;;;;;;;;;:33;15560:12;:10;:12::i;:::-;15540:33;;;;;;;;;;;;;;;;:37;;:88;;;;;:::i;:::-;15511:8;:118::i;:::-;15647:4;15640:11;;15347:312;;;;;:::o;12213:27::-;;;;:::o;23895:265::-;23992:14;;;;;;;;;;;23976:30;;:12;:10;:12::i;:::-;:30;;;23968:39;;;;;;24044:16;24056:3;24044:7;;:11;;:16;;;;:::i;:::-;24026:15;:34;24018:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;24137:15;24118:16;:34;;;;23895:265;:::o;12081:41::-;;;;:::o;14521:83::-;14562:5;11713:1;14580:16;;14521:83;:::o;13312:81::-;;;;;;;;;;;;;:::o;13514:28::-;;;;;;;;;;;;;:::o;22072:245::-;22138:14;;;;;;;;;;;22122:30;;:12;:10;:12::i;:::-;:30;;;22114:39;;;;;;22164:23;22190:24;22208:4;22190:9;:24::i;:::-;22164:50;;22247:1;22229:15;:19;22225:85;;;22265:33;22282:15;22265:16;:33::i;:::-;22225:85;22103:214;22072:245::o;24695:118::-;5426:12;:10;:12::i;:::-;5416:22;;:6;;;;;;;;;;:22;;;5408:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24797:8:::1;24779:15;;:26;;;;;;;;;;;;;;;;;;24695:118:::0;:::o;24322:76::-;5426:12;:10;:12::i;:::-;5416:22;;:6;;;;;;;;;;:22;;;5408:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24386:4:::1;24375:8;;:15;;;;;;;;;;;;;;;;;;24322:76::o:0;12432:29::-;;;;:::o;11969:48::-;;;;:::o;14715:119::-;14781:7;14808:9;:18;14818:7;14808:18;;;;;;;;;;;;;;;;14801:25;;14715:119;;;:::o;5503:148::-;5426:12;:10;:12::i;:::-;5416:22;;:6;;;;;;;;;;:22;;;5408:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5610:1:::1;5573:40;;5594:6;::::0;::::1;;;;;;;;5573:40;;;;;;;;;;;;5641:1;5624:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5503:148::o:0;5289:79::-;5327:7;5354:6;;;;;;;;;;;5347:13;;5289:79;:::o;13587:28::-;;;;;;;;;;;;;:::o;14426:87::-;14465:13;14498:7;;;;;;;;;;;;;;;;;14491:14;;14426:87;:::o;24531:156::-;24621:14;;;;;;;;;;;24605:30;;:12;:10;:12::i;:::-;:30;;;24597:39;;;;;;24667:12;24647:17;:32;;;;24531:156;:::o;12318:33::-;;;;:::o;16738:205::-;16812:14;;;;;;;;;;;16796:30;;:12;:10;:12::i;:::-;:30;;;16788:39;;;;;;16856:1;16838:15;:19;;;;16880:1;16868:9;:13;;;;16903:1;16892:8;:12;;;;16932:1;16915:14;:18;;;;16738:205::o;14846:169::-;14926:4;14943:42;14953:12;:10;:12::i;:::-;14967:9;14978:6;14943:9;:42::i;:::-;15003:4;14996:11;;14846:169;;;;:::o;11907:41::-;;;;:::o;15667:91::-;15711:7;15738:12;;15731:19;;15667:91;:::o;12396:29::-;;;;:::o;12248:28::-;;;;:::o;15023:145::-;15106:7;15133:11;:18;15145:5;15133:18;;;;;;;;;;;;;;;:27;15152:7;15133:27;;;;;;;;;;;;;;;;15126:34;;15023:145;;;;:::o;24168:146::-;24256:14;;;;;;;;;;;24240:30;;:12;:10;:12::i;:::-;:30;;;24232:39;;;;;;24295:11;24282:10;:24;;;;24168:146;:::o;5663:201::-;5426:12;:10;:12::i;:::-;5416:22;;:6;;;;;;;;;;:22;;;5408:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5772:1:::1;5752:22;;:8;:22;;::::0;5744:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;5828:28;5847:8;5828:18;:28::i;:::-;5663:201:::0;:::o;22325:247::-;22391:14;;;;;;;;;;;22375:30;;:12;:10;:12::i;:::-;:30;;;22367:39;;;;;;22417:26;22446:21;22417:50;;22503:1;22482:18;:22;22478:87;;;22521:32;22534:18;22521:12;:32::i;:::-;22478:87;22356:216;22325:247::o;19715:221::-;19804:14;19786;:32;;19778:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;19877:14;;;;;;;;;;;19861:30;;:12;:10;:12::i;:::-;:30;;;19853:39;;;;;;19914:14;19903:8;:25;;;;19715:221;:::o;12869:27::-;;;;:::o;391:98::-;444:7;471:10;464:17;;391:98;:::o;16951:335::-;17061:1;17044:19;;:5;:19;;;17036:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17142:1;17123:21;;:7;:21;;;17115:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17224:6;17194:11;:18;17206:5;17194:18;;;;;;;;;;;;;;;:27;17213:7;17194:27;;;;;;;;;;;;;;;:36;;;;17262:7;17246:32;;17255:5;17246:32;;;17271:6;17246:32;;;;;;:::i;:::-;;;;;;;;16951:335;;;:::o;17298:2409::-;17402:1;17386:18;;:4;:18;;;17378:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17479:1;17465:16;;:2;:16;;;17457:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;17549:1;17540:6;:10;17532:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;17616:4;:10;17621:4;17616:10;;;;;;;;;;;;;;;;;;;;;;;;;17615:11;:24;;;;;17631:4;:8;17636:2;17631:8;;;;;;;;;;;;;;;;;;;;;;;;;17630:9;17615:24;17607:33;;;;;;17653:12;17668:4;17653:19;;17697:7;:5;:7::i;:::-;17689:15;;:4;:15;;;;:32;;;;;17714:7;:5;:7::i;:::-;17708:13;;:2;:13;;;;17689:32;:57;;;;;17741:4;17725:21;;:4;:21;;;;17689:57;:80;;;;;17764:4;17750:19;;:2;:19;;;;17689:80;17685:1817;;;17800:13;;;;;;;;;;;17792:21;;:4;:21;;;:55;;;;;17831:15;;;;;;;;;;;17817:30;;:2;:30;;;;17792:55;:115;;;;;17854:18;:24;17873:4;17854:24;;;;;;;;;;;;;;;;;;;;;;;;;17853:25;:52;;;;17883:18;:22;17902:2;17883:22;;;;;;;;;;;;;;;;;;;;;;;;;17882:23;17853:52;17792:115;17788:351;;;17965:16;;17936:25;17954:6;17936:13;17946:2;17936:9;:13::i;:::-;:17;;:25;;;;:::i;:::-;:45;;17928:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;18066:8;;18056:6;:18;;18048:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;17788:351;18181:13;;;;;;;;;;;18173:21;;:4;:21;;;:55;;;;;18212:15;;;;;;;;;;;18198:30;;:2;:30;;;;18173:55;:68;;;;;18233:4;:8;18238:2;18233:8;;;;;;;;;;;;;;;;;;;;;;;;;18232:9;18173:68;:83;;;;;18246:4;:10;18251:4;18246:10;;;;;;;;;;;;;;;;;;;;;;;;;18245:11;18173:83;18169:273;;;18288:8;;18277;:19;;;;18327:9;;18315;:21;;;;18367:9;;18355;:21;;;;18412:14;;18395;:31;;;;18169:273;18484:13;;;;;;;;;;;18478:19;;:2;:19;;;:55;;;;;18517:15;;;;;;;;;;;18501:32;;:4;:32;;;;18478:55;:68;;;;;18538:4;:8;18543:2;18538:8;;;;;;;;;;;;;;;;;;;;;;;;;18537:9;18478:68;:83;;;;;18551:4;:10;18556:4;18551:10;;;;;;;;;;;;;;;;;;;;;;;;;18550:11;18478:83;18474:277;;;18593:9;;18582:8;:20;;;;18633:10;;18621:9;:22;;;;18674:10;;18662:9;:22;;;;18720:15;;18703:14;:32;;;;18474:277;18783:8;;;;;;;;;;;18782:9;:34;;;;;18803:13;;;;;;;;;;;18795:21;;:4;:21;;;;18782:34;18778:713;;;18839:28;18870:24;18888:4;18870:9;:24::i;:::-;18839:55;;18942:10;;18919:20;:33;18915:118;;;18977:36;18992:20;18977:14;:36::i;:::-;18915:118;19053:26;19082:21;19053:50;;19141:8;;;;;;;;;;;19140:9;:37;;;;;19175:1;19154:18;:22;19140:37;19136:320;;;19202:35;19215:21;19202:12;:35::i;:::-;19136:320;;;19267:8;;;;;;;;;;;:52;;;;;19301:17;;19280:18;:38;19267:52;19263:193;;;19348:17;19369:25;19392:1;19369:18;:22;;:25;;;;:::i;:::-;19348:47;;19418:18;19426:9;19418:7;:18::i;:::-;19321:135;19263:193;19136:320;18818:673;;18778:713;17685:1817;19518:18;:24;19537:4;19518:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;19546:18;:22;19565:2;19546:22;;;;;;;;;;;;;;;;;;;;;;;;;19518:50;19514:98;;;19595:5;19585:15;;19514:98;19632:41;19647:4;19653:2;19657:6;19665:7;19632:14;:41::i;:::-;19684:15;:13;:15::i;:::-;17367:2340;17298:2409;;;:::o;1528:190::-;1614:7;1647:1;1642;:6;;1650:12;1634:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1674:9;1690:1;1686;:5;;;;:::i;:::-;1674:17;;1709:1;1702:8;;;1528:190;;;;;:::o;1980:132::-;2038:7;2065:39;2069:1;2072;2065:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2058:46;;1980:132;;;;:::o;19944:404::-;13664:4;13653:8;;:15;;;;;;;;;;;;;;;;;;20019:21:::1;20057:1;20043:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20019:40;;20088:4;20070;20075:1;20070:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;20114:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20104:4;20109:1;20104:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;20147:62;20164:4;20179:15;;;;;;;;;;;20197:11;20147:8;:62::i;:::-;20220:15;;;;;;;;;;;:66;;;20287:11;20300:1;20303:4;20317;20324:15;20220:120;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;20008:340;13702:5:::0;13691:8;;:16;;;;;;;;;;;;;;;;;;19944:404;:::o;5872:191::-;5946:16;5965:6;;;;;;;;;;;5946:25;;5991:8;5982:6;;:17;;;;;;;;;;;;;;;;;;6046:8;6015:40;;6036:8;6015:40;;;;;;;;;;;;5935:128;5872:191;:::o;21907:157::-;21964:14;;;;;;;;;;;:23;;:40;21988:15;22001:1;21989:6;21988:12;;:15;;;;:::i;:::-;21964:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22015:15;;;;;;;;;;;:24;;:41;22040:15;22053:1;22041:6;22040:12;;:15;;;;:::i;:::-;22015:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21907:157;:::o;1197:179::-;1255:7;1275:9;1291:1;1287;:5;;;;:::i;:::-;1275:17;;1316:1;1311;:6;;1303:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1367:1;1360:8;;;1197:179;;;;:::o;21343:556::-;13664:4;13653:8;;:15;;;;;;;;;;;;;;;;;;21425:20:::1;21448:98;21487:58;21536:8;;21487:44;21516:14;;21487:24;21501:9;;21487;;:13;;:24;;;;:::i;:::-;:28;;:44;;;;:::i;:::-;:48;;:58;;;;:::i;:::-;21448:34;21461:20;21448:8;;:12;;:34;;;;:::i;:::-;:38;;:98;;;;:::i;:::-;21425:121;;21557:12;21573:19;21590:1;21573:12;:16;;:19;;;;:::i;:::-;21557:35;;21603:17;21623:30;21648:4;21623:20;:24;;:30;;;;:::i;:::-;21603:50;;21664:22;21689:21;21664:46;;21721:27;21738:9;21721:16;:27::i;:::-;21759:18;21780:70;21840:9;21781:53;21829:4;21782:41;21808:14;21782:21;:25;;:41;;;;:::i;:::-;21781:47;;:53;;;;:::i;:::-;21780:59;;:70;;;;:::i;:::-;21759:91;;21861:30;21874:4;21880:10;21861:12;:30::i;:::-;21414:485;;;;;13702:5:::0;13691:8;;:16;;;;;;;;;;;;;;;;;;21343:556;:::o;24406:117::-;24468:1;24459:6;:10;24455:61;;;24483:24;24500:6;24483:16;:24::i;:::-;24455:61;24406:117;:::o;22580:1266::-;22693:7;22688:60;;22722:14;:12;:14::i;:::-;22688:60;22768:24;;:::i;:::-;22816:30;22842:3;22816:21;22827:9;;22816:6;:10;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;22803:4;:10;;:43;;;;;22869:29;22894:3;22869:20;22880:8;;22869:6;:10;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;22857:4;:9;;:41;;;;;22922:30;22948:3;22922:21;22933:9;;22922:6;:10;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;22909:4;:10;;:43;;;;;22981:35;23012:3;22981:26;22992:14;;22981:6;:10;;:26;;;;:::i;:::-;:30;;:35;;;;:::i;:::-;22963:4;:15;;:53;;;;;23052:74;23116:4;:9;;;23052:59;23100:4;:10;;;23052:43;23079:4;:15;;;23052:22;23063:4;:10;;;23052:6;:10;;:22;;;;:::i;:::-;:26;;:43;;;;:::i;:::-;:47;;:59;;;;:::i;:::-;:63;;:74;;;;:::i;:::-;23037:4;:12;;:89;;;;;23139:21;23163:22;23174:4;:10;;;23163:6;:10;;:22;;;;:::i;:::-;23139:46;;23196:27;23204:6;23212:4;:10;;;23196:7;:27::i;:::-;23256:36;23278:13;23256:9;:17;23266:6;23256:17;;;;;;;;;;;;;;;;:21;;:36;;;;:::i;:::-;23236:9;:17;23246:6;23236:17;;;;;;;;;;;;;;;:56;;;;23326:38;23351:4;:12;;;23326:9;:20;23336:9;23326:20;;;;;;;;;;;;;;;;:24;;:38;;;;:::i;:::-;23303:9;:20;23313:9;23303:20;;;;;;;;;;;;;;;:61;;;;23402:92;23468:25;23483:4;:9;;;23468:4;:10;;;:14;;:25;;;;:::i;:::-;23402:61;23447:4;:15;;;23402:40;23431:4;:10;;;23402:9;:24;23420:4;23402:24;;;;;;;;;;;;;;;;:28;;:40;;;;:::i;:::-;:44;;:61;;;;:::i;:::-;:65;;:92;;;;:::i;:::-;23375:9;:24;23393:4;23375:24;;;;;;;;;;;;;;;:119;;;;23518:8;;;;;;;;;;;:35;;;;;23540:13;;;;;;;;;;;23530:23;;:6;:23;;;;23518:35;:62;;;;;23575:4;23557:23;;:6;:23;;;;23518:62;:100;;;;;23602:15;;;;;;;;;;;23584:34;;:6;:34;;;;23518:100;:173;;;;;23644:15;;;;;;;;;;;23623:37;;:9;:37;;;:67;;;;23677:13;;;;;;;;;;;23664:26;;:9;:26;;;23623:67;23518:173;23515:239;;;23708:34;23716:13;;;;;;;;;;;23731:4;:10;;;23708:7;:34::i;:::-;23515:239;23788:9;23771:41;;23780:6;23771:41;;;23799:4;:12;;;23771:41;;;;;;:::i;:::-;;;;;;;;23823:15;:13;:15::i;:::-;22677:1169;;22580:1266;;;;:::o;16521:209::-;16576:16;;16565:8;:27;;;;16615:17;;16603:9;:29;;;;16655:17;;16643:9;:29;;;;16700:22;;16683:14;:39;;;;16521:209::o;2120:189::-;2206:7;2238:1;2234;:5;2241:12;2226:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2265:9;2281:1;2277;:5;;;;:::i;:::-;2265:17;;2300:1;2293:8;;;2120:189;;;;;:::o;1726:246::-;1784:7;1813:1;1808;:6;1804:47;;1838:1;1831:8;;;;1804:47;1861:9;1877:1;1873;:5;;;;:::i;:::-;1861:17;;1906:1;1901;1897;:5;;;;:::i;:::-;:10;1889:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1963:1;1956:8;;;1726:246;;;;;:::o;1384:136::-;1442:7;1469:43;1473:1;1476;1469:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1462:50;;1384:136;;;;:::o;20878:455::-;20959:62;20976:4;20991:15;;;;;;;;;;;21009:11;20959:8;:62::i;:::-;21064:15;;;;;;;;;;;:31;;;21103:9;21136:4;21156:11;21182:1;21225;21268:14;;;;;;;;;;;21297:15;21064:261;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;20878:455;;:::o;20356:514::-;20477:21;20515:1;20501:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20477:40;;20538:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20528:4;20533:1;20528:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;20589:4;;;;;;;;;;;20571;20576:1;20571:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;20631:15;;;;;;;;;;;:66;;;20705:6;20727:1;20774:4;20793;;;;;;;;;;;20828:15;20631:223;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20406:464;20356:514;:::o;16104:405::-;16164:1;16151:9;;:14;:31;;;;;16181:1;16169:8;;:13;16151:31;:49;;;;;16199:1;16186:9;;:14;16151:49;:72;;;;;16222:1;16204:14;;:19;16151:72;16225:7;16147:85;16262:9;;16242:17;:29;;;;16301:8;;16282:16;:27;;;;16340:9;;16320:17;:29;;;;16385:14;;16360:22;:39;;;;16424:1;16412:9;:13;;;;16447:1;16436:8;:12;;;;16471:1;16459:9;:13;;;;16500:1;16483:14;:18;;;;16104:405;:::o;15766:330::-;15856:19;15866:8;15856:9;:19::i;:::-;15845:7;:30;;15836:40;;;;;;15909:32;15933:7;15909:9;:19;15919:8;15909:19;;;;;;;;;;;;;;;;:23;;:32;;;;:::i;:::-;15887:9;:19;15897:8;15887:19;;;;;;;;;;;;;;;:54;;;;15962:20;15974:7;15962;;:11;;:20;;;;:::i;:::-;15952:7;:30;;;;16008:25;16025:7;16008:12;;:16;;:25;;;;:::i;:::-;15993:12;:40;;;;16076:1;16049:39;;16058:8;16049:39;;;16080:7;16049:39;;;;;;:::i;:::-;;;;;;;;15766:330;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:307::-;790:1;800:113;814:6;811:1;808:13;800:113;;;899:1;894:3;890:11;884:18;880:1;875:3;871:11;864:39;836:2;833:1;829:10;824:15;;800:113;;;931:6;928:1;925:13;922:101;;;1011:1;1002:6;997:3;993:16;986:27;922:101;771:258;722:307;;;:::o;1035:102::-;1076:6;1127:2;1123:7;1118:2;1111:5;1107:14;1103:28;1093:38;;1035:102;;;:::o;1143:364::-;1231:3;1259:39;1292:5;1259:39;:::i;:::-;1314:71;1378:6;1373:3;1314:71;:::i;:::-;1307:78;;1394:52;1439:6;1434:3;1427:4;1420:5;1416:16;1394:52;:::i;:::-;1471:29;1493:6;1471:29;:::i;:::-;1466:3;1462:39;1455:46;;1235:272;1143:364;;;;:::o;1513:313::-;1626:4;1664:2;1653:9;1649:18;1641:26;;1713:9;1707:4;1703:20;1699:1;1688:9;1684:17;1677:47;1741:78;1814:4;1805:6;1741:78;:::i;:::-;1733:86;;1513:313;;;;:::o;1913:117::-;2022:1;2019;2012:12;2159:126;2196:7;2236:42;2229:5;2225:54;2214:65;;2159:126;;;:::o;2291:96::-;2328:7;2357:24;2375:5;2357:24;:::i;:::-;2346:35;;2291:96;;;:::o;2393:122::-;2466:24;2484:5;2466:24;:::i;:::-;2459:5;2456:35;2446:63;;2505:1;2502;2495:12;2446:63;2393:122;:::o;2521:139::-;2567:5;2605:6;2592:20;2583:29;;2621:33;2648:5;2621:33;:::i;:::-;2521:139;;;;:::o;2666:122::-;2739:24;2757:5;2739:24;:::i;:::-;2732:5;2729:35;2719:63;;2778:1;2775;2768:12;2719:63;2666:122;:::o;2794:139::-;2840:5;2878:6;2865:20;2856:29;;2894:33;2921:5;2894:33;:::i;:::-;2794:139;;;;:::o;2939:474::-;3007:6;3015;3064:2;3052:9;3043:7;3039:23;3035:32;3032:119;;;3070:79;;:::i;:::-;3032:119;3190:1;3215:53;3260:7;3251:6;3240:9;3236:22;3215:53;:::i;:::-;3205:63;;3161:117;3317:2;3343:53;3388:7;3379:6;3368:9;3364:22;3343:53;:::i;:::-;3333:63;;3288:118;2939:474;;;;;:::o;3419:90::-;3453:7;3496:5;3489:13;3482:21;3471:32;;3419:90;;;:::o;3515:109::-;3596:21;3611:5;3596:21;:::i;:::-;3591:3;3584:34;3515:109;;:::o;3630:210::-;3717:4;3755:2;3744:9;3740:18;3732:26;;3768:65;3830:1;3819:9;3815:17;3806:6;3768:65;:::i;:::-;3630:210;;;;:::o;3846:60::-;3874:3;3895:5;3888:12;;3846:60;;;:::o;3912:142::-;3962:9;3995:53;4013:34;4022:24;4040:5;4022:24;:::i;:::-;4013:34;:::i;:::-;3995:53;:::i;:::-;3982:66;;3912:142;;;:::o;4060:126::-;4110:9;4143:37;4174:5;4143:37;:::i;:::-;4130:50;;4060:126;;;:::o;4192:152::-;4268:9;4301:37;4332:5;4301:37;:::i;:::-;4288:50;;4192:152;;;:::o;4350:183::-;4463:63;4520:5;4463:63;:::i;:::-;4458:3;4451:76;4350:183;;:::o;4539:274::-;4658:4;4696:2;4685:9;4681:18;4673:26;;4709:97;4803:1;4792:9;4788:17;4779:6;4709:97;:::i;:::-;4539:274;;;;:::o;4819:619::-;4896:6;4904;4912;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;5214:2;5240:53;5285:7;5276:6;5265:9;5261:22;5240:53;:::i;:::-;5230:63;;5185:118;5342:2;5368:53;5413:7;5404:6;5393:9;5389:22;5368:53;:::i;:::-;5358:63;;5313:118;4819:619;;;;;:::o;5444:329::-;5503:6;5552:2;5540:9;5531:7;5527:23;5523:32;5520:119;;;5558:79;;:::i;:::-;5520:119;5678:1;5703:53;5748:7;5739:6;5728:9;5724:22;5703:53;:::i;:::-;5693:63;;5649:117;5444:329;;;;:::o;5779:86::-;5814:7;5854:4;5847:5;5843:16;5832:27;;5779:86;;;:::o;5871:112::-;5954:22;5970:5;5954:22;:::i;:::-;5949:3;5942:35;5871:112;;:::o;5989:214::-;6078:4;6116:2;6105:9;6101:18;6093:26;;6129:67;6193:1;6182:9;6178:17;6169:6;6129:67;:::i;:::-;5989:214;;;;:::o;6209:104::-;6254:7;6283:24;6301:5;6283:24;:::i;:::-;6272:35;;6209:104;;;:::o;6319:142::-;6422:32;6448:5;6422:32;:::i;:::-;6417:3;6410:45;6319:142;;:::o;6467:254::-;6576:4;6614:2;6603:9;6599:18;6591:26;;6627:87;6711:1;6700:9;6696:17;6687:6;6627:87;:::i;:::-;6467:254;;;;:::o;6727:118::-;6814:24;6832:5;6814:24;:::i;:::-;6809:3;6802:37;6727:118;;:::o;6851:222::-;6944:4;6982:2;6971:9;6967:18;6959:26;;6995:71;7063:1;7052:9;7048:17;7039:6;6995:71;:::i;:::-;6851:222;;;;:::o;7079:138::-;7160:32;7186:5;7160:32;:::i;:::-;7153:5;7150:43;7140:71;;7207:1;7204;7197:12;7140:71;7079:138;:::o;7223:155::-;7277:5;7315:6;7302:20;7293:29;;7331:41;7366:5;7331:41;:::i;:::-;7223:155;;;;:::o;7384:345::-;7451:6;7500:2;7488:9;7479:7;7475:23;7471:32;7468:119;;;7506:79;;:::i;:::-;7468:119;7626:1;7651:61;7704:7;7695:6;7684:9;7680:22;7651:61;:::i;:::-;7641:71;;7597:125;7384:345;;;;:::o;7735:329::-;7794:6;7843:2;7831:9;7822:7;7818:23;7814:32;7811:119;;;7849:79;;:::i;:::-;7811:119;7969:1;7994:53;8039:7;8030:6;8019:9;8015:22;7994:53;:::i;:::-;7984:63;;7940:117;7735:329;;;;:::o;8070:474::-;8138:6;8146;8195:2;8183:9;8174:7;8170:23;8166:32;8163:119;;;8201:79;;:::i;:::-;8163:119;8321:1;8346:53;8391:7;8382:6;8371:9;8367:22;8346:53;:::i;:::-;8336:63;;8292:117;8448:2;8474:53;8519:7;8510:6;8499:9;8495:22;8474:53;:::i;:::-;8464:63;;8419:118;8070:474;;;;;:::o;8550:229::-;8690:34;8686:1;8678:6;8674:14;8667:58;8759:12;8754:2;8746:6;8742:15;8735:37;8550:229;:::o;8785:366::-;8927:3;8948:67;9012:2;9007:3;8948:67;:::i;:::-;8941:74;;9024:93;9113:3;9024:93;:::i;:::-;9142:2;9137:3;9133:12;9126:19;;8785:366;;;:::o;9157:419::-;9323:4;9361:2;9350:9;9346:18;9338:26;;9410:9;9404:4;9400:20;9396:1;9385:9;9381:17;9374:47;9438:131;9564:4;9438:131;:::i;:::-;9430:139;;9157:419;;;:::o;9582:182::-;9722:34;9718:1;9710:6;9706:14;9699:58;9582:182;:::o;9770:366::-;9912:3;9933:67;9997:2;9992:3;9933:67;:::i;:::-;9926:74;;10009:93;10098:3;10009:93;:::i;:::-;10127:2;10122:3;10118:12;10111:19;;9770:366;;;:::o;10142:419::-;10308:4;10346:2;10335:9;10331:18;10323:26;;10395:9;10389:4;10385:20;10381:1;10370:9;10366:17;10359:47;10423:131;10549:4;10423:131;:::i;:::-;10415:139;;10142:419;;;:::o;10567:225::-;10707:34;10703:1;10695:6;10691:14;10684:58;10776:8;10771:2;10763:6;10759:15;10752:33;10567:225;:::o;10798:366::-;10940:3;10961:67;11025:2;11020:3;10961:67;:::i;:::-;10954:74;;11037:93;11126:3;11037:93;:::i;:::-;11155:2;11150:3;11146:12;11139:19;;10798:366;;;:::o;11170:419::-;11336:4;11374:2;11363:9;11359:18;11351:26;;11423:9;11417:4;11413:20;11409:1;11398:9;11394:17;11387:47;11451:131;11577:4;11451:131;:::i;:::-;11443:139;;11170:419;;;:::o;11595:170::-;11735:22;11731:1;11723:6;11719:14;11712:46;11595:170;:::o;11771:366::-;11913:3;11934:67;11998:2;11993:3;11934:67;:::i;:::-;11927:74;;12010:93;12099:3;12010:93;:::i;:::-;12128:2;12123:3;12119:12;12112:19;;11771:366;;;:::o;12143:419::-;12309:4;12347:2;12336:9;12332:18;12324:26;;12396:9;12390:4;12386:20;12382:1;12371:9;12367:17;12360:47;12424:131;12550:4;12424:131;:::i;:::-;12416:139;;12143:419;;;:::o;12568:223::-;12708:34;12704:1;12696:6;12692:14;12685:58;12777:6;12772:2;12764:6;12760:15;12753:31;12568:223;:::o;12797:366::-;12939:3;12960:67;13024:2;13019:3;12960:67;:::i;:::-;12953:74;;13036:93;13125:3;13036:93;:::i;:::-;13154:2;13149:3;13145:12;13138:19;;12797:366;;;:::o;13169:419::-;13335:4;13373:2;13362:9;13358:18;13350:26;;13422:9;13416:4;13412:20;13408:1;13397:9;13393:17;13386:47;13450:131;13576:4;13450:131;:::i;:::-;13442:139;;13169:419;;;:::o;13594:221::-;13734:34;13730:1;13722:6;13718:14;13711:58;13803:4;13798:2;13790:6;13786:15;13779:29;13594:221;:::o;13821:366::-;13963:3;13984:67;14048:2;14043:3;13984:67;:::i;:::-;13977:74;;14060:93;14149:3;14060:93;:::i;:::-;14178:2;14173:3;14169:12;14162:19;;13821:366;;;:::o;14193:419::-;14359:4;14397:2;14386:9;14382:18;14374:26;;14446:9;14440:4;14436:20;14432:1;14421:9;14417:17;14410:47;14474:131;14600:4;14474:131;:::i;:::-;14466:139;;14193:419;;;:::o;14618:224::-;14758:34;14754:1;14746:6;14742:14;14735:58;14827:7;14822:2;14814:6;14810:15;14803:32;14618:224;:::o;14848:366::-;14990:3;15011:67;15075:2;15070:3;15011:67;:::i;:::-;15004:74;;15087:93;15176:3;15087:93;:::i;:::-;15205:2;15200:3;15196:12;15189:19;;14848:366;;;:::o;15220:419::-;15386:4;15424:2;15413:9;15409:18;15401:26;;15473:9;15467:4;15463:20;15459:1;15448:9;15444:17;15437:47;15501:131;15627:4;15501:131;:::i;:::-;15493:139;;15220:419;;;:::o;15645:222::-;15785:34;15781:1;15773:6;15769:14;15762:58;15854:5;15849:2;15841:6;15837:15;15830:30;15645:222;:::o;15873:366::-;16015:3;16036:67;16100:2;16095:3;16036:67;:::i;:::-;16029:74;;16112:93;16201:3;16112:93;:::i;:::-;16230:2;16225:3;16221:12;16214:19;;15873:366;;;:::o;16245:419::-;16411:4;16449:2;16438:9;16434:18;16426:26;;16498:9;16492:4;16488:20;16484:1;16473:9;16469:17;16462:47;16526:131;16652:4;16526:131;:::i;:::-;16518:139;;16245:419;;;:::o;16670:228::-;16810:34;16806:1;16798:6;16794:14;16787:58;16879:11;16874:2;16866:6;16862:15;16855:36;16670:228;:::o;16904:366::-;17046:3;17067:67;17131:2;17126:3;17067:67;:::i;:::-;17060:74;;17143:93;17232:3;17143:93;:::i;:::-;17261:2;17256:3;17252:12;17245:19;;16904:366;;;:::o;17276:419::-;17442:4;17480:2;17469:9;17465:18;17457:26;;17529:9;17523:4;17519:20;17515:1;17504:9;17500:17;17493:47;17557:131;17683:4;17557:131;:::i;:::-;17549:139;;17276:419;;;:::o;17701:230::-;17841:34;17837:1;17829:6;17825:14;17818:58;17910:13;17905:2;17897:6;17893:15;17886:38;17701:230;:::o;17937:366::-;18079:3;18100:67;18164:2;18159:3;18100:67;:::i;:::-;18093:74;;18176:93;18265:3;18176:93;:::i;:::-;18294:2;18289:3;18285:12;18278:19;;17937:366;;;:::o;18309:419::-;18475:4;18513:2;18502:9;18498:18;18490:26;;18562:9;18556:4;18552:20;18548:1;18537:9;18533:17;18526:47;18590:131;18716:4;18590:131;:::i;:::-;18582:139;;18309:419;;;:::o;18734:231::-;18874:34;18870:1;18862:6;18858:14;18851:58;18943:14;18938:2;18930:6;18926:15;18919:39;18734:231;:::o;18971:366::-;19113:3;19134:67;19198:2;19193:3;19134:67;:::i;:::-;19127:74;;19210:93;19299:3;19210:93;:::i;:::-;19328:2;19323:3;19319:12;19312:19;;18971:366;;;:::o;19343:419::-;19509:4;19547:2;19536:9;19532:18;19524:26;;19596:9;19590:4;19586:20;19582:1;19571:9;19567:17;19560:47;19624:131;19750:4;19624:131;:::i;:::-;19616:139;;19343:419;;;:::o;19768:180::-;19816:77;19813:1;19806:88;19913:4;19910:1;19903:15;19937:4;19934:1;19927:15;19954:191;19994:4;20014:20;20032:1;20014:20;:::i;:::-;20009:25;;20048:20;20066:1;20048:20;:::i;:::-;20043:25;;20087:1;20084;20081:8;20078:34;;;20092:18;;:::i;:::-;20078:34;20137:1;20134;20130:9;20122:17;;19954:191;;;;:::o;20151:180::-;20199:77;20196:1;20189:88;20296:4;20293:1;20286:15;20320:4;20317:1;20310:15;20337:180;20385:77;20382:1;20375:88;20482:4;20479:1;20472:15;20506:4;20503:1;20496:15;20523:143;20580:5;20611:6;20605:13;20596:22;;20627:33;20654:5;20627:33;:::i;:::-;20523:143;;;;:::o;20672:351::-;20742:6;20791:2;20779:9;20770:7;20766:23;20762:32;20759:119;;;20797:79;;:::i;:::-;20759:119;20917:1;20942:64;20998:7;20989:6;20978:9;20974:22;20942:64;:::i;:::-;20932:74;;20888:128;20672:351;;;;:::o;21029:85::-;21074:7;21103:5;21092:16;;21029:85;;;:::o;21120:158::-;21178:9;21211:61;21229:42;21238:32;21264:5;21238:32;:::i;:::-;21229:42;:::i;:::-;21211:61;:::i;:::-;21198:74;;21120:158;;;:::o;21284:147::-;21379:45;21418:5;21379:45;:::i;:::-;21374:3;21367:58;21284:147;;:::o;21437:114::-;21504:6;21538:5;21532:12;21522:22;;21437:114;;;:::o;21557:184::-;21656:11;21690:6;21685:3;21678:19;21730:4;21725:3;21721:14;21706:29;;21557:184;;;;:::o;21747:132::-;21814:4;21837:3;21829:11;;21867:4;21862:3;21858:14;21850:22;;21747:132;;;:::o;21885:108::-;21962:24;21980:5;21962:24;:::i;:::-;21957:3;21950:37;21885:108;;:::o;21999:179::-;22068:10;22089:46;22131:3;22123:6;22089:46;:::i;:::-;22167:4;22162:3;22158:14;22144:28;;21999:179;;;;:::o;22184:113::-;22254:4;22286;22281:3;22277:14;22269:22;;22184:113;;;:::o;22333:732::-;22452:3;22481:54;22529:5;22481:54;:::i;:::-;22551:86;22630:6;22625:3;22551:86;:::i;:::-;22544:93;;22661:56;22711:5;22661:56;:::i;:::-;22740:7;22771:1;22756:284;22781:6;22778:1;22775:13;22756:284;;;22857:6;22851:13;22884:63;22943:3;22928:13;22884:63;:::i;:::-;22877:70;;22970:60;23023:6;22970:60;:::i;:::-;22960:70;;22816:224;22803:1;22800;22796:9;22791:14;;22756:284;;;22760:14;23056:3;23049:10;;22457:608;;;22333:732;;;;:::o;23071:831::-;23334:4;23372:3;23361:9;23357:19;23349:27;;23386:71;23454:1;23443:9;23439:17;23430:6;23386:71;:::i;:::-;23467:80;23543:2;23532:9;23528:18;23519:6;23467:80;:::i;:::-;23594:9;23588:4;23584:20;23579:2;23568:9;23564:18;23557:48;23622:108;23725:4;23716:6;23622:108;:::i;:::-;23614:116;;23740:72;23808:2;23797:9;23793:18;23784:6;23740:72;:::i;:::-;23822:73;23890:3;23879:9;23875:19;23866:6;23822:73;:::i;:::-;23071:831;;;;;;;;:::o;23908:305::-;23948:3;23967:20;23985:1;23967:20;:::i;:::-;23962:25;;24001:20;24019:1;24001:20;:::i;:::-;23996:25;;24155:1;24087:66;24083:74;24080:1;24077:81;24074:107;;;24161:18;;:::i;:::-;24074:107;24205:1;24202;24198:9;24191:16;;23908:305;;;;:::o;24219:177::-;24359:29;24355:1;24347:6;24343:14;24336:53;24219:177;:::o;24402:366::-;24544:3;24565:67;24629:2;24624:3;24565:67;:::i;:::-;24558:74;;24641:93;24730:3;24641:93;:::i;:::-;24759:2;24754:3;24750:12;24743:19;;24402:366;;;:::o;24774:419::-;24940:4;24978:2;24967:9;24963:18;24955:26;;25027:9;25021:4;25017:20;25013:1;25002:9;24998:17;24991:47;25055:131;25181:4;25055:131;:::i;:::-;25047:139;;24774:419;;;:::o;25199:180::-;25247:77;25244:1;25237:88;25344:4;25341:1;25334:15;25368:4;25365:1;25358:15;25385:185;25425:1;25442:20;25460:1;25442:20;:::i;:::-;25437:25;;25476:20;25494:1;25476:20;:::i;:::-;25471:25;;25515:1;25505:35;;25520:18;;:::i;:::-;25505:35;25562:1;25559;25555:9;25550:14;;25385:185;;;;:::o;25576:348::-;25616:7;25639:20;25657:1;25639:20;:::i;:::-;25634:25;;25673:20;25691:1;25673:20;:::i;:::-;25668:25;;25861:1;25793:66;25789:74;25786:1;25783:81;25778:1;25771:9;25764:17;25760:105;25757:131;;;25868:18;;:::i;:::-;25757:131;25916:1;25913;25909:9;25898:20;;25576:348;;;;:::o;25930:220::-;26070:34;26066:1;26058:6;26054:14;26047:58;26139:3;26134:2;26126:6;26122:15;26115:28;25930:220;:::o;26156:366::-;26298:3;26319:67;26383:2;26378:3;26319:67;:::i;:::-;26312:74;;26395:93;26484:3;26395:93;:::i;:::-;26513:2;26508:3;26504:12;26497:19;;26156:366;;;:::o;26528:419::-;26694:4;26732:2;26721:9;26717:18;26709:26;;26781:9;26775:4;26771:20;26767:1;26756:9;26752:17;26745:47;26809:131;26935:4;26809:131;:::i;:::-;26801:139;;26528:419;;;:::o;26953:134::-;27011:9;27044:37;27075:5;27044:37;:::i;:::-;27031:50;;26953:134;;;:::o;27093:147::-;27188:45;27227:5;27188:45;:::i;:::-;27183:3;27176:58;27093:147;;:::o;27246:823::-;27503:4;27541:3;27530:9;27526:19;27518:27;;27555:71;27623:1;27612:9;27608:17;27599:6;27555:71;:::i;:::-;27636:72;27704:2;27693:9;27689:18;27680:6;27636:72;:::i;:::-;27718:80;27794:2;27783:9;27779:18;27770:6;27718:80;:::i;:::-;27808;27884:2;27873:9;27869:18;27860:6;27808:80;:::i;:::-;27898:81;27974:3;27963:9;27959:19;27950:6;27898:81;:::i;:::-;27989:73;28057:3;28046:9;28042:19;28033:6;27989:73;:::i;:::-;27246:823;;;;;;;;;:::o;28075:143::-;28132:5;28163:6;28157:13;28148:22;;28179:33;28206:5;28179:33;:::i;:::-;28075:143;;;;:::o;28224:663::-;28312:6;28320;28328;28377:2;28365:9;28356:7;28352:23;28348:32;28345:119;;;28383:79;;:::i;:::-;28345:119;28503:1;28528:64;28584:7;28575:6;28564:9;28560:22;28528:64;:::i;:::-;28518:74;;28474:128;28641:2;28667:64;28723:7;28714:6;28703:9;28699:22;28667:64;:::i;:::-;28657:74;;28612:129;28780:2;28806:64;28862:7;28853:6;28842:9;28838:22;28806:64;:::i;:::-;28796:74;;28751:129;28224:663;;;;;:::o;28893:736::-;29136:4;29174:3;29163:9;29159:19;29151:27;;29188:79;29264:1;29253:9;29249:17;29240:6;29188:79;:::i;:::-;29314:9;29308:4;29304:20;29299:2;29288:9;29284:18;29277:48;29342:108;29445:4;29436:6;29342:108;:::i;:::-;29334:116;;29460:80;29536:2;29525:9;29521:18;29512:6;29460:80;:::i;:::-;29550:72;29618:2;29607:9;29603:18;29594:6;29550:72;:::i;:::-;28893:736;;;;;;;:::o
Swarm Source
ipfs://19ef2f0ddb2b35eb5bba498523b7e3da17eca755b58c4f06f6bc438a9db174d1
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.