Token Wednesday
Overview ERC20
Price
$0.00 @ 0.000000 ETH
Fully Diluted Market Cap
Total Supply:
9,953,268.913396 WD
Holders:
216 addresses
Transfers:
-
Contract:
Decimals:
18
[ Download CSV Export ]
[ Download CSV Export ]
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Wednesday
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Arbiscan.io on 2023-01-06 */ // Nevermore DeFi Built on Arbitrum pragma solidity ^0.6.12; interface IPancakeSwapFactory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IPancakeSwapPair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Mint(address indexed sender, uint amount0, uint amount1); event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function mint(address to) external returns (uint liquidity); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IPancakeSwapRouter{ 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); function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } //SPDX-License-Identifier: UNLICENSED pragma solidity 0.6.12; pragma experimental ABIEncoderV2; contract Context { // Empty internal constructor, to prevent people from mistakenly deploying // an instance of this contract, which should be used via inheritance. constructor() internal {} function _msgSender() internal view returns (address payable) { return msg.sender; } function _msgData() internal view returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } /* --------- Access Control --------- */ contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() internal { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). */ function _transferOwnership(address newOwner) internal { require( newOwner != address(0), "Ownable: new owner is the zero address" ); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } /* --------- safe math --------- */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract Wednesday is Context, Ownable { event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); using SafeMath for uint256; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; uint8 private _decimals; string private _symbol; string private _name; function getOwner() external view returns (address) { return owner(); } function decimals() external view returns (uint8) { return _decimals; } function symbol() external view returns (string memory) { return _symbol; } function name() external view returns (string memory) { return _name; } function totalSupply() external view returns (uint256) { return _totalSupply; } function balanceOf(address account) public view returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) external returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) external view returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) external returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "BEP20: transfer amount exceeds allowance" ) ); return true; } function increaseAllowance(address spender, uint256 addedValue) public returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue) ); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender].sub( subtractedValue, "BEP20: decreased allowance below zero" ) ); return true; } function burn(uint256 amount) external { _burn(msg.sender, amount); } function _mint(address account, uint256 amount) internal { require(account != address(0), "BEP20: mint to the zero address"); _totalSupply = _totalSupply.add(amount); _balances[account] = _balances[account].add(amount); emit Transfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal { require(account != address(0), "BEP20: burn from the zero address"); _balances[account] = _balances[account].sub( amount, "BEP20: burn amount exceeds balance" ); _totalSupply = _totalSupply.sub(amount); emit Transfer(account, address(0), amount); } function _approve( address owner, address spender, uint256 amount ) internal { require(owner != address(0), "BEP20: approve from the zero address"); require(spender != address(0), "BEP20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _burnFrom(address account, uint256 amount) internal { _burn(account, amount); _approve( account, _msgSender(), _allowances[account][_msgSender()].sub( amount, "BEP20: burn amount exceeds allowance" ) ); } ////////////////////////////////////////////// /* ----------- special features ----------- */ ////////////////////////////////////////////// event ExcludeFromFee(address user, bool isExlcude); event SetSellFee(Fees sellFees); event SetBuyFee(Fees buyFees); struct Fees { uint256 reward; uint256 operation; uint256 liquidity; uint256 poolfee; } /* --------- special address info --------- */ address public rewardAddress; address public operationAddress; address public poolAddress; address public burnAddress; /* --------- exchange info --------- */ IPancakeSwapRouter public PancakeSwapRouter; address public PancakeSwapV2Pair; bool inSwapAndLiquify; modifier lockTheSwap() { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } bool public swapAndLiquifyEnabled = true; /* --------- buyFees info --------- */ Fees public sellFees; Fees public buyFees; mapping(address => bool) isExcludeFromFee; /* --------- max tx info --------- */ uint public _maxTxAmount = 1e13 * 1e18; uint public numTokensSellToAddToLiquidity = 1e2 * 1e18; //////////////////////////////////////////////// /* --------- General Implementation --------- */ //////////////////////////////////////////////// constructor(address _RouterAddress) public { _name = "Wednesday"; _symbol = "WD"; _decimals = 18; _totalSupply = 1e7 * 1e18; /// initial supply 10.000.000 _balances[msg.sender] = _totalSupply; buyFees.reward = 10; buyFees.operation = 10; buyFees.liquidity = 0; buyFees.poolfee = 30; sellFees.reward = 10; sellFees.operation = 10; sellFees.liquidity = 0; sellFees.poolfee = 40; IPancakeSwapRouter _PancakeSwapRouter = IPancakeSwapRouter( _RouterAddress ); PancakeSwapRouter = _PancakeSwapRouter; PancakeSwapV2Pair = IPancakeSwapFactory(_PancakeSwapRouter.factory()) .createPair(address(this), _PancakeSwapRouter.WETH()); //MD vs USDT pair emit Transfer(address(0), msg.sender, _totalSupply); emit SetBuyFee(buyFees); emit SetSellFee(sellFees); } /* --------- set token parameters--------- */ function setInitialAddresses(address _RouterAddress) external onlyOwner { IPancakeSwapRouter _PancakeSwapRouter = IPancakeSwapRouter( _RouterAddress ); PancakeSwapRouter = _PancakeSwapRouter; PancakeSwapV2Pair = IPancakeSwapFactory(_PancakeSwapRouter.factory()) .createPair(address(this), _PancakeSwapRouter.WETH()); //MD vs USDT pair } function setFeeAddresses( address _rewardAddress, address _operationAddress, address _poolAddress ) external onlyOwner { rewardAddress = _rewardAddress; operationAddress = _operationAddress; poolAddress = _poolAddress; } function setMaxTxAmount(uint maxTxAmount) external onlyOwner { _maxTxAmount = maxTxAmount; } function setbuyFee( uint256 _rewardFee, uint256 _operationFee, uint256 _liquidityFee, uint256 _poolfee ) external onlyOwner { buyFees.reward = _rewardFee; buyFees.operation = _operationFee; buyFees.liquidity = _liquidityFee; buyFees.poolfee = _poolfee; emit SetBuyFee(buyFees); } function setsellFee( uint256 _rewardFee, uint256 _operationFee, uint256 _liquidityFee, uint256 _poolfee ) external onlyOwner { sellFees.reward = _rewardFee; sellFees.operation = _operationFee; sellFees.liquidity = _liquidityFee; sellFees.poolfee = _poolfee; emit SetSellFee(sellFees); } function getTotalSellFee() public view returns (uint) { return sellFees.reward + sellFees.operation + sellFees.liquidity + sellFees.poolfee; } function getTotalBuyFee() public view returns (uint) { return buyFees.reward + buyFees.operation + buyFees.liquidity + buyFees.poolfee; } /* --------- exclude address from buyFees--------- */ function excludeAddressFromFee(address user, bool _isExclude) external onlyOwner { isExcludeFromFee[user] = _isExclude; emit ExcludeFromFee(user, _isExclude); } /* --------- transfer --------- */ function _transfer( address sender, address recipient, uint256 amount ) internal { require(sender != address(0), "BEP20: transfer from the zero address"); require(recipient != address(0), "BEP20: transfer to the zero address"); // transfer if ( (sender == PancakeSwapV2Pair || recipient == PancakeSwapV2Pair) && !isExcludeFromFee[sender] ) require( _maxTxAmount >= amount, "BEP20: transfer amount exceeds max transfer amount" ); _balances[sender] = _balances[sender].sub( amount, "BEP20: transfer amount exceeds balance" ); uint recieveAmount = amount; uint256 contractTokenBalance = balanceOf(address(this)); if (contractTokenBalance >= _maxTxAmount) { contractTokenBalance = _maxTxAmount; } bool overMinTokenBalance = contractTokenBalance >= numTokensSellToAddToLiquidity; if ( overMinTokenBalance && !inSwapAndLiquify && sender != PancakeSwapV2Pair && swapAndLiquifyEnabled ) { contractTokenBalance = numTokensSellToAddToLiquidity; //add liquidity swapAndLiquify(contractTokenBalance); } if (!isExcludeFromFee[sender]) { if (sender == PancakeSwapV2Pair) { // buy fee recieveAmount = recieveAmount.mul(1000 - getTotalBuyFee()).div( 1000 ); _balances[rewardAddress] += amount .mul(buyFees.reward) .div(1000); _balances[operationAddress] += amount.mul(buyFees.operation).div( 1000 ); _balances[poolAddress] += amount.mul(buyFees.poolfee).div(1000); _balances[address(this)] += amount.mul(buyFees.liquidity).div( 1000 ); emit Transfer( sender, rewardAddress, amount.mul(buyFees.reward).div(1000) ); emit Transfer( sender, operationAddress, amount.mul(buyFees.operation).div(1000) ); emit Transfer( sender, poolAddress, amount.mul(buyFees.poolfee).div(1000) ); emit Transfer( sender, address(this), amount.mul(buyFees.liquidity).div(1000) ); } else if (recipient == PancakeSwapV2Pair) { // sell fee recieveAmount = recieveAmount.mul(1000 - getTotalSellFee()).div( 1000 ); _balances[rewardAddress] += amount .mul(sellFees.reward) .div(1000); _balances[operationAddress] += amount.mul(sellFees.operation).div( 1000 ); _balances[poolAddress] += amount.mul(sellFees.poolfee).div( 1000 ); _balances[address(this)] += amount.mul(sellFees.liquidity).div( 1000 ); emit Transfer( sender, rewardAddress, amount.mul(sellFees.reward).div(1000) ); emit Transfer( sender, operationAddress, amount.mul(sellFees.operation).div(1000) ); emit Transfer( sender, poolAddress, amount.mul(sellFees.poolfee).div(1000) ); emit Transfer( sender, address(this), amount.mul(sellFees.liquidity).div(1000) ); } } _balances[recipient] = _balances[recipient].add(recieveAmount); emit Transfer(sender, recipient, recieveAmount); } function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap { // split the contract balance into halves uint256 half = contractTokenBalance.div(2); uint256 otherHalf = contractTokenBalance.sub(half); uint256 initialBalance = address(this).balance; swapTokensForEth(half); uint256 newBalance = address(this).balance.sub(initialBalance); addLiquidity(otherHalf, newBalance); emit SwapAndLiquify(half, newBalance, otherHalf); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = PancakeSwapRouter.WETH(); _approve(address(this), address(PancakeSwapRouter), tokenAmount); PancakeSwapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { _approve(address(this), address(PancakeSwapRouter), tokenAmount); PancakeSwapRouter.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable owner(), block.timestamp ); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_RouterAddress","type":"address"}],"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":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"bool","name":"isExlcude","type":"bool"}],"name":"ExcludeFromFee","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":[{"components":[{"internalType":"uint256","name":"reward","type":"uint256"},{"internalType":"uint256","name":"operation","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"poolfee","type":"uint256"}],"indexed":false,"internalType":"struct Wednesday.Fees","name":"buyFees","type":"tuple"}],"name":"SetBuyFee","type":"event"},{"anonymous":false,"inputs":[{"components":[{"internalType":"uint256","name":"reward","type":"uint256"},{"internalType":"uint256","name":"operation","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"poolfee","type":"uint256"}],"indexed":false,"internalType":"struct Wednesday.Fees","name":"sellFees","type":"tuple"}],"name":"SetSellFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"PancakeSwapRouter","outputs":[{"internalType":"contract IPancakeSwapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PancakeSwapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"burnAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFees","outputs":[{"internalType":"uint256","name":"reward","type":"uint256"},{"internalType":"uint256","name":"operation","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"poolfee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bool","name":"_isExclude","type":"bool"}],"name":"excludeAddressFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numTokensSellToAddToLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operationAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"poolAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFees","outputs":[{"internalType":"uint256","name":"reward","type":"uint256"},{"internalType":"uint256","name":"operation","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"poolfee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_rewardAddress","type":"address"},{"internalType":"address","name":"_operationAddress","type":"address"},{"internalType":"address","name":"_poolAddress","type":"address"}],"name":"setFeeAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_RouterAddress","type":"address"}],"name":"setInitialAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_rewardFee","type":"uint256"},{"internalType":"uint256","name":"_operationFee","type":"uint256"},{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_poolfee","type":"uint256"}],"name":"setbuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_rewardFee","type":"uint256"},{"internalType":"uint256","name":"_operationFee","type":"uint256"},{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_poolfee","type":"uint256"}],"name":"setsellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600c805460ff60a81b1916600160a81b1790556c7e37be2022c0914b268000000060165568056bc75e2d631000006017553480156200004257600080fd5b50604051620027503803806200275083398101604081905262000065916200047c565b600062000071620003dc565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350604080518082019091526009808252685765646e657364617960b81b6020909201918252620000ed91600691620003e0565b506040805180820190915260028082526115d160f21b60209092019182526200011991600591620003e0565b506004805460ff1916601290811782556a084595161401484a000000600381905533600090815260016020908152604080832093909355600a6011819055938490556013829055601e601455600d849055600e93909355600f556028601055600b80546001600160a01b0386166001600160a01b03199091168117909155815163c45a015560e01b815291518594919363c45a0155938084019391929190829003018186803b158015620001cc57600080fd5b505afa158015620001e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020791906200047c565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200025057600080fd5b505afa15801562000265573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028b91906200047c565b6040518363ffffffff1660e01b8152600401620002aa929190620004ac565b602060405180830381600087803b158015620002c557600080fd5b505af1158015620002da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030091906200047c565b600c80546001600160a01b0319166001600160a01b039290921691909117905560035460405133916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916200035891620004ef565b60405180910390a37f4033c61b7a7bda78889373d049a0bb6dd3500d8bff8ace1617cb78413102e8076011604051620003929190620004c6565b60405180910390a17f59b16bf8c94a0fd94bd5c030ec293d45b519b7dc85a474b840ddd20e347ff43b600d604051620003cc9190620004c6565b60405180910390a15050620004f8565b3390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200042357805160ff191683800117855562000453565b8280016001018555821562000453579182015b828111156200045357825182559160200191906001019062000436565b506200046192915062000465565b5090565b5b8082111562000461576000815560010162000466565b6000602082840312156200048e578081fd5b81516001600160a01b0381168114620004a5578182fd5b9392505050565b6001600160a01b0392831681529116602082015260400190565b815481526001820154602082015260028201546040820152600390910154606082015260800190565b90815260200190565b61224880620005086000396000f3fe6080604052600436106102085760003560e01c8063799bec1211610118578063aa1ef598116100a0578063dd62ed3e1161006f578063dd62ed3e1461055a578063e0f3ccf51461057a578063e4748b9e1461059f578063ec28438a146105b4578063f2fde38b146105d45761020f565b8063aa1ef598146104f0578063c1258a4014610510578063c5820ad014610525578063d12a7688146105455761020f565b80638da5cb5b116100e75780638da5cb5b1461047157806395d89b4114610486578063a441c3021461049b578063a457c2d7146104b0578063a9059cbb146104d05761020f565b8063799bec12146104125780637d1db4a514610432578063893d20e8146104475780638cf57cb91461045c5761020f565b8063395093511161019b57806347cb8c041161016a57806347cb8c041461039e5780634a74bb02146103b357806370a08231146103c857806370d5ae05146103e8578063715018a6146103fd5761020f565b806339509351146103295780633e34121214610349578063421ea58b1461036957806342966c681461037e5761020f565b80631ebe8be8116101d75780631ebe8be8146102b057806323b872dd146102c557806328ec13ee146102e5578063313ce567146103075761020f565b806306fdde0314610214578063095ea7b31461023f5780631755ff211461026c57806318160ddd1461028e5761020f565b3661020f57005b600080fd5b34801561022057600080fd5b506102296105f4565b6040516102369190611d80565b60405180910390f35b34801561024b57600080fd5b5061025f61025a366004611c50565b61068a565b6040516102369190611d75565b34801561027857600080fd5b506102816106a8565b6040516102369190611cf1565b34801561029a57600080fd5b506102a36106b7565b6040516102369190612090565b3480156102bc57600080fd5b506102a36106bd565b3480156102d157600080fd5b5061025f6102e0366004611bdf565b6106cf565b3480156102f157600080fd5b50610305610300366004611b25565b610756565b005b34801561031357600080fd5b5061031c610935565b604051610236919061213a565b34801561033557600080fd5b5061025f610344366004611c50565b61093e565b34801561035557600080fd5b50610305610364366004611cc0565b61098c565b34801561037557600080fd5b50610281610a11565b34801561038a57600080fd5b50610305610399366004611c7b565b610a20565b3480156103aa57600080fd5b506102a3610a2d565b3480156103bf57600080fd5b5061025f610a3f565b3480156103d457600080fd5b506102a36103e3366004611b25565b610a4f565b3480156103f457600080fd5b50610281610a6a565b34801561040957600080fd5b50610305610a79565b34801561041e57600080fd5b5061030561042d366004611c1f565b610af8565b34801561043e57600080fd5b506102a3610b8f565b34801561045357600080fd5b50610281610b95565b34801561046857600080fd5b50610281610ba4565b34801561047d57600080fd5b50610281610bb3565b34801561049257600080fd5b50610229610bc2565b3480156104a757600080fd5b50610281610c23565b3480156104bc57600080fd5b5061025f6104cb366004611c50565b610c32565b3480156104dc57600080fd5b5061025f6104eb366004611c50565b610c9a565b3480156104fc57600080fd5b5061030561050b366004611b95565b610cae565b34801561051c57600080fd5b50610281610d22565b34801561053157600080fd5b50610305610540366004611cc0565b610d31565b34801561055157600080fd5b506102a3610da8565b34801561056657600080fd5b506102a3610575366004611b5d565b610dae565b34801561058657600080fd5b5061058f610dd9565b604051610236949392919061211f565b3480156105ab57600080fd5b5061058f610de8565b3480156105c057600080fd5b506103056105cf366004611c7b565b610df7565b3480156105e057600080fd5b506103056105ef366004611b25565b610e31565b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106805780601f1061065557610100808354040283529160200191610680565b820191906000526020600020905b81548152906001019060200180831161066357829003601f168201915b5050505050905090565b600061069e610697610e6f565b8484610e73565b5060015b92915050565b6009546001600160a01b031681565b60035490565b60145460135460125460115401010190565b60006106dc848484610f27565b61074c846106e8610e6f565b6107478560405180606001604052806028815260200161215e602891396001600160a01b038a16600090815260026020526040812090610726610e6f565b6001600160a01b0316815260208101919091526040016000205491906115e4565b610e73565b5060019392505050565b61075e610e6f565b6000546001600160a01b039081169116146107945760405162461bcd60e51b815260040161078b90611f1a565b60405180910390fd5b600b80546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b8152905183929163c45a0155916004808301926020929190829003018186803b1580156107ea57600080fd5b505afa1580156107fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108229190611b41565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561086a57600080fd5b505afa15801561087e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a29190611b41565b6040518363ffffffff1660e01b81526004016108bf929190611d05565b602060405180830381600087803b1580156108d957600080fd5b505af11580156108ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109119190611b41565b600c80546001600160a01b0319166001600160a01b03929092169190911790555050565b60045460ff1690565b600061069e61094b610e6f565b84610747856002600061095c610e6f565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611610565b610994610e6f565b6000546001600160a01b039081169116146109c15760405162461bcd60e51b815260040161078b90611f1a565b60118481556012849055601383905560148290556040517f4033c61b7a7bda78889373d049a0bb6dd3500d8bff8ace1617cb78413102e80791610a0391612067565b60405180910390a150505050565b600b546001600160a01b031681565b610a2a338261163c565b50565b601054600f54600e54600d5401010190565b600c54600160a81b900460ff1681565b6001600160a01b031660009081526001602052604090205490565b600a546001600160a01b031681565b610a81610e6f565b6000546001600160a01b03908116911614610aae5760405162461bcd60e51b815260040161078b90611f1a565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b610b00610e6f565b6000546001600160a01b03908116911614610b2d5760405162461bcd60e51b815260040161078b90611f1a565b6001600160a01b03821660009081526015602052604090819020805460ff1916831515179055517fd5144d2a6c8ff9b87b7a40852df5102cab2ce561c06b56cc6fe7ccf1fa7f8c2d90610b839084908490611d5a565b60405180910390a15050565b60165481565b6000610b9f610bb3565b905090565b6007546001600160a01b031681565b6000546001600160a01b031690565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106805780601f1061065557610100808354040283529160200191610680565b6008546001600160a01b031681565b600061069e610c3f610e6f565b84610747856040518060600160405280602581526020016121cc6025913960026000610c69610e6f565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906115e4565b600061069e610ca7610e6f565b8484610f27565b610cb6610e6f565b6000546001600160a01b03908116911614610ce35760405162461bcd60e51b815260040161078b90611f1a565b600780546001600160a01b039485166001600160a01b031991821617909155600880549385169382169390931790925560098054919093169116179055565b600c546001600160a01b031681565b610d39610e6f565b6000546001600160a01b03908116911614610d665760405162461bcd60e51b815260040161078b90611f1a565b600d848155600e849055600f83905560108290556040517f59b16bf8c94a0fd94bd5c030ec293d45b519b7dc85a474b840ddd20e347ff43b91610a0391612067565b60175481565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b600d54600e54600f5460105484565b60115460125460135460145484565b610dff610e6f565b6000546001600160a01b03908116911614610e2c5760405162461bcd60e51b815260040161078b90611f1a565b601655565b610e39610e6f565b6000546001600160a01b03908116911614610e665760405162461bcd60e51b815260040161078b90611f1a565b610a2a81611700565b3390565b6001600160a01b038316610e995760405162461bcd60e51b815260040161078b90611e18565b6001600160a01b038216610ebf5760405162461bcd60e51b815260040161078b90612025565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610f1a908590612090565b60405180910390a3505050565b6001600160a01b038316610f4d5760405162461bcd60e51b815260040161078b90611dd3565b6001600160a01b038216610f735760405162461bcd60e51b815260040161078b90611f4f565b600c546001600160a01b0384811691161480610f9c5750600c546001600160a01b038381169116145b8015610fc157506001600160a01b03831660009081526015602052604090205460ff16155b15610fe857806016541015610fe85760405162461bcd60e51b815260040161078b90611fd3565b61102581604051806060016040528060268152602001612186602691396001600160a01b03861660009081526001602052604090205491906115e4565b6001600160a01b038416600090815260016020526040812091909155819061104c30610a4f565b9050601654811061105c57506016545b6017548110801590819061107a5750600c54600160a01b900460ff16155b80156110945750600c546001600160a01b03878116911614155b80156110a95750600c54600160a81b900460ff165b156110bc5760175491506110bc82611781565b6001600160a01b03861660009081526015602052604090205460ff1661157157600c546001600160a01b0387811691161415611331576111146103e861110e6111036106bd565b86906103e803611822565b9061185c565b92506111346103e861110e6011600001548761182290919063ffffffff16565b6007546001600160a01b031660009081526001602052604090208054909101905560125461116b906103e89061110e908790611822565b6008546001600160a01b03166000908152600160205260409020805490910190556014546111a2906103e89061110e908790611822565b6009546001600160a01b03166000908152600160205260409020805490910190556013546111d9906103e89061110e908790611822565b306000908152600160205260409020805490910190556007546011546001600160a01b03918216918816906000805160206121ac83398151915290611227906103e89061110e908a90611822565b6040516112349190612090565b60405180910390a36008546012546001600160a01b03918216918816906000805160206121ac83398151915290611274906103e89061110e908a90611822565b6040516112819190612090565b60405180910390a36009546014546001600160a01b03918216918816906000805160206121ac833981519152906112c1906103e89061110e908a90611822565b6040516112ce9190612090565b60405180910390a3306001600160a01b0316866001600160a01b03166000805160206121ac8339815191526113176103e861110e6011600201548a61182290919063ffffffff16565b6040516113249190612090565b60405180910390a3611571565b600c546001600160a01b0386811691161415611571576113586103e861110e611103610a2d565b92506113786103e861110e600d600001548761182290919063ffffffff16565b6007546001600160a01b0316600090815260016020526040902080549091019055600e546113af906103e89061110e908790611822565b6008546001600160a01b03166000908152600160205260409020805490910190556010546113e6906103e89061110e908790611822565b6009546001600160a01b0316600090815260016020526040902080549091019055600f5461141d906103e89061110e908790611822565b30600090815260016020526040902080549091019055600754600d546001600160a01b03918216918816906000805160206121ac8339815191529061146b906103e89061110e908a90611822565b6040516114789190612090565b60405180910390a3600854600e546001600160a01b03918216918816906000805160206121ac833981519152906114b8906103e89061110e908a90611822565b6040516114c59190612090565b60405180910390a36009546010546001600160a01b03918216918816906000805160206121ac83398151915290611505906103e89061110e908a90611822565b6040516115129190612090565b60405180910390a3306001600160a01b0316866001600160a01b03166000805160206121ac83398151915261155b6103e861110e600d600201548a61182290919063ffffffff16565b6040516115689190612090565b60405180910390a35b6001600160a01b0385166000908152600160205260409020546115949084611610565b6001600160a01b0380871660008181526001602052604090819020939093559151908816906000805160206121ac833981519152906115d4908790612090565b60405180910390a3505050505050565b600081848411156116085760405162461bcd60e51b815260040161078b9190611d80565b505050900390565b6000828201838110156116355760405162461bcd60e51b815260040161078b90611ea2565b9392505050565b6001600160a01b0382166116625760405162461bcd60e51b815260040161078b90611f92565b61169f816040518060600160405280602281526020016121f1602291396001600160a01b03851660009081526001602052604090205491906115e4565b6001600160a01b0383166000908152600160205260409020556003546116c5908261189e565b6003556040516000906001600160a01b038416906000805160206121ac833981519152906116f4908590612090565b60405180910390a35050565b6001600160a01b0381166117265760405162461bcd60e51b815260040161078b90611e5c565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600c805460ff60a01b1916600160a01b17905560006117a182600261185c565b905060006117af838361189e565b9050476117bb836118e0565b60006117c7478361189e565b90506117d38382611a3c565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb56184828560405161180693929190612109565b60405180910390a15050600c805460ff60a01b19169055505050565b600082611831575060006106a2565b8282028284828161183e57fe5b04146116355760405162461bcd60e51b815260040161078b90611ed9565b600061163583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611aee565b600061163583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115e4565b6040805160028082526060808301845292602083019080368337019050509050308160008151811061190e57fe5b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561196257600080fd5b505afa158015611976573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199a9190611b41565b816001815181106119a757fe5b6001600160a01b039283166020918202929092010152600b546119cd9130911684610e73565b600b5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611a06908590600090869030904290600401612099565b600060405180830381600087803b158015611a2057600080fd5b505af1158015611a34573d6000803e3d6000fd5b505050505050565b600b54611a549030906001600160a01b031684610e73565b600b546001600160a01b031663f305d719823085600080611a73610bb3565b426040518863ffffffff1660e01b8152600401611a9596959493929190611d1f565b6060604051808303818588803b158015611aae57600080fd5b505af1158015611ac2573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611ae79190611c93565b5050505050565b60008183611b0f5760405162461bcd60e51b815260040161078b9190611d80565b506000838581611b1b57fe5b0495945050505050565b600060208284031215611b36578081fd5b813561163581612148565b600060208284031215611b52578081fd5b815161163581612148565b60008060408385031215611b6f578081fd5b8235611b7a81612148565b91506020830135611b8a81612148565b809150509250929050565b600080600060608486031215611ba9578081fd5b8335611bb481612148565b92506020840135611bc481612148565b91506040840135611bd481612148565b809150509250925092565b600080600060608486031215611bf3578283fd5b8335611bfe81612148565b92506020840135611c0e81612148565b929592945050506040919091013590565b60008060408385031215611c31578182fd5b8235611c3c81612148565b915060208301358015158114611b8a578182fd5b60008060408385031215611c62578182fd5b8235611c6d81612148565b946020939093013593505050565b600060208284031215611c8c578081fd5b5035919050565b600080600060608486031215611ca7578283fd5b8351925060208401519150604084015190509250925092565b60008060008060808587031215611cd5578081fd5b5050823594602084013594506040840135936060013592509050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b6001600160a01b039290921682521515602082015260400190565b901515815260200190565b6000602080835283518082850152825b81811015611dac57858101830151858201604001528201611d90565b81811115611dbd5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526025908201527f42455032303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f42455032303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526023908201527f42455032303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526021908201527f42455032303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526032908201527f42455032303a207472616e7366657220616d6f756e742065786365656473206d604082015271185e081d1c985b9cd9995c88185b5bdd5b9d60721b606082015260800190565b60208082526022908201527f42455032303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b815481526001820154602082015260028201546040820152600390910154606082015260800190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156120e85784516001600160a01b0316835293830193918301916001016120c3565b50506001600160a01b03969096166060850152505050608001529392505050565b9283526020830191909152604082015260600190565b93845260208401929092526040830152606082015260800190565b60ff91909116815260200190565b6001600160a01b0381168114610a2a57600080fdfe42455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636542455032303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef42455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f42455032303a206275726e20616d6f756e7420657863656564732062616c616e6365a2646970667358221220f4ce0bd3af469856bccffa881d94edbe63ba8a66980e3b697ee2408f4f5f3bfa64736f6c634300060c003300000000000000000000000038eed6a71a4dda9d7f776946e3cfa4ec43781ae6
Deployed Bytecode
0x6080604052600436106102085760003560e01c8063799bec1211610118578063aa1ef598116100a0578063dd62ed3e1161006f578063dd62ed3e1461055a578063e0f3ccf51461057a578063e4748b9e1461059f578063ec28438a146105b4578063f2fde38b146105d45761020f565b8063aa1ef598146104f0578063c1258a4014610510578063c5820ad014610525578063d12a7688146105455761020f565b80638da5cb5b116100e75780638da5cb5b1461047157806395d89b4114610486578063a441c3021461049b578063a457c2d7146104b0578063a9059cbb146104d05761020f565b8063799bec12146104125780637d1db4a514610432578063893d20e8146104475780638cf57cb91461045c5761020f565b8063395093511161019b57806347cb8c041161016a57806347cb8c041461039e5780634a74bb02146103b357806370a08231146103c857806370d5ae05146103e8578063715018a6146103fd5761020f565b806339509351146103295780633e34121214610349578063421ea58b1461036957806342966c681461037e5761020f565b80631ebe8be8116101d75780631ebe8be8146102b057806323b872dd146102c557806328ec13ee146102e5578063313ce567146103075761020f565b806306fdde0314610214578063095ea7b31461023f5780631755ff211461026c57806318160ddd1461028e5761020f565b3661020f57005b600080fd5b34801561022057600080fd5b506102296105f4565b6040516102369190611d80565b60405180910390f35b34801561024b57600080fd5b5061025f61025a366004611c50565b61068a565b6040516102369190611d75565b34801561027857600080fd5b506102816106a8565b6040516102369190611cf1565b34801561029a57600080fd5b506102a36106b7565b6040516102369190612090565b3480156102bc57600080fd5b506102a36106bd565b3480156102d157600080fd5b5061025f6102e0366004611bdf565b6106cf565b3480156102f157600080fd5b50610305610300366004611b25565b610756565b005b34801561031357600080fd5b5061031c610935565b604051610236919061213a565b34801561033557600080fd5b5061025f610344366004611c50565b61093e565b34801561035557600080fd5b50610305610364366004611cc0565b61098c565b34801561037557600080fd5b50610281610a11565b34801561038a57600080fd5b50610305610399366004611c7b565b610a20565b3480156103aa57600080fd5b506102a3610a2d565b3480156103bf57600080fd5b5061025f610a3f565b3480156103d457600080fd5b506102a36103e3366004611b25565b610a4f565b3480156103f457600080fd5b50610281610a6a565b34801561040957600080fd5b50610305610a79565b34801561041e57600080fd5b5061030561042d366004611c1f565b610af8565b34801561043e57600080fd5b506102a3610b8f565b34801561045357600080fd5b50610281610b95565b34801561046857600080fd5b50610281610ba4565b34801561047d57600080fd5b50610281610bb3565b34801561049257600080fd5b50610229610bc2565b3480156104a757600080fd5b50610281610c23565b3480156104bc57600080fd5b5061025f6104cb366004611c50565b610c32565b3480156104dc57600080fd5b5061025f6104eb366004611c50565b610c9a565b3480156104fc57600080fd5b5061030561050b366004611b95565b610cae565b34801561051c57600080fd5b50610281610d22565b34801561053157600080fd5b50610305610540366004611cc0565b610d31565b34801561055157600080fd5b506102a3610da8565b34801561056657600080fd5b506102a3610575366004611b5d565b610dae565b34801561058657600080fd5b5061058f610dd9565b604051610236949392919061211f565b3480156105ab57600080fd5b5061058f610de8565b3480156105c057600080fd5b506103056105cf366004611c7b565b610df7565b3480156105e057600080fd5b506103056105ef366004611b25565b610e31565b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106805780601f1061065557610100808354040283529160200191610680565b820191906000526020600020905b81548152906001019060200180831161066357829003601f168201915b5050505050905090565b600061069e610697610e6f565b8484610e73565b5060015b92915050565b6009546001600160a01b031681565b60035490565b60145460135460125460115401010190565b60006106dc848484610f27565b61074c846106e8610e6f565b6107478560405180606001604052806028815260200161215e602891396001600160a01b038a16600090815260026020526040812090610726610e6f565b6001600160a01b0316815260208101919091526040016000205491906115e4565b610e73565b5060019392505050565b61075e610e6f565b6000546001600160a01b039081169116146107945760405162461bcd60e51b815260040161078b90611f1a565b60405180910390fd5b600b80546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b8152905183929163c45a0155916004808301926020929190829003018186803b1580156107ea57600080fd5b505afa1580156107fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108229190611b41565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561086a57600080fd5b505afa15801561087e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a29190611b41565b6040518363ffffffff1660e01b81526004016108bf929190611d05565b602060405180830381600087803b1580156108d957600080fd5b505af11580156108ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109119190611b41565b600c80546001600160a01b0319166001600160a01b03929092169190911790555050565b60045460ff1690565b600061069e61094b610e6f565b84610747856002600061095c610e6f565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611610565b610994610e6f565b6000546001600160a01b039081169116146109c15760405162461bcd60e51b815260040161078b90611f1a565b60118481556012849055601383905560148290556040517f4033c61b7a7bda78889373d049a0bb6dd3500d8bff8ace1617cb78413102e80791610a0391612067565b60405180910390a150505050565b600b546001600160a01b031681565b610a2a338261163c565b50565b601054600f54600e54600d5401010190565b600c54600160a81b900460ff1681565b6001600160a01b031660009081526001602052604090205490565b600a546001600160a01b031681565b610a81610e6f565b6000546001600160a01b03908116911614610aae5760405162461bcd60e51b815260040161078b90611f1a565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b610b00610e6f565b6000546001600160a01b03908116911614610b2d5760405162461bcd60e51b815260040161078b90611f1a565b6001600160a01b03821660009081526015602052604090819020805460ff1916831515179055517fd5144d2a6c8ff9b87b7a40852df5102cab2ce561c06b56cc6fe7ccf1fa7f8c2d90610b839084908490611d5a565b60405180910390a15050565b60165481565b6000610b9f610bb3565b905090565b6007546001600160a01b031681565b6000546001600160a01b031690565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106805780601f1061065557610100808354040283529160200191610680565b6008546001600160a01b031681565b600061069e610c3f610e6f565b84610747856040518060600160405280602581526020016121cc6025913960026000610c69610e6f565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906115e4565b600061069e610ca7610e6f565b8484610f27565b610cb6610e6f565b6000546001600160a01b03908116911614610ce35760405162461bcd60e51b815260040161078b90611f1a565b600780546001600160a01b039485166001600160a01b031991821617909155600880549385169382169390931790925560098054919093169116179055565b600c546001600160a01b031681565b610d39610e6f565b6000546001600160a01b03908116911614610d665760405162461bcd60e51b815260040161078b90611f1a565b600d848155600e849055600f83905560108290556040517f59b16bf8c94a0fd94bd5c030ec293d45b519b7dc85a474b840ddd20e347ff43b91610a0391612067565b60175481565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b600d54600e54600f5460105484565b60115460125460135460145484565b610dff610e6f565b6000546001600160a01b03908116911614610e2c5760405162461bcd60e51b815260040161078b90611f1a565b601655565b610e39610e6f565b6000546001600160a01b03908116911614610e665760405162461bcd60e51b815260040161078b90611f1a565b610a2a81611700565b3390565b6001600160a01b038316610e995760405162461bcd60e51b815260040161078b90611e18565b6001600160a01b038216610ebf5760405162461bcd60e51b815260040161078b90612025565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610f1a908590612090565b60405180910390a3505050565b6001600160a01b038316610f4d5760405162461bcd60e51b815260040161078b90611dd3565b6001600160a01b038216610f735760405162461bcd60e51b815260040161078b90611f4f565b600c546001600160a01b0384811691161480610f9c5750600c546001600160a01b038381169116145b8015610fc157506001600160a01b03831660009081526015602052604090205460ff16155b15610fe857806016541015610fe85760405162461bcd60e51b815260040161078b90611fd3565b61102581604051806060016040528060268152602001612186602691396001600160a01b03861660009081526001602052604090205491906115e4565b6001600160a01b038416600090815260016020526040812091909155819061104c30610a4f565b9050601654811061105c57506016545b6017548110801590819061107a5750600c54600160a01b900460ff16155b80156110945750600c546001600160a01b03878116911614155b80156110a95750600c54600160a81b900460ff165b156110bc5760175491506110bc82611781565b6001600160a01b03861660009081526015602052604090205460ff1661157157600c546001600160a01b0387811691161415611331576111146103e861110e6111036106bd565b86906103e803611822565b9061185c565b92506111346103e861110e6011600001548761182290919063ffffffff16565b6007546001600160a01b031660009081526001602052604090208054909101905560125461116b906103e89061110e908790611822565b6008546001600160a01b03166000908152600160205260409020805490910190556014546111a2906103e89061110e908790611822565b6009546001600160a01b03166000908152600160205260409020805490910190556013546111d9906103e89061110e908790611822565b306000908152600160205260409020805490910190556007546011546001600160a01b03918216918816906000805160206121ac83398151915290611227906103e89061110e908a90611822565b6040516112349190612090565b60405180910390a36008546012546001600160a01b03918216918816906000805160206121ac83398151915290611274906103e89061110e908a90611822565b6040516112819190612090565b60405180910390a36009546014546001600160a01b03918216918816906000805160206121ac833981519152906112c1906103e89061110e908a90611822565b6040516112ce9190612090565b60405180910390a3306001600160a01b0316866001600160a01b03166000805160206121ac8339815191526113176103e861110e6011600201548a61182290919063ffffffff16565b6040516113249190612090565b60405180910390a3611571565b600c546001600160a01b0386811691161415611571576113586103e861110e611103610a2d565b92506113786103e861110e600d600001548761182290919063ffffffff16565b6007546001600160a01b0316600090815260016020526040902080549091019055600e546113af906103e89061110e908790611822565b6008546001600160a01b03166000908152600160205260409020805490910190556010546113e6906103e89061110e908790611822565b6009546001600160a01b0316600090815260016020526040902080549091019055600f5461141d906103e89061110e908790611822565b30600090815260016020526040902080549091019055600754600d546001600160a01b03918216918816906000805160206121ac8339815191529061146b906103e89061110e908a90611822565b6040516114789190612090565b60405180910390a3600854600e546001600160a01b03918216918816906000805160206121ac833981519152906114b8906103e89061110e908a90611822565b6040516114c59190612090565b60405180910390a36009546010546001600160a01b03918216918816906000805160206121ac83398151915290611505906103e89061110e908a90611822565b6040516115129190612090565b60405180910390a3306001600160a01b0316866001600160a01b03166000805160206121ac83398151915261155b6103e861110e600d600201548a61182290919063ffffffff16565b6040516115689190612090565b60405180910390a35b6001600160a01b0385166000908152600160205260409020546115949084611610565b6001600160a01b0380871660008181526001602052604090819020939093559151908816906000805160206121ac833981519152906115d4908790612090565b60405180910390a3505050505050565b600081848411156116085760405162461bcd60e51b815260040161078b9190611d80565b505050900390565b6000828201838110156116355760405162461bcd60e51b815260040161078b90611ea2565b9392505050565b6001600160a01b0382166116625760405162461bcd60e51b815260040161078b90611f92565b61169f816040518060600160405280602281526020016121f1602291396001600160a01b03851660009081526001602052604090205491906115e4565b6001600160a01b0383166000908152600160205260409020556003546116c5908261189e565b6003556040516000906001600160a01b038416906000805160206121ac833981519152906116f4908590612090565b60405180910390a35050565b6001600160a01b0381166117265760405162461bcd60e51b815260040161078b90611e5c565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600c805460ff60a01b1916600160a01b17905560006117a182600261185c565b905060006117af838361189e565b9050476117bb836118e0565b60006117c7478361189e565b90506117d38382611a3c565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb56184828560405161180693929190612109565b60405180910390a15050600c805460ff60a01b19169055505050565b600082611831575060006106a2565b8282028284828161183e57fe5b04146116355760405162461bcd60e51b815260040161078b90611ed9565b600061163583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611aee565b600061163583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115e4565b6040805160028082526060808301845292602083019080368337019050509050308160008151811061190e57fe5b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561196257600080fd5b505afa158015611976573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199a9190611b41565b816001815181106119a757fe5b6001600160a01b039283166020918202929092010152600b546119cd9130911684610e73565b600b5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611a06908590600090869030904290600401612099565b600060405180830381600087803b158015611a2057600080fd5b505af1158015611a34573d6000803e3d6000fd5b505050505050565b600b54611a549030906001600160a01b031684610e73565b600b546001600160a01b031663f305d719823085600080611a73610bb3565b426040518863ffffffff1660e01b8152600401611a9596959493929190611d1f565b6060604051808303818588803b158015611aae57600080fd5b505af1158015611ac2573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611ae79190611c93565b5050505050565b60008183611b0f5760405162461bcd60e51b815260040161078b9190611d80565b506000838581611b1b57fe5b0495945050505050565b600060208284031215611b36578081fd5b813561163581612148565b600060208284031215611b52578081fd5b815161163581612148565b60008060408385031215611b6f578081fd5b8235611b7a81612148565b91506020830135611b8a81612148565b809150509250929050565b600080600060608486031215611ba9578081fd5b8335611bb481612148565b92506020840135611bc481612148565b91506040840135611bd481612148565b809150509250925092565b600080600060608486031215611bf3578283fd5b8335611bfe81612148565b92506020840135611c0e81612148565b929592945050506040919091013590565b60008060408385031215611c31578182fd5b8235611c3c81612148565b915060208301358015158114611b8a578182fd5b60008060408385031215611c62578182fd5b8235611c6d81612148565b946020939093013593505050565b600060208284031215611c8c578081fd5b5035919050565b600080600060608486031215611ca7578283fd5b8351925060208401519150604084015190509250925092565b60008060008060808587031215611cd5578081fd5b5050823594602084013594506040840135936060013592509050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b6001600160a01b039290921682521515602082015260400190565b901515815260200190565b6000602080835283518082850152825b81811015611dac57858101830151858201604001528201611d90565b81811115611dbd5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526025908201527f42455032303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f42455032303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526023908201527f42455032303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526021908201527f42455032303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526032908201527f42455032303a207472616e7366657220616d6f756e742065786365656473206d604082015271185e081d1c985b9cd9995c88185b5bdd5b9d60721b606082015260800190565b60208082526022908201527f42455032303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b815481526001820154602082015260028201546040820152600390910154606082015260800190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156120e85784516001600160a01b0316835293830193918301916001016120c3565b50506001600160a01b03969096166060850152505050608001529392505050565b9283526020830191909152604082015260600190565b93845260208401929092526040830152606082015260800190565b60ff91909116815260200190565b6001600160a01b0381168114610a2a57600080fdfe42455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636542455032303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef42455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f42455032303a206275726e20616d6f756e7420657863656564732062616c616e6365a2646970667358221220f4ce0bd3af469856bccffa881d94edbe63ba8a66980e3b697ee2408f4f5f3bfa64736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000038eed6a71a4dda9d7f776946e3cfa4ec43781ae6
-----Decoded View---------------
Arg [0] : _RouterAddress (address): 0x38eEd6a71A4ddA9d7f776946e3cfa4ec43781AE6
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000038eed6a71a4dda9d7f776946e3cfa4ec43781ae6
Deployed ByteCode Sourcemap
14913:15129:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15865:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16544:154;;;;;;;;;;-1:-1:-1;16544:154:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;19905:26::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;15958:93::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;23590:203::-;;;;;;;;;;;;;:::i;16706:439::-;;;;;;;;;;-1:-1:-1;16706:439:0;;;;;:::i;:::-;;:::i;21794:403::-;;;;;;;;;;-1:-1:-1;21794:403:0;;;;;:::i;:::-;;:::i;:::-;;15675:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;17153:283::-;;;;;;;;;;-1:-1:-1;17153:283:0;;;;;:::i;:::-;;:::i;22611:370::-;;;;;;;;;;-1:-1:-1;22611:370:0;;;;;:::i;:::-;;:::i;20018:43::-;;;;;;;;;;;;;:::i;17835:83::-;;;;;;;;;;-1:-1:-1;17835:83:0;;;;;:::i;:::-;;:::i;23374:208::-;;;;;;;;;;;;;:::i;20257:40::-;;;;;;;;;;;;;:::i;16059:110::-;;;;;;;;;;-1:-1:-1;16059:110:0;;;;;:::i;:::-;;:::i;19938:26::-;;;;;;;;;;;;;:::i;9265:140::-;;;;;;;;;;;;;:::i;23860:206::-;;;;;;;;;;-1:-1:-1;23860:206:0;;;;;:::i;:::-;;:::i;20498:38::-;;;;;;;;;;;;;:::i;15582:85::-;;;;;;;;;;;;;:::i;19832:28::-;;;;;;;;;;;;;:::i;8623:79::-;;;;;;;;;;;;;:::i;15768:89::-;;;;;;;;;;;;;:::i;19867:31::-;;;;;;;;;;;;;:::i;17444:383::-;;;;;;;;;;-1:-1:-1;17444:383:0;;;;;:::i;:::-;;:::i;16177:183::-;;;;;;;;;;-1:-1:-1;16177:183:0;;;;;:::i;:::-;;:::i;22205:284::-;;;;;;;;;;-1:-1:-1;22205:284:0;;;;;:::i;:::-;;:::i;20068:32::-;;;;;;;;;;;;;:::i;22989:377::-;;;;;;;;;;-1:-1:-1;22989:377:0;;;;;:::i;:::-;;:::i;20543:54::-;;;;;;;;;;;;;:::i;16368:168::-;;;;;;;;;;-1:-1:-1;16368:168:0;;;;;:::i;:::-;;:::i;20350:20::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;20377:19::-;;;;;;;;;;;;;:::i;22497:106::-;;;;;;;;;;-1:-1:-1;22497:106:0;;;;;:::i;:::-;;:::i;9560:109::-;;;;;;;;;;-1:-1:-1;9560:109:0;;;;;:::i;:::-;;:::i;15865:85::-;15937:5;15930:12;;;;;;;;-1:-1:-1;;15930:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15904:13;;15930:12;;15937:5;;15930:12;;15937:5;15930:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15865:85;:::o;16544:154::-;16612:4;16629:39;16638:12;:10;:12::i;:::-;16652:7;16661:6;16629:8;:39::i;:::-;-1:-1:-1;16686:4:0;16544:154;;;;;:::o;19905:26::-;;;-1:-1:-1;;;;;19905:26:0;;:::o;15958:93::-;16031:12;;15958:93;:::o;23590:203::-;23770:15;;23737:17;;23704;;23770:7;23674:14;:47;:80;:111;23590:203;:::o;16706:439::-;16831:4;16848:36;16858:6;16866:9;16877:6;16848:9;:36::i;:::-;16895:220;16918:6;16939:12;:10;:12::i;:::-;16966:138;17022:6;16966:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16966:19:0;;;;;;:11;:19;;;;;;16986:12;:10;:12::i;:::-;-1:-1:-1;;;;;16966:33:0;;;;;;;;;;;;-1:-1:-1;16966:33:0;;;:138;:37;:138::i;:::-;16895:8;:220::i;:::-;-1:-1:-1;17133:4:0;16706:439;;;;;:::o;21794:403::-;8845:12;:10;:12::i;:::-;8835:6;;-1:-1:-1;;;;;8835:6:0;;;:22;;;8827:67;;;;-1:-1:-1;;;8827:67:0;;;;;;;:::i;:::-;;;;;;;;;21986:17:::1;:38:::0;;-1:-1:-1;;;;;;21986:38:0::1;-1:-1:-1::0;;;;;21986:38:0;::::1;::::0;;::::1;::::0;;;22075:28:::1;::::0;;-1:-1:-1;;;22075:28:0;;;;21986:38;;;22075:26:::1;::::0;:28:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;21986:38;22075:28;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;22055:74:0::1;;22138:4;22145:18;-1:-1:-1::0;;;;;22145:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22055:116;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22035:17;:136:::0;;-1:-1:-1;;;;;;22035:136:0::1;-1:-1:-1::0;;;;;22035:136:0;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;21794:403:0:o;15675:85::-;15743:9;;;;15675:85;:::o;17153:283::-;17251:4;17273:133;17296:12;:10;:12::i;:::-;17323:7;17345:50;17384:10;17345:11;:25;17357:12;:10;:12::i;:::-;-1:-1:-1;;;;;17345:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;17345:25:0;;;:34;;;;;;;;;;;:38;:50::i;22611:370::-;8845:12;:10;:12::i;:::-;8835:6;;-1:-1:-1;;;;;8835:6:0;;;:22;;;8827:67;;;;-1:-1:-1;;;8827:67:0;;;;;;;:::i;:::-;22787:7:::1;:27:::0;;;22825:17;:33;;;22869:17;:33;;;22913:15;:26;;;22955:18:::1;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;22611:370:::0;;;;:::o;20018:43::-;;;-1:-1:-1;;;;;20018:43:0;;:::o;17835:83::-;17885:25;17891:10;17903:6;17885:5;:25::i;:::-;17835:83;:::o;23374:208::-;23558:16;;23524:18;;23490;;23558:8;23459:15;:49;:83;:115;23374:208;:::o;20257:40::-;;;-1:-1:-1;;;20257:40:0;;;;;:::o;16059:110::-;-1:-1:-1;;;;;16143:18:0;16116:7;16143:18;;;:9;:18;;;;;;;16059:110::o;19938:26::-;;;-1:-1:-1;;;;;19938:26:0;;:::o;9265:140::-;8845:12;:10;:12::i;:::-;8835:6;;-1:-1:-1;;;;;8835:6:0;;;:22;;;8827:67;;;;-1:-1:-1;;;8827:67:0;;;;;;;:::i;:::-;9364:1:::1;9348:6:::0;;9327:40:::1;::::0;-1:-1:-1;;;;;9348:6:0;;::::1;::::0;9327:40:::1;::::0;9364:1;;9327:40:::1;9395:1;9378:19:::0;;-1:-1:-1;;;;;;9378:19:0::1;::::0;;9265:140::o;23860:206::-;8845:12;:10;:12::i;:::-;8835:6;;-1:-1:-1;;;;;8835:6:0;;;:22;;;8827:67;;;;-1:-1:-1;;;8827:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23975:22:0;::::1;;::::0;;;:16:::1;:22;::::0;;;;;;:35;;-1:-1:-1;;23975:35:0::1;::::0;::::1;;;::::0;;24026:32;::::1;::::0;::::1;::::0;23975:22;;:35;;24026:32:::1;:::i;:::-;;;;;;;;23860:206:::0;;:::o;20498:38::-;;;;:::o;15582:85::-;15625:7;15652;:5;:7::i;:::-;15645:14;;15582:85;:::o;19832:28::-;;;-1:-1:-1;;;;;19832:28:0;;:::o;8623:79::-;8661:7;8688:6;-1:-1:-1;;;;;8688:6:0;8623:79;:::o;15768:89::-;15842:7;15835:14;;;;;;;;-1:-1:-1;;15835:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15809:13;;15835:14;;15842:7;;15835:14;;15842:7;15835:14;;;;;;;;;;;;;;;;;;;;;;;;19867:31;;;-1:-1:-1;;;;;19867:31:0;;:::o;17444:383::-;17547:4;17569:228;17592:12;:10;:12::i;:::-;17619:7;17641:145;17698:15;17641:145;;;;;;;;;;;;;;;;;:11;:25;17653:12;:10;:12::i;:::-;-1:-1:-1;;;;;17641:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;17641:25:0;;;:34;;;;;;;;;;;:145;:38;:145::i;16177:183::-;16266:4;16288:42;16298:12;:10;:12::i;:::-;16312:9;16323:6;16288:9;:42::i;22205:284::-;8845:12;:10;:12::i;:::-;8835:6;;-1:-1:-1;;;;;8835:6:0;;;:22;;;8827:67;;;;-1:-1:-1;;;8827:67:0;;;;;;;:::i;:::-;22367:13:::1;:30:::0;;-1:-1:-1;;;;;22367:30:0;;::::1;-1:-1:-1::0;;;;;;22367:30:0;;::::1;;::::0;;;22408:16:::1;:36:::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;22455:11:::1;:26:::0;;;;;::::1;::::0;::::1;;::::0;;22205:284::o;20068:32::-;;;-1:-1:-1;;;;;20068:32:0;;:::o;22989:377::-;8845:12;:10;:12::i;:::-;8835:6;;-1:-1:-1;;;;;8835:6:0;;;:22;;;8827:67;;;;-1:-1:-1;;;8827:67:0;;;;;;;:::i;:::-;23166:8:::1;:28:::0;;;23205:18;:34;;;23250:18;:34;;;23295:16;:27;;;23338:20:::1;::::0;::::1;::::0;::::1;::::0;::::1;:::i;20543:54::-:0;;;;:::o;16368:168::-;-1:-1:-1;;;;;16501:18:0;;;16469:7;16501:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;16368:168::o;20350:20::-;;;;;;;;;;:::o;20377:19::-;;;;;;;;;;:::o;22497:106::-;8845:12;:10;:12::i;:::-;8835:6;;-1:-1:-1;;;;;8835:6:0;;;:22;;;8827:67;;;;-1:-1:-1;;;8827:67:0;;;;;;;:::i;:::-;22569:12:::1;:26:::0;22497:106::o;9560:109::-;8845:12;:10;:12::i;:::-;8835:6;;-1:-1:-1;;;;;8835:6:0;;;:22;;;8827:67;;;;-1:-1:-1;;;8827:67:0;;;;;;;:::i;:::-;9633:28:::1;9652:8;9633:18;:28::i;7718:98::-:0;7798:10;7718:98;:::o;18635:372::-;-1:-1:-1;;;;;18763:19:0;;18755:68;;;;-1:-1:-1;;;18755:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18842:21:0;;18834:68;;;;-1:-1:-1;;;18834:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18915:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;18967:32;;;;;18945:6;;18967:32;:::i;:::-;;;;;;;;18635:372;;;:::o;24116:4436::-;-1:-1:-1;;;;;24248:20:0;;24240:70;;;;-1:-1:-1;;;24240:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;24329:23:0;;24321:71;;;;-1:-1:-1;;;24321:71:0;;;;;;;:::i;:::-;24455:17;;-1:-1:-1;;;;;24445:27:0;;;24455:17;;24445:27;;:61;;-1:-1:-1;24489:17:0;;-1:-1:-1;;;;;24476:30:0;;;24489:17;;24476:30;24445:61;24444:105;;;;-1:-1:-1;;;;;;24525:24:0;;;;;;:16;:24;;;;;;;;24524:25;24444:105;24426:282;;;24616:6;24600:12;;:22;;24574:134;;;;-1:-1:-1;;;24574:134:0;;;;;;;:::i;:::-;24741:108;24777:6;24741:108;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;24741:17:0;;;;;;:9;:17;;;;;;;:108;:21;:108::i;:::-;-1:-1:-1;;;;;24721:17:0;;;;;;:9;:17;;;;;:128;;;;24883:6;;24933:24;24951:4;24933:9;:24::i;:::-;24902:55;;24998:12;;24974:20;:36;24970:104;;-1:-1:-1;25050:12:0;;24970:104;25150:29;;25113:66;;;;;;;25210:53;;-1:-1:-1;25247:16:0;;-1:-1:-1;;;25247:16:0;;;;25246:17;25210:53;:97;;;;-1:-1:-1;25290:17:0;;-1:-1:-1;;;;;25280:27:0;;;25290:17;;25280:27;;25210:97;:135;;;;-1:-1:-1;25324:21:0;;-1:-1:-1;;;25324:21:0;;;;25210:135;25192:324;;;25395:29;;25372:52;;25468:36;25483:20;25468:14;:36::i;:::-;-1:-1:-1;;;;;25533:24:0;;;;;;:16;:24;;;;;;;;25528:2882;;25588:17;;-1:-1:-1;;;;;25578:27:0;;;25588:17;;25578:27;25574:2825;;;25670:92;25739:4;25670:42;25695:16;:14;:16::i;:::-;25670:13;;25688:4;:23;25670:17;:42::i;:::-;:46;;:92::i;:::-;25654:108;;25809:80;25884:4;25809:48;25842:7;:14;;;25809:6;:32;;:48;;;;:::i;:80::-;25791:13;;-1:-1:-1;;;;;25791:13:0;25781:24;;;;:9;:24;;;;;:108;;;;;;;25950:17;;25939:79;;25995:4;;25939:29;;:6;;:10;:29::i;:79::-;25918:16;;-1:-1:-1;;;;;25918:16:0;25908:27;;;;:9;:27;;;;;:110;;;;;;;26074:15;;26063:37;;26095:4;;26063:27;;:6;;:10;:27::i;:37::-;26047:11;;-1:-1:-1;;;;;26047:11:0;26037:22;;;;:9;:22;;;;;:63;;;;;;;26158:17;;26147:79;;26203:4;;26147:29;;:6;;:10;:29::i;:79::-;26137:4;26119:24;;;;:9;:24;;;;;:107;;;;;;;26312:13;;26359:7;:14;-1:-1:-1;;;;;26312:13:0;;;;26252:151;;;-1:-1:-1;;;;;;;;;;;26252:151:0;26348:36;;26379:4;;26348:26;;:6;;:10;:26::i;:36::-;26252:151;;;;;;:::i;:::-;;;;;;;;26487:16;;26537:17;;-1:-1:-1;;;;;26487:16:0;;;;26427:157;;;-1:-1:-1;;;;;;;;;;;26427:157:0;26526:39;;26560:4;;26526:29;;:6;;:10;:29::i;:39::-;26427:157;;;;;;:::i;:::-;;;;;;;;26668:11;;26713:15;;-1:-1:-1;;;;;26668:11:0;;;;26608:150;;;-1:-1:-1;;;;;;;;;;;26608:150:0;26702:37;;26734:4;;26702:27;;:6;;:10;:27::i;:37::-;26608:150;;;;;;:::i;:::-;;;;;;;;26850:4;-1:-1:-1;;;;;26782:154:0;26813:6;-1:-1:-1;;;;;26782:154:0;-1:-1:-1;;;;;;;;;;;26878:39:0;26912:4;26878:29;26889:7;:17;;;26878:6;:10;;:29;;;;:::i;:39::-;26782:154;;;;;;:::i;:::-;;;;;;;;25574:2825;;;26975:17;;-1:-1:-1;;;;;26962:30:0;;;26975:17;;26962:30;26958:1441;;;27058:101;27132:4;27058:43;27083:17;:15;:17::i;27058:101::-;27042:117;;27206:81;27282:4;27206:49;27239:8;:15;;;27206:6;:32;;:49;;;;:::i;:81::-;27188:13;;-1:-1:-1;;;;;27188:13:0;27178:24;;;;:9;:24;;;;;:109;;;;;;;27348:18;;27337:80;;27394:4;;27337:30;;:6;;:10;:30::i;:80::-;27316:16;;-1:-1:-1;;;;;27316:16:0;27306:27;;;;:9;:27;;;;;:111;;;;;;;27473:16;;27462:78;;27517:4;;27462:28;;:6;;:10;:28::i;:78::-;27446:11;;-1:-1:-1;;;;;27446:11:0;27436:22;;;;:9;:22;;;;;:104;;;;;;;27600:18;;27589:80;;27646:4;;27589:30;;:6;;:10;:30::i;:80::-;27579:4;27561:24;;;;:9;:24;;;;;:108;;;;;;;27755:13;;27802:8;:15;-1:-1:-1;;;;;27755:13:0;;;;27695:152;;;-1:-1:-1;;;;;;;;;;;27695:152:0;27791:37;;27823:4;;27791:27;;:6;;:10;:27::i;:37::-;27695:152;;;;;;:::i;:::-;;;;;;;;27931:16;;27981:18;;-1:-1:-1;;;;;27931:16:0;;;;27871:158;;;-1:-1:-1;;;;;;;;;;;27871:158:0;27970:40;;28005:4;;27970:30;;:6;;:10;:30::i;:40::-;27871:158;;;;;;:::i;:::-;;;;;;;;28113:11;;28158:16;;-1:-1:-1;;;;;28113:11:0;;;;28053:151;;;-1:-1:-1;;;;;;;;;;;28053:151:0;28147:38;;28180:4;;28147:28;;:6;;:10;:28::i;:38::-;28053:151;;;;;;:::i;:::-;;;;;;;;28296:4;-1:-1:-1;;;;;28228:155:0;28259:6;-1:-1:-1;;;;;28228:155:0;-1:-1:-1;;;;;;;;;;;28324:40:0;28359:4;28324:30;28335:8;:18;;;28324:6;:10;;:30;;;;:::i;:40::-;28228:155;;;;;;:::i;:::-;;;;;;;;26958:1441;-1:-1:-1;;;;;28445:20:0;;;;;;:9;:20;;;;;;:39;;28470:13;28445:24;:39::i;:::-;-1:-1:-1;;;;;28422:20:0;;;;;;;:9;:20;;;;;;;:62;;;;28502:42;;;;;;-1:-1:-1;;;;;;;;;;;28502:42:0;;;28530:13;;28502:42;:::i;:::-;;;;;;;;24116:4436;;;;;;:::o;11227:226::-;11347:7;11383:12;11375:6;;;;11367:29;;;;-1:-1:-1;;;11367:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;11419:5:0;;;11227:226::o;10340:181::-;10398:7;10430:5;;;10454:6;;;;10446:46;;;;-1:-1:-1;;;10446:46:0;;;;;;;:::i;:::-;10512:1;10340:181;-1:-1:-1;;;10340:181:0:o;18242:385::-;-1:-1:-1;;;;;18318:21:0;;18310:67;;;;-1:-1:-1;;;18310:67:0;;;;;;;:::i;:::-;18411:105;18448:6;18411:105;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18411:18:0;;;;;;:9;:18;;;;;;;:105;:22;:105::i;:::-;-1:-1:-1;;;;;18390:18:0;;;;;;:9;:18;;;;;:126;18542:12;;:24;;18559:6;18542:16;:24::i;:::-;18527:12;:39;18582:37;;18608:1;;-1:-1:-1;;;;;18582:37:0;;;-1:-1:-1;;;;;;;;;;;18582:37:0;;;18612:6;;18582:37;:::i;:::-;;;;;;;;18242:385;;:::o;9775:266::-;-1:-1:-1;;;;;9863:22:0;;9841:110;;;;-1:-1:-1;;;9841:110:0;;;;;;;:::i;:::-;9988:6;;;9967:38;;-1:-1:-1;;;;;9967:38:0;;;;9988:6;;;9967:38;;;10016:6;:17;;-1:-1:-1;;;;;;10016:17:0;-1:-1:-1;;;;;10016:17:0;;;;;;;;;;9775:266::o;28560:525::-;20171:16;:23;;-1:-1:-1;;;;20171:23:0;-1:-1:-1;;;20171:23:0;;;;28711:27:::1;:20:::0;28736:1:::1;28711:24;:27::i;:::-;28696:42:::0;-1:-1:-1;28749:17:0::1;28769:30;:20:::0;28696:42;28769:24:::1;:30::i;:::-;28749:50:::0;-1:-1:-1;28837:21:0::1;28871:22;28888:4:::0;28871:16:::1;:22::i;:::-;28906:18;28927:41;:21;28953:14:::0;28927:25:::1;:41::i;:::-;28906:62;;28981:35;28994:9;29005:10;28981:12;:35::i;:::-;29034:43;29049:4;29055:10;29067:9;29034:43;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;;20217:16:0;:24;;-1:-1:-1;;;;20217:24:0;;;-1:-1:-1;;;28560:525:0:o;11704:471::-;11762:7;12007:6;12003:47;;-1:-1:-1;12037:1:0;12030:8;;12003:47;12074:5;;;12078:1;12074;:5;:1;12098:5;;;;;:10;12090:56;;;;-1:-1:-1;;;12090:56:0;;;;;;;:::i;12643:132::-;12701:7;12728:39;12732:1;12735;12728:39;;;;;;;;;;;;;;;;;:3;:39::i;10796:136::-;10854:7;10881:43;10885:1;10888;10881:43;;;;;;;;;;;;;;;;;:3;:43::i;29093:481::-;29183:16;;;29197:1;29183:16;;;29159:21;29183:16;;;;;29159:21;29183:16;;;;;;;;;;-1:-1:-1;29183:16:0;29159:40;;29228:4;29210;29215:1;29210:7;;;;;;;;-1:-1:-1;;;;;29210:23:0;;;:7;;;;;;;;;;:23;;;;29254:17;;:24;;;-1:-1:-1;;;29254:24:0;;;;:17;;;;;:22;;:24;;;;;29210:7;;29254:24;;;;;:17;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29244:4;29249:1;29244:7;;;;;;;;-1:-1:-1;;;;;29244:34:0;;;:7;;;;;;;;;:34;29323:17;;29291:64;;29308:4;;29323:17;29343:11;29291:8;:64::i;:::-;29368:17;;:198;;-1:-1:-1;;;29368:198:0;;-1:-1:-1;;;;;29368:17:0;;;;:68;;:198;;29451:11;;29368:17;;29493:4;;29520;;29540:15;;29368:198;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29093:481;;:::o;29582:420::-;29695:17;;29663:64;;29680:4;;-1:-1:-1;;;;;29695:17:0;29715:11;29663:8;:64::i;:::-;29740:17;;-1:-1:-1;;;;;29740:17:0;:33;29781:9;29814:4;29834:11;29740:17;;29946:7;:5;:7::i;:::-;29968:15;29740:254;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;29582:420;;:::o;13263:379::-;13383:7;13485:12;13478:5;13470:28;;;;-1:-1:-1;;;13470:28:0;;;;;;;;:::i;:::-;;13509:9;13525:1;13521;:5;;;;;;;13263:379;-1:-1:-1;;;;;13263:379:0:o;692:241:-1:-;;796:2;784:9;775:7;771:23;767:32;764:2;;;-1:-1;;802:12;764:2;85:6;72:20;97:33;124:5;97:33;:::i;940:263::-;;1055:2;1043:9;1034:7;1030:23;1026:32;1023:2;;;-1:-1;;1061:12;1023:2;226:6;220:13;238:33;265:5;238:33;:::i;1210:366::-;;;1331:2;1319:9;1310:7;1306:23;1302:32;1299:2;;;-1:-1;;1337:12;1299:2;85:6;72:20;97:33;124:5;97:33;:::i;:::-;1389:63;-1:-1;1489:2;1528:22;;72:20;97:33;72:20;97:33;:::i;:::-;1497:63;;;;1293:283;;;;;:::o;1583:491::-;;;;1721:2;1709:9;1700:7;1696:23;1692:32;1689:2;;;-1:-1;;1727:12;1689:2;85:6;72:20;97:33;124:5;97:33;:::i;:::-;1779:63;-1:-1;1879:2;1918:22;;72:20;97:33;72:20;97:33;:::i;:::-;1887:63;-1:-1;1987:2;2026:22;;72:20;97:33;72:20;97:33;:::i;:::-;1995:63;;;;1683:391;;;;;:::o;2081:491::-;;;;2219:2;2207:9;2198:7;2194:23;2190:32;2187:2;;;-1:-1;;2225:12;2187:2;85:6;72:20;97:33;124:5;97:33;:::i;:::-;2277:63;-1:-1;2377:2;2416:22;;72:20;97:33;72:20;97:33;:::i;:::-;2181:391;;2385:63;;-1:-1;;;2485:2;2524:22;;;;481:20;;2181:391::o;2579:360::-;;;2697:2;2685:9;2676:7;2672:23;2668:32;2665:2;;;-1:-1;;2703:12;2665:2;85:6;72:20;97:33;124:5;97:33;:::i;:::-;2755:63;-1:-1;2855:2;2891:22;;347:20;22632:13;;22625:21;24616:32;;24606:2;;-1:-1;;24652:12;2946:366;;;3067:2;3055:9;3046:7;3042:23;3038:32;3035:2;;;-1:-1;;3073:12;3035:2;85:6;72:20;97:33;124:5;97:33;:::i;:::-;3125:63;3225:2;3264:22;;;;481:20;;-1:-1;;;3029:283::o;3319:241::-;;3423:2;3411:9;3402:7;3398:23;3394:32;3391:2;;;-1:-1;;3429:12;3391:2;-1:-1;481:20;;3385:175;-1:-1;3385:175::o;3567:535::-;;;;3716:2;3704:9;3695:7;3691:23;3687:32;3684:2;;;-1:-1;;3722:12;3684:2;635:6;629:13;3774:74;;3885:2;3939:9;3935:22;629:13;3893:74;;4004:2;4058:9;4054:22;629:13;4012:74;;3678:424;;;;;:::o;4109:617::-;;;;;4264:3;4252:9;4243:7;4239:23;4235:33;4232:2;;;-1:-1;;4271:12;4232:2;-1:-1;;481:20;;;4423:2;4462:22;;481:20;;-1:-1;4531:2;4570:22;;481:20;;4639:2;4678:22;481:20;;-1:-1;4226:500;-1:-1;4226:500::o;12047:222::-;-1:-1;;;;;22720:54;;;;5125:37;;12174:2;12159:18;;12145:124::o;12276:349::-;-1:-1;;;;;22720:54;;;4994:58;;22720:54;;12611:2;12596:18;;5125:37;12439:2;12424:18;;12410:215::o;12632:828::-;-1:-1;;;;;22720:54;;;4994:58;;13096:2;13081:18;;11764:37;;;;13187:2;13172:18;;6398:58;;;;13278:2;13263:18;;6398:58;;;;22720:54;;;13361:3;13346:19;;5125:37;22731:42;13430:19;;11764:37;;;;12923:3;12908:19;;12894:566::o;13467:321::-;-1:-1;;;;;22720:54;;;;5125:37;;22632:13;22625:21;13774:2;13759:18;;6088:34;13616:2;13601:18;;13587:201::o;13795:210::-;22632:13;;22625:21;6088:34;;13916:2;13901:18;;13887:118::o;14293:310::-;;14440:2;;14461:17;14454:47;6613:5;21732:12;22148:6;14440:2;14429:9;14425:18;22136:19;-1:-1;23849:101;23863:6;23860:1;23857:13;23849:101;;;23930:11;;;;;23924:18;23911:11;;;22176:14;23911:11;23904:39;23878:10;;23849:101;;;23965:6;23962:1;23959:13;23956:2;;;-1:-1;22176:14;24021:6;14429:9;24012:16;;24005:27;23956:2;-1:-1;24305:7;24289:14;-1:-1;;24285:28;6771:39;;;;22176:14;6771:39;;14411:192;-1:-1;;;14411:192::o;14610:416::-;14810:2;14824:47;;;7047:2;14795:18;;;22136:19;7083:34;22176:14;;;7063:55;-1:-1;;;7138:12;;;7131:29;7179:12;;;14781:245::o;15033:416::-;15233:2;15247:47;;;7430:2;15218:18;;;22136:19;7466:34;22176:14;;;7446:55;-1:-1;;;7521:12;;;7514:28;7561:12;;;15204:245::o;15456:416::-;15656:2;15670:47;;;7812:2;15641:18;;;22136:19;7848:34;22176:14;;;7828:55;-1:-1;;;7903:12;;;7896:30;7945:12;;;15627:245::o;15879:416::-;16079:2;16093:47;;;8196:2;16064:18;;;22136:19;8232:29;22176:14;;;8212:50;8281:12;;;16050:245::o;16302:416::-;16502:2;16516:47;;;8532:2;16487:18;;;22136:19;8568:34;22176:14;;;8548:55;-1:-1;;;8623:12;;;8616:25;8660:12;;;16473:245::o;16725:416::-;16925:2;16939:47;;;16910:18;;;22136:19;8947:34;22176:14;;;8927:55;9001:12;;;16896:245::o;17148:416::-;17348:2;17362:47;;;9252:2;17333:18;;;22136:19;9288:34;22176:14;;;9268:55;-1:-1;;;9343:12;;;9336:27;9382:12;;;17319:245::o;17571:416::-;17771:2;17785:47;;;9633:2;17756:18;;;22136:19;9669:34;22176:14;;;9649:55;-1:-1;;;9724:12;;;9717:25;9761:12;;;17742:245::o;17994:416::-;18194:2;18208:47;;;10012:2;18179:18;;;22136:19;10048:34;22176:14;;;10028:55;-1:-1;;;10103:12;;;10096:42;10157:12;;;18165:245::o;18417:416::-;18617:2;18631:47;;;10408:2;18602:18;;;22136:19;10444:34;22176:14;;;10424:55;-1:-1;;;10499:12;;;10492:26;10537:12;;;18588:245::o;18840:305::-;10823:23;;11764:37;;11067:4;11056:16;;11050:23;11217:4;11208:14;;11764:37;11294:4;11283:16;;11277:23;11444:4;11435:14;;11764:37;11519:4;11508:16;;;11502:23;11669:4;11660:14;;11764:37;19008:3;18993:19;;18979:166::o;19152:222::-;11764:37;;;19279:2;19264:18;;19250:124::o;19381:848::-;;19686:3;19675:9;19671:19;11794:5;11771:3;11764:37;19859:2;23497:24;19859:2;19848:9;19844:18;6398:58;19686:3;19896:2;19885:9;19881:18;19874:48;19936:108;5518:5;21732:12;22148:6;22143:3;22136:19;22176:14;19675:9;22176:14;5530:93;;19859:2;5694:5;21586:14;5706:21;;-1:-1;5733:260;5758:6;5755:1;5752:13;5733:260;;;5819:13;;-1:-1;;;;;22720:54;4994:58;;21991:14;;;;4887;;;;22731:42;5773:9;5733:260;;;-1:-1;;;;;;;22720:54;;;;20131:2;20116:18;;4994:58;-1:-1;;;20214:3;20199:19;11764:37;19928:116;19657:572;-1:-1;;;19657:572::o;20236:444::-;11764:37;;;20583:2;20568:18;;11764:37;;;;20666:2;20651:18;;11764:37;20419:2;20404:18;;20390:290::o;20687:556::-;11764:37;;;21063:2;21048:18;;11764:37;;;;21146:2;21131:18;;11764:37;21229:2;21214:18;;11764:37;20898:3;20883:19;;20869:374::o;21250:214::-;22936:4;22925:16;;;;12000:35;;21373:2;21358:18;;21344:120::o;24436:117::-;-1:-1;;;;;22720:54;;24495:35;;24485:2;;24544:1;;24534:12
Metadata Hash
ipfs://f4ce0bd3af469856bccffa881d94edbe63ba8a66980e3b697ee2408f4f5f3bfa