More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 155 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 18607539 | 369 days ago | IN | 0 ETH | 0.00070777 | ||||
Approve | 18474253 | 388 days ago | IN | 0 ETH | 0.00035679 | ||||
Approve | 18454986 | 391 days ago | IN | 0 ETH | 0.00054816 | ||||
Approve | 18453469 | 391 days ago | IN | 0 ETH | 0.00042565 | ||||
Approve | 18443478 | 392 days ago | IN | 0 ETH | 0.00079351 | ||||
Approve | 18443240 | 392 days ago | IN | 0 ETH | 0.00099552 | ||||
Approve | 18442974 | 392 days ago | IN | 0 ETH | 0.001829 | ||||
Approve | 18442230 | 392 days ago | IN | 0 ETH | 0.00106193 | ||||
Approve | 18442195 | 392 days ago | IN | 0 ETH | 0.00109935 | ||||
Transfer | 18442142 | 392 days ago | IN | 0 ETH | 0.00127612 | ||||
Approve | 18442135 | 392 days ago | IN | 0 ETH | 0.00119627 | ||||
Transfer | 18442132 | 392 days ago | IN | 0 ETH | 0.00163832 | ||||
Approve | 18442130 | 392 days ago | IN | 0 ETH | 0.00108876 | ||||
Approve | 18442126 | 392 days ago | IN | 0 ETH | 0.00124135 | ||||
Approve | 18442122 | 392 days ago | IN | 0 ETH | 0.00114692 | ||||
Transfer | 18442122 | 392 days ago | IN | 0 ETH | 0.00149494 | ||||
Approve | 18442121 | 392 days ago | IN | 0 ETH | 0.0011637 | ||||
Approve | 18442121 | 392 days ago | IN | 0 ETH | 0.00116429 | ||||
Approve | 18442113 | 392 days ago | IN | 0 ETH | 0.00109357 | ||||
Approve | 18442108 | 392 days ago | IN | 0 ETH | 0.00112545 | ||||
Approve | 18442102 | 392 days ago | IN | 0 ETH | 0.00117466 | ||||
Approve | 18442101 | 392 days ago | IN | 0 ETH | 0.00120225 | ||||
Approve | 18442098 | 392 days ago | IN | 0 ETH | 0.00113218 | ||||
Approve | 18442095 | 392 days ago | IN | 0 ETH | 0.00119767 | ||||
Approve | 18442095 | 392 days ago | IN | 0 ETH | 0.00120667 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
18453471 | 391 days ago | 0.00078823 ETH | ||||
18453471 | 391 days ago | 0.00078823 ETH | ||||
18442455 | 392 days ago | 0.00080942 ETH | ||||
18442455 | 392 days ago | 0.00080942 ETH | ||||
18442146 | 392 days ago | 0.00279542 ETH | ||||
18442146 | 392 days ago | 0.00279542 ETH | ||||
18442142 | 392 days ago | 0.00177742 ETH | ||||
18442142 | 392 days ago | 0.00177742 ETH | ||||
18442142 | 392 days ago | 0.0025199 ETH | ||||
18442142 | 392 days ago | 0.0025199 ETH | ||||
18442138 | 392 days ago | 0.00361383 ETH | ||||
18442138 | 392 days ago | 0.00361383 ETH | ||||
18442119 | 392 days ago | 0.00111826 ETH | ||||
18442119 | 392 days ago | 0.00111826 ETH | ||||
18442109 | 392 days ago | 0.0017971 ETH | ||||
18442109 | 392 days ago | 0.0017971 ETH | ||||
18442107 | 392 days ago | 0.00125658 ETH | ||||
18442107 | 392 days ago | 0.00125658 ETH | ||||
18442104 | 392 days ago | 0.00189064 ETH | ||||
18442104 | 392 days ago | 0.00189064 ETH | ||||
18442103 | 392 days ago | 0.0023498 ETH | ||||
18442103 | 392 days ago | 0.0023498 ETH | ||||
18442101 | 392 days ago | 0.00199143 ETH | ||||
18442101 | 392 days ago | 0.00199143 ETH | ||||
18442100 | 392 days ago | 0.00199143 ETH |
Loading...
Loading
Contract Name:
BabyOggy
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-10-25 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.17; interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event 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 IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } library Address { function sendValue(address payable recipient, uint256 amount) internal returns(bool){ require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{value: amount}(""); return success; } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 9; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { uint256 currentAllowance = _allowances[sender][_msgSender()]; if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } } _transfer(sender, recipient, amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } contract BabyOggy is ERC20, Ownable { using Address for address payable; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; mapping (address => bool) private _isExcludedFromFees; uint256 public marketingFeeOnBuy; uint256 public marketingFeeOnSell; uint256 public marketingFeeOnTransfer; address public marketingWallet; uint256 public swapTokensAtAmount; bool private swapping; bool public swapEnabled; event ExcludeFromFees(address indexed account, bool isExcluded); event MarketingWalletChanged(address marketingWallet); event UpdateFees(uint256 marketingFeeOnBuy, uint256 marketingFeeOnSell); event SwapAndSendMarketing(uint256 tokensSwapped, uint256 bnbSend); event SwapTokensAtAmountUpdated(uint256 swapTokensAtAmount); event TradingEnabled(bool tradingEnabled); constructor () ERC20("BabyOggy", "BabyOggy") { address router; if (block.chainid == 56) { router = 0x10ED43C718714eb63d5aA57B78B54704E256024E; // BSC Pancake Mainnet Router } else if (block.chainid == 97) { router = 0xD99D1c33F9fC3444f8101754aBC46c52416550D1; // BSC Pancake Testnet Router } else if (block.chainid == 1 || block.chainid == 5) { router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; // ETH Uniswap Mainnet % Testnet } else { revert(); } IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(router); address _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = _uniswapV2Pair; _approve(address(this), address(uniswapV2Router), type(uint256).max); marketingFeeOnBuy = 1; marketingFeeOnSell = 1; marketingFeeOnTransfer = 1; marketingWallet = 0x80471297De22b1f60ce4cfa6996fe0bAf51bea43; _isExcludedFromFees[owner()] = true; _isExcludedFromFees[address(0xdead)] = true; _isExcludedFromFees[address(this)] = true; _isExcludedFromFees[0x71B5759d73262FBb223956913ecF4ecC51057641] = true; //pinklock _mint(owner(), 420_000_000_000_000 * (10 ** decimals())); swapTokensAtAmount = totalSupply() / 5_000; tradingEnabled = false; swapEnabled = false; } receive() external payable { } function claimStuckTokens(address token) external onlyOwner { require(token != address(this), "Owner cannot claim contract's balance of its own tokens"); if (token == address(0x0)) { payable(msg.sender).sendValue(address(this).balance); return; } IERC20 ERC20token = IERC20(token); uint256 balance = ERC20token.balanceOf(address(this)); ERC20token.transfer(msg.sender, balance); } function excludeFromFees(address account, bool excluded) external onlyOwner{ require(_isExcludedFromFees[account] != excluded,"Account is already the value of 'excluded'"); _isExcludedFromFees[account] = excluded; emit ExcludeFromFees(account, excluded); } function isExcludedFromFees(address account) public view returns(bool) { return _isExcludedFromFees[account]; } function updateFees(uint256 _marketingFeeOnSell, uint256 _marketingFeeOnBuy, uint256 _marketingFeeOnTransfer) external onlyOwner { marketingFeeOnSell = _marketingFeeOnSell; marketingFeeOnBuy = _marketingFeeOnBuy; marketingFeeOnTransfer = _marketingFeeOnTransfer; require(marketingFeeOnBuy <= 20, "Total Fees cannot exceed the maximum"); require(marketingFeeOnSell <= 20, "Total Fees cannot exceed the maximum"); require(marketingFeeOnTransfer <= 20, "Total Fees cannot exceed the maximum"); emit UpdateFees(marketingFeeOnSell, marketingFeeOnBuy); } function changeMarketingWallet(address _marketingWallet) external onlyOwner{ require(_marketingWallet != marketingWallet,"Marketing wallet is already that address"); require(_marketingWallet != address(0),"Marketing wallet cannot be the zero address"); marketingWallet = _marketingWallet; emit MarketingWalletChanged(marketingWallet); } bool public tradingEnabled; function enableTrading() external onlyOwner{ require(!tradingEnabled, "Trading already enabled."); tradingEnabled = true; swapEnabled = true; emit TradingEnabled(tradingEnabled); } function _transfer(address from,address to,uint256 amount) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(tradingEnabled || _isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading not yet enabled!"); if (amount == 0) { super._transfer(from, to, 0); return; } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= swapTokensAtAmount; if (canSwap && !swapping && to == uniswapV2Pair && swapEnabled ) { swapping = true; swapAndSendMarketing(contractTokenBalance); swapping = false; } uint256 _totalFees; if (_isExcludedFromFees[from] || _isExcludedFromFees[to] || swapping) { _totalFees = 0; } else if (from == uniswapV2Pair) { _totalFees = marketingFeeOnBuy; } else if (to == uniswapV2Pair) { _totalFees = marketingFeeOnSell; } else { _totalFees = marketingFeeOnTransfer; } if (_totalFees > 0) { uint256 fees = (amount * _totalFees) / 100; amount = amount - fees; super._transfer(from, address(this), fees); } super._transfer(from, to, amount); } function setSwapEnabled(bool _enabled) external onlyOwner{ require(swapEnabled != _enabled, "swapEnabled already at this state."); swapEnabled = _enabled; } function setSwapTokensAtAmount(uint256 newAmount) external onlyOwner{ require(newAmount > totalSupply() / 1_000_000, "SwapTokensAtAmount must be greater than 0.0001% of total supply"); swapTokensAtAmount = newAmount; emit SwapTokensAtAmountUpdated(swapTokensAtAmount); } function swapAndSendMarketing(uint256 tokenAmount) private { uint256 initialBalance = address(this).balance; address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp); uint256 newBalance = address(this).balance - initialBalance; payable(marketingWallet).sendValue(newBalance); emit SwapAndSendMarketing(tokenAmount, newBalance); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"marketingWallet","type":"address"}],"name":"MarketingWalletChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"bnbSend","type":"uint256"}],"name":"SwapAndSendMarketing","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"SwapTokensAtAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"tradingEnabled","type":"bool"}],"name":"TradingEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"marketingFeeOnBuy","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"marketingFeeOnSell","type":"uint256"}],"name":"UpdateFees","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"changeMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"claimStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeOnBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeOnTransfer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"_marketingFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"_marketingFeeOnTransfer","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040523480156200001157600080fd5b506040518060400160405280600881526020017f426162794f6767790000000000000000000000000000000000000000000000008152506040518060400160405280600881526020017f426162794f67677900000000000000000000000000000000000000000000000081525081600390816200008f919062000cdc565b508060049081620000a1919062000cdc565b5050506000620000b6620006ca60201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506000603846036200017d577310ed43c718714eb63d5aa57b78b54704e256024e9050620001dd565b60614603620001a35773d99d1c33f9fc3444f8101754abc46c52416550d19050620001dc565b6001461480620001b35750600546145b15620001d657737a250d5630b4cf539739df2c5dacb4c659f2488d9050620001db565b600080fd5b5b5b600081905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000230573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000256919062000e2d565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e4919062000e2d565b6040518363ffffffff1660e01b81526004016200030392919062000e70565b6020604051808303816000875af115801562000323573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000349919062000e2d565b905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200042230600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff620006d260201b60201c565b60016009819055506001600a819055506001600b819055507380471297de22b1f60ce4cfa6996fe0baf51bea43600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160086000620004a5620008a360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016008600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860007371b5759d73262fbb223956913ecf4ecc5105764173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200066662000628620008a360201b60201c565b62000638620008cd60201b60201c565b600a6200064691906200102d565b66017dfcdece40006200065a91906200107e565b620008d660201b60201c565b6113886200067962000a4e60201b60201c565b620006859190620010f8565b600d819055506000600e60026101000a81548160ff0219169083151502179055506000600e60016101000a81548160ff0219169083151502179055505050506200134c565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000744576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200073b90620011b7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620007b6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007ad906200124f565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405162000896919062001282565b60405180910390a3505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006009905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000948576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200093f90620012ef565b60405180910390fd5b6200095c6000838362000a5860201b60201c565b806002600082825462000970919062001311565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620009c7919062001311565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000a2e919062001282565b60405180910390a362000a4a6000838362000a5d60201b60201c565b5050565b6000600254905090565b505050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000ae457607f821691505b60208210810362000afa5762000af962000a9c565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000b647fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000b25565b62000b70868362000b25565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000bbd62000bb762000bb18462000b88565b62000b92565b62000b88565b9050919050565b6000819050919050565b62000bd98362000b9c565b62000bf162000be88262000bc4565b84845462000b32565b825550505050565b600090565b62000c0862000bf9565b62000c1581848462000bce565b505050565b5b8181101562000c3d5762000c3160008262000bfe565b60018101905062000c1b565b5050565b601f82111562000c8c5762000c568162000b00565b62000c618462000b15565b8101602085101562000c71578190505b62000c8962000c808562000b15565b83018262000c1a565b50505b505050565b600082821c905092915050565b600062000cb16000198460080262000c91565b1980831691505092915050565b600062000ccc838362000c9e565b9150826002028217905092915050565b62000ce78262000a62565b67ffffffffffffffff81111562000d035762000d0262000a6d565b5b62000d0f825462000acb565b62000d1c82828562000c41565b600060209050601f83116001811462000d54576000841562000d3f578287015190505b62000d4b858262000cbe565b86555062000dbb565b601f19841662000d648662000b00565b60005b8281101562000d8e5784890151825560018201915060208501945060208101905062000d67565b8683101562000dae578489015162000daa601f89168262000c9e565b8355505b6001600288020188555050505b505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000df58262000dc8565b9050919050565b62000e078162000de8565b811462000e1357600080fd5b50565b60008151905062000e278162000dfc565b92915050565b60006020828403121562000e465762000e4562000dc3565b5b600062000e568482850162000e16565b91505092915050565b62000e6a8162000de8565b82525050565b600060408201905062000e87600083018562000e5f565b62000e96602083018462000e5f565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000f2b5780860481111562000f035762000f0262000e9d565b5b600185161562000f135780820291505b808102905062000f238562000ecc565b945062000ee3565b94509492505050565b60008262000f46576001905062001019565b8162000f56576000905062001019565b816001811462000f6f576002811462000f7a5762000fb0565b600191505062001019565b60ff84111562000f8f5762000f8e62000e9d565b5b8360020a91508482111562000fa95762000fa862000e9d565b5b5062001019565b5060208310610133831016604e8410600b841016171562000fea5782820a90508381111562000fe45762000fe362000e9d565b5b62001019565b62000ff9848484600162000ed9565b9250905081840481111562001013576200101262000e9d565b5b81810290505b9392505050565b600060ff82169050919050565b60006200103a8262000b88565b9150620010478362001020565b9250620010767fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000f34565b905092915050565b60006200108b8262000b88565b9150620010988362000b88565b9250828202620010a88162000b88565b91508282048414831517620010c257620010c162000e9d565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620011058262000b88565b9150620011128362000b88565b925082620011255762001124620010c9565b5b828204905092915050565b600082825260208201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006200119f60248362001130565b9150620011ac8262001141565b604082019050919050565b60006020820190508181036000830152620011d28162001190565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006200123760228362001130565b91506200124482620011d9565b604082019050919050565b600060208201905081810360008301526200126a8162001228565b9050919050565b6200127c8162000b88565b82525050565b600060208201905062001299600083018462001271565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620012d7601f8362001130565b9150620012e4826200129f565b602082019050919050565b600060208201905081810360008301526200130a81620012c8565b9050919050565b60006200131e8262000b88565b91506200132b8362000b88565b925082820190508082111562001346576200134562000e9d565b5b92915050565b613cca806200135c6000396000f3fe6080604052600436106101dc5760003560e01c806375f0a87411610102578063bb85c6d111610095578063e01af92c11610064578063e01af92c146106d1578063e2f45605146106fa578063f2fde38b14610725578063f9d0831a1461074e576101e3565b8063bb85c6d114610617578063c024666814610640578063dc4c7dbc14610669578063dd62ed3e14610694576101e3565b8063a457c2d7116100d1578063a457c2d714610549578063a9059cbb14610586578063ae288023146105c3578063afa4f3b2146105ee576101e3565b806375f0a874146104b15780638a8c523c146104dc5780638da5cb5b146104f357806395d89b411461051e576101e3565b8063395093511161017a5780635fc2e596116101495780635fc2e596146104075780636ddd17131461043257806370a082311461045d578063715018a61461049a576101e3565b8063395093511461033757806349bd5a5e146103745780634ada218b1461039f5780634fbee193146103ca576101e3565b806318160ddd116101b657806318160ddd1461027b57806322429085146102a657806323b872dd146102cf578063313ce5671461030c576101e3565b806306fdde03146101e8578063095ea7b3146102135780631694505e14610250576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd610777565b60405161020a919061299f565b60405180910390f35b34801561021f57600080fd5b5061023a60048036038101906102359190612a5a565b610809565b6040516102479190612ab5565b60405180910390f35b34801561025c57600080fd5b50610265610827565b6040516102729190612b2f565b60405180910390f35b34801561028757600080fd5b5061029061084d565b60405161029d9190612b59565b60405180910390f35b3480156102b257600080fd5b506102cd60048036038101906102c89190612b74565b610857565b005b3480156102db57600080fd5b506102f660048036038101906102f19190612bc7565b610a17565b6040516103039190612ab5565b60405180910390f35b34801561031857600080fd5b50610321610b36565b60405161032e9190612c36565b60405180910390f35b34801561034357600080fd5b5061035e60048036038101906103599190612a5a565b610b3f565b60405161036b9190612ab5565b60405180910390f35b34801561038057600080fd5b50610389610beb565b6040516103969190612c60565b60405180910390f35b3480156103ab57600080fd5b506103b4610c11565b6040516103c19190612ab5565b60405180910390f35b3480156103d657600080fd5b506103f160048036038101906103ec9190612c7b565b610c24565b6040516103fe9190612ab5565b60405180910390f35b34801561041357600080fd5b5061041c610c7a565b6040516104299190612b59565b60405180910390f35b34801561043e57600080fd5b50610447610c80565b6040516104549190612ab5565b60405180910390f35b34801561046957600080fd5b50610484600480360381019061047f9190612c7b565b610c93565b6040516104919190612b59565b60405180910390f35b3480156104a657600080fd5b506104af610cdb565b005b3480156104bd57600080fd5b506104c6610e33565b6040516104d39190612c60565b60405180910390f35b3480156104e857600080fd5b506104f1610e59565b005b3480156104ff57600080fd5b50610508610fbe565b6040516105159190612c60565b60405180910390f35b34801561052a57600080fd5b50610533610fe8565b604051610540919061299f565b60405180910390f35b34801561055557600080fd5b50610570600480360381019061056b9190612a5a565b61107a565b60405161057d9190612ab5565b60405180910390f35b34801561059257600080fd5b506105ad60048036038101906105a89190612a5a565b611165565b6040516105ba9190612ab5565b60405180910390f35b3480156105cf57600080fd5b506105d8611183565b6040516105e59190612b59565b60405180910390f35b3480156105fa57600080fd5b5061061560048036038101906106109190612ca8565b611189565b005b34801561062357600080fd5b5061063e60048036038101906106399190612c7b565b6112ba565b005b34801561064c57600080fd5b5061066760048036038101906106629190612d01565b6114ed565b005b34801561067557600080fd5b5061067e6116bf565b60405161068b9190612b59565b60405180910390f35b3480156106a057600080fd5b506106bb60048036038101906106b69190612d41565b6116c5565b6040516106c89190612b59565b60405180910390f35b3480156106dd57600080fd5b506106f860048036038101906106f39190612d81565b61174c565b005b34801561070657600080fd5b5061070f611855565b60405161071c9190612b59565b60405180910390f35b34801561073157600080fd5b5061074c60048036038101906107479190612c7b565b61185b565b005b34801561075a57600080fd5b5061077560048036038101906107709190612c7b565b611a21565b005b60606003805461078690612ddd565b80601f01602080910402602001604051908101604052809291908181526020018280546107b290612ddd565b80156107ff5780601f106107d4576101008083540402835291602001916107ff565b820191906000526020600020905b8154815290600101906020018083116107e257829003601f168201915b5050505050905090565b600061081d610816611c91565b8484611c99565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b61085f611c91565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e590612e5a565b60405180910390fd5b82600a819055508160098190555080600b8190555060146009541115610949576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094090612eec565b60405180910390fd5b6014600a54111561098f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098690612eec565b60405180910390fd5b6014600b5411156109d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cc90612eec565b60405180910390fd5b7f53482196ef67ac615caab1c3eca2c270acbfdcd75e57c5f24c1b98b10c8e6e04600a54600954604051610a0a929190612f0c565b60405180910390a1505050565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a63611c91565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610b1f5782811015610b0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0190612fa7565b60405180910390fd5b610b1e85610b16611c91565b858403611c99565b5b610b2a858585611e62565b60019150509392505050565b60006009905090565b6000610be1610b4c611c91565b848460016000610b5a611c91565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bdc9190612ff6565b611c99565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60029054906101000a900460ff1681565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60095481565b600e60019054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ce3611c91565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6990612e5a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610e61611c91565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ef0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee790612e5a565b60405180910390fd5b600e60029054906101000a900460ff1615610f40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3790613076565b60405180910390fd5b6001600e60026101000a81548160ff0219169083151502179055506001600e60016101000a81548160ff0219169083151502179055507fbeda7dca7bc1b3e80b871f4818129ec73b771581f803d553aeb3484098e5f65a600e60029054906101000a900460ff16604051610fb49190612ab5565b60405180910390a1565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610ff790612ddd565b80601f016020809104026020016040519081016040528092919081815260200182805461102390612ddd565b80156110705780601f1061104557610100808354040283529160200191611070565b820191906000526020600020905b81548152906001019060200180831161105357829003601f168201915b5050505050905090565b60008060016000611089611c91565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611146576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113d90613108565b60405180910390fd5b61115a611151611c91565b85858403611c99565b600191505092915050565b6000611179611172611c91565b8484611e62565b6001905092915050565b600b5481565b611191611c91565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611220576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121790612e5a565b60405180910390fd5b620f424061122c61084d565b6112369190613157565b8111611277576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126e906131fa565b60405180910390fd5b80600d819055507f7c26bfee26f82e8cb57af48f4019cc64582db6fac7bad778433f10572ae8b145600d546040516112af9190612b59565b60405180910390a150565b6112c2611c91565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134890612e5a565b60405180910390fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d89061328c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611450576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114479061331e565b60405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fa964ba5c52d7e7bfcae4fb1ae4db9f211756d0e618e85fac5283b882a39e7a0b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516114e29190612c60565b60405180910390a150565b6114f5611c91565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611584576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157b90612e5a565b60405180910390fd5b801515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503611616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160d906133b0565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516116b39190612ab5565b60405180910390a25050565b600a5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611754611c91565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117da90612e5a565b60405180910390fd5b801515600e60019054906101000a900460ff16151503611838576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182f90613442565b60405180910390fd5b80600e60016101000a81548160ff02191690831515021790555050565b600d5481565b611863611c91565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e990612e5a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611961576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611958906134d4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611a29611c91565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ab8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aaf90612e5a565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1d90613566565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b8957611b83473373ffffffffffffffffffffffffffffffffffffffff1661231990919063ffffffff16565b50611c8e565b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611bc99190612c60565b602060405180830381865afa158015611be6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c0a919061359b565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401611c479291906135c8565b6020604051808303816000875af1158015611c66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c8a9190613606565b5050505b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cff906136a5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6e90613737565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611e559190612b59565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ed1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec8906137c9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f379061385b565b60405180910390fd5b600e60029054906101000a900460ff1680611fa45750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611ff85750600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612037576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202e906138c7565b60405180910390fd5b600081036120505761204b838360006123d4565b612314565b600061205b30610c93565b90506000600d5482101590508080156120815750600e60009054906101000a900460ff16155b80156120da5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156120f25750600e60019054906101000a900460ff165b15612137576001600e60006101000a81548160ff02191690831515021790555061211b82612653565b6000600e60006101000a81548160ff0219169083151502179055505b6000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806121da5750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806121f15750600e60009054906101000a900460ff165b156121ff57600090506122c5565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361225e5760095490506122c4565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036122bd57600a5490506122c3565b600b5490505b5b5b6000811115612305576000606482866122de91906138e7565b6122e89190613157565b905080856122f69190613929565b94506123038730836123d4565b505b6123108686866123d4565b5050505b505050565b60008147101561235e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612355906139a9565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1683604051612384906139fa565b60006040518083038185875af1925050503d80600081146123c1576040519150601f19603f3d011682016040523d82523d6000602084013e6123c6565b606091505b505090508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612443576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161243a906137c9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036124b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124a99061385b565b60405180910390fd5b6124bd838383612905565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612543576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253a90613a81565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125d69190612ff6565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161263a9190612b59565b60405180910390a361264d84848461290a565b50505050565b60004790506000600267ffffffffffffffff81111561267557612674613aa1565b5b6040519080825280602002602001820160405280156126a35781602001602082028036833780820191505090505b50905030816000815181106126bb576126ba613ad0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612762573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127869190613b14565b8160018151811061279a57612799613ad0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008430426040518663ffffffff1660e01b8152600401612838959493929190613c3a565b600060405180830381600087803b15801561285257600080fd5b505af1158015612866573d6000803e3d6000fd5b50505050600082476128789190613929565b90506128c581600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661231990919063ffffffff16565b507f957ad1fc6d4d41da6d1a8d37303289ef3c4b78e0285ff5df1e12070ef0e6299984826040516128f7929190612f0c565b60405180910390a150505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561294957808201518184015260208101905061292e565b60008484015250505050565b6000601f19601f8301169050919050565b60006129718261290f565b61297b818561291a565b935061298b81856020860161292b565b61299481612955565b840191505092915050565b600060208201905081810360008301526129b98184612966565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006129f1826129c6565b9050919050565b612a01816129e6565b8114612a0c57600080fd5b50565b600081359050612a1e816129f8565b92915050565b6000819050919050565b612a3781612a24565b8114612a4257600080fd5b50565b600081359050612a5481612a2e565b92915050565b60008060408385031215612a7157612a706129c1565b5b6000612a7f85828601612a0f565b9250506020612a9085828601612a45565b9150509250929050565b60008115159050919050565b612aaf81612a9a565b82525050565b6000602082019050612aca6000830184612aa6565b92915050565b6000819050919050565b6000612af5612af0612aeb846129c6565b612ad0565b6129c6565b9050919050565b6000612b0782612ada565b9050919050565b6000612b1982612afc565b9050919050565b612b2981612b0e565b82525050565b6000602082019050612b446000830184612b20565b92915050565b612b5381612a24565b82525050565b6000602082019050612b6e6000830184612b4a565b92915050565b600080600060608486031215612b8d57612b8c6129c1565b5b6000612b9b86828701612a45565b9350506020612bac86828701612a45565b9250506040612bbd86828701612a45565b9150509250925092565b600080600060608486031215612be057612bdf6129c1565b5b6000612bee86828701612a0f565b9350506020612bff86828701612a0f565b9250506040612c1086828701612a45565b9150509250925092565b600060ff82169050919050565b612c3081612c1a565b82525050565b6000602082019050612c4b6000830184612c27565b92915050565b612c5a816129e6565b82525050565b6000602082019050612c756000830184612c51565b92915050565b600060208284031215612c9157612c906129c1565b5b6000612c9f84828501612a0f565b91505092915050565b600060208284031215612cbe57612cbd6129c1565b5b6000612ccc84828501612a45565b91505092915050565b612cde81612a9a565b8114612ce957600080fd5b50565b600081359050612cfb81612cd5565b92915050565b60008060408385031215612d1857612d176129c1565b5b6000612d2685828601612a0f565b9250506020612d3785828601612cec565b9150509250929050565b60008060408385031215612d5857612d576129c1565b5b6000612d6685828601612a0f565b9250506020612d7785828601612a0f565b9150509250929050565b600060208284031215612d9757612d966129c1565b5b6000612da584828501612cec565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612df557607f821691505b602082108103612e0857612e07612dae565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612e4460208361291a565b9150612e4f82612e0e565b602082019050919050565b60006020820190508181036000830152612e7381612e37565b9050919050565b7f546f74616c20466565732063616e6e6f742065786365656420746865206d617860008201527f696d756d00000000000000000000000000000000000000000000000000000000602082015250565b6000612ed660248361291a565b9150612ee182612e7a565b604082019050919050565b60006020820190508181036000830152612f0581612ec9565b9050919050565b6000604082019050612f216000830185612b4a565b612f2e6020830184612b4a565b9392505050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000612f9160288361291a565b9150612f9c82612f35565b604082019050919050565b60006020820190508181036000830152612fc081612f84565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061300182612a24565b915061300c83612a24565b925082820190508082111561302457613023612fc7565b5b92915050565b7f54726164696e6720616c726561647920656e61626c65642e0000000000000000600082015250565b600061306060188361291a565b915061306b8261302a565b602082019050919050565b6000602082019050818103600083015261308f81613053565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006130f260258361291a565b91506130fd82613096565b604082019050919050565b60006020820190508181036000830152613121816130e5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061316282612a24565b915061316d83612a24565b92508261317d5761317c613128565b5b828204905092915050565b7f53776170546f6b656e734174416d6f756e74206d75737420626520677265617460008201527f6572207468616e20302e3030303125206f6620746f74616c20737570706c7900602082015250565b60006131e4603f8361291a565b91506131ef82613188565b604082019050919050565b60006020820190508181036000830152613213816131d7565b9050919050565b7f4d61726b6574696e672077616c6c657420697320616c7265616479207468617460008201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b600061327660288361291a565b91506132818261321a565b604082019050919050565b600060208201905081810360008301526132a581613269565b9050919050565b7f4d61726b6574696e672077616c6c65742063616e6e6f7420626520746865207a60008201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b6000613308602b8361291a565b9150613313826132ac565b604082019050919050565b60006020820190508181036000830152613337816132fb565b9050919050565b7f4163636f756e7420697320616c7265616479207468652076616c7565206f662060008201527f276578636c756465642700000000000000000000000000000000000000000000602082015250565b600061339a602a8361291a565b91506133a58261333e565b604082019050919050565b600060208201905081810360008301526133c98161338d565b9050919050565b7f73776170456e61626c656420616c72656164792061742074686973207374617460008201527f652e000000000000000000000000000000000000000000000000000000000000602082015250565b600061342c60228361291a565b9150613437826133d0565b604082019050919050565b6000602082019050818103600083015261345b8161341f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006134be60268361291a565b91506134c982613462565b604082019050919050565b600060208201905081810360008301526134ed816134b1565b9050919050565b7f4f776e65722063616e6e6f7420636c61696d20636f6e7472616374277320626160008201527f6c616e6365206f6620697473206f776e20746f6b656e73000000000000000000602082015250565b600061355060378361291a565b915061355b826134f4565b604082019050919050565b6000602082019050818103600083015261357f81613543565b9050919050565b60008151905061359581612a2e565b92915050565b6000602082840312156135b1576135b06129c1565b5b60006135bf84828501613586565b91505092915050565b60006040820190506135dd6000830185612c51565b6135ea6020830184612b4a565b9392505050565b60008151905061360081612cd5565b92915050565b60006020828403121561361c5761361b6129c1565b5b600061362a848285016135f1565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061368f60248361291a565b915061369a82613633565b604082019050919050565b600060208201905081810360008301526136be81613682565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061372160228361291a565b915061372c826136c5565b604082019050919050565b6000602082019050818103600083015261375081613714565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006137b360258361291a565b91506137be82613757565b604082019050919050565b600060208201905081810360008301526137e2816137a6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061384560238361291a565b9150613850826137e9565b604082019050919050565b6000602082019050818103600083015261387481613838565b9050919050565b7f54726164696e67206e6f742079657420656e61626c6564210000000000000000600082015250565b60006138b160188361291a565b91506138bc8261387b565b602082019050919050565b600060208201905081810360008301526138e0816138a4565b9050919050565b60006138f282612a24565b91506138fd83612a24565b925082820261390b81612a24565b9150828204841483151761392257613921612fc7565b5b5092915050565b600061393482612a24565b915061393f83612a24565b925082820390508181111561395757613956612fc7565b5b92915050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000613993601d8361291a565b915061399e8261395d565b602082019050919050565b600060208201905081810360008301526139c281613986565b9050919050565b600081905092915050565b50565b60006139e46000836139c9565b91506139ef826139d4565b600082019050919050565b6000613a05826139d7565b9150819050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613a6b60268361291a565b9150613a7682613a0f565b604082019050919050565b60006020820190508181036000830152613a9a81613a5e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613b0e816129f8565b92915050565b600060208284031215613b2a57613b296129c1565b5b6000613b3884828501613aff565b91505092915050565b6000819050919050565b6000613b66613b61613b5c84613b41565b612ad0565b612a24565b9050919050565b613b7681613b4b565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613bb1816129e6565b82525050565b6000613bc38383613ba8565b60208301905092915050565b6000602082019050919050565b6000613be782613b7c565b613bf18185613b87565b9350613bfc83613b98565b8060005b83811015613c2d578151613c148882613bb7565b9750613c1f83613bcf565b925050600181019050613c00565b5085935050505092915050565b600060a082019050613c4f6000830188612b4a565b613c5c6020830187613b6d565b8181036040830152613c6e8186613bdc565b9050613c7d6060830185612c51565b613c8a6080830184612b4a565b969550505050505056fea2646970667358221220db267e0bde30b72d23c659d97e0b3d014c03c4155d606d142670be88e6c5b36264736f6c63430008110033
Deployed Bytecode
0x6080604052600436106101dc5760003560e01c806375f0a87411610102578063bb85c6d111610095578063e01af92c11610064578063e01af92c146106d1578063e2f45605146106fa578063f2fde38b14610725578063f9d0831a1461074e576101e3565b8063bb85c6d114610617578063c024666814610640578063dc4c7dbc14610669578063dd62ed3e14610694576101e3565b8063a457c2d7116100d1578063a457c2d714610549578063a9059cbb14610586578063ae288023146105c3578063afa4f3b2146105ee576101e3565b806375f0a874146104b15780638a8c523c146104dc5780638da5cb5b146104f357806395d89b411461051e576101e3565b8063395093511161017a5780635fc2e596116101495780635fc2e596146104075780636ddd17131461043257806370a082311461045d578063715018a61461049a576101e3565b8063395093511461033757806349bd5a5e146103745780634ada218b1461039f5780634fbee193146103ca576101e3565b806318160ddd116101b657806318160ddd1461027b57806322429085146102a657806323b872dd146102cf578063313ce5671461030c576101e3565b806306fdde03146101e8578063095ea7b3146102135780631694505e14610250576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd610777565b60405161020a919061299f565b60405180910390f35b34801561021f57600080fd5b5061023a60048036038101906102359190612a5a565b610809565b6040516102479190612ab5565b60405180910390f35b34801561025c57600080fd5b50610265610827565b6040516102729190612b2f565b60405180910390f35b34801561028757600080fd5b5061029061084d565b60405161029d9190612b59565b60405180910390f35b3480156102b257600080fd5b506102cd60048036038101906102c89190612b74565b610857565b005b3480156102db57600080fd5b506102f660048036038101906102f19190612bc7565b610a17565b6040516103039190612ab5565b60405180910390f35b34801561031857600080fd5b50610321610b36565b60405161032e9190612c36565b60405180910390f35b34801561034357600080fd5b5061035e60048036038101906103599190612a5a565b610b3f565b60405161036b9190612ab5565b60405180910390f35b34801561038057600080fd5b50610389610beb565b6040516103969190612c60565b60405180910390f35b3480156103ab57600080fd5b506103b4610c11565b6040516103c19190612ab5565b60405180910390f35b3480156103d657600080fd5b506103f160048036038101906103ec9190612c7b565b610c24565b6040516103fe9190612ab5565b60405180910390f35b34801561041357600080fd5b5061041c610c7a565b6040516104299190612b59565b60405180910390f35b34801561043e57600080fd5b50610447610c80565b6040516104549190612ab5565b60405180910390f35b34801561046957600080fd5b50610484600480360381019061047f9190612c7b565b610c93565b6040516104919190612b59565b60405180910390f35b3480156104a657600080fd5b506104af610cdb565b005b3480156104bd57600080fd5b506104c6610e33565b6040516104d39190612c60565b60405180910390f35b3480156104e857600080fd5b506104f1610e59565b005b3480156104ff57600080fd5b50610508610fbe565b6040516105159190612c60565b60405180910390f35b34801561052a57600080fd5b50610533610fe8565b604051610540919061299f565b60405180910390f35b34801561055557600080fd5b50610570600480360381019061056b9190612a5a565b61107a565b60405161057d9190612ab5565b60405180910390f35b34801561059257600080fd5b506105ad60048036038101906105a89190612a5a565b611165565b6040516105ba9190612ab5565b60405180910390f35b3480156105cf57600080fd5b506105d8611183565b6040516105e59190612b59565b60405180910390f35b3480156105fa57600080fd5b5061061560048036038101906106109190612ca8565b611189565b005b34801561062357600080fd5b5061063e60048036038101906106399190612c7b565b6112ba565b005b34801561064c57600080fd5b5061066760048036038101906106629190612d01565b6114ed565b005b34801561067557600080fd5b5061067e6116bf565b60405161068b9190612b59565b60405180910390f35b3480156106a057600080fd5b506106bb60048036038101906106b69190612d41565b6116c5565b6040516106c89190612b59565b60405180910390f35b3480156106dd57600080fd5b506106f860048036038101906106f39190612d81565b61174c565b005b34801561070657600080fd5b5061070f611855565b60405161071c9190612b59565b60405180910390f35b34801561073157600080fd5b5061074c60048036038101906107479190612c7b565b61185b565b005b34801561075a57600080fd5b5061077560048036038101906107709190612c7b565b611a21565b005b60606003805461078690612ddd565b80601f01602080910402602001604051908101604052809291908181526020018280546107b290612ddd565b80156107ff5780601f106107d4576101008083540402835291602001916107ff565b820191906000526020600020905b8154815290600101906020018083116107e257829003601f168201915b5050505050905090565b600061081d610816611c91565b8484611c99565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b61085f611c91565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e590612e5a565b60405180910390fd5b82600a819055508160098190555080600b8190555060146009541115610949576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094090612eec565b60405180910390fd5b6014600a54111561098f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098690612eec565b60405180910390fd5b6014600b5411156109d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cc90612eec565b60405180910390fd5b7f53482196ef67ac615caab1c3eca2c270acbfdcd75e57c5f24c1b98b10c8e6e04600a54600954604051610a0a929190612f0c565b60405180910390a1505050565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a63611c91565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610b1f5782811015610b0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0190612fa7565b60405180910390fd5b610b1e85610b16611c91565b858403611c99565b5b610b2a858585611e62565b60019150509392505050565b60006009905090565b6000610be1610b4c611c91565b848460016000610b5a611c91565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bdc9190612ff6565b611c99565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60029054906101000a900460ff1681565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60095481565b600e60019054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ce3611c91565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6990612e5a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610e61611c91565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ef0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee790612e5a565b60405180910390fd5b600e60029054906101000a900460ff1615610f40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3790613076565b60405180910390fd5b6001600e60026101000a81548160ff0219169083151502179055506001600e60016101000a81548160ff0219169083151502179055507fbeda7dca7bc1b3e80b871f4818129ec73b771581f803d553aeb3484098e5f65a600e60029054906101000a900460ff16604051610fb49190612ab5565b60405180910390a1565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610ff790612ddd565b80601f016020809104026020016040519081016040528092919081815260200182805461102390612ddd565b80156110705780601f1061104557610100808354040283529160200191611070565b820191906000526020600020905b81548152906001019060200180831161105357829003601f168201915b5050505050905090565b60008060016000611089611c91565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611146576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113d90613108565b60405180910390fd5b61115a611151611c91565b85858403611c99565b600191505092915050565b6000611179611172611c91565b8484611e62565b6001905092915050565b600b5481565b611191611c91565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611220576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121790612e5a565b60405180910390fd5b620f424061122c61084d565b6112369190613157565b8111611277576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126e906131fa565b60405180910390fd5b80600d819055507f7c26bfee26f82e8cb57af48f4019cc64582db6fac7bad778433f10572ae8b145600d546040516112af9190612b59565b60405180910390a150565b6112c2611c91565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134890612e5a565b60405180910390fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d89061328c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611450576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114479061331e565b60405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fa964ba5c52d7e7bfcae4fb1ae4db9f211756d0e618e85fac5283b882a39e7a0b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516114e29190612c60565b60405180910390a150565b6114f5611c91565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611584576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157b90612e5a565b60405180910390fd5b801515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503611616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160d906133b0565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516116b39190612ab5565b60405180910390a25050565b600a5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611754611c91565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117da90612e5a565b60405180910390fd5b801515600e60019054906101000a900460ff16151503611838576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182f90613442565b60405180910390fd5b80600e60016101000a81548160ff02191690831515021790555050565b600d5481565b611863611c91565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e990612e5a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611961576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611958906134d4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611a29611c91565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ab8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aaf90612e5a565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1d90613566565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b8957611b83473373ffffffffffffffffffffffffffffffffffffffff1661231990919063ffffffff16565b50611c8e565b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611bc99190612c60565b602060405180830381865afa158015611be6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c0a919061359b565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401611c479291906135c8565b6020604051808303816000875af1158015611c66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c8a9190613606565b5050505b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cff906136a5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6e90613737565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611e559190612b59565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ed1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec8906137c9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f379061385b565b60405180910390fd5b600e60029054906101000a900460ff1680611fa45750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611ff85750600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612037576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202e906138c7565b60405180910390fd5b600081036120505761204b838360006123d4565b612314565b600061205b30610c93565b90506000600d5482101590508080156120815750600e60009054906101000a900460ff16155b80156120da5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156120f25750600e60019054906101000a900460ff165b15612137576001600e60006101000a81548160ff02191690831515021790555061211b82612653565b6000600e60006101000a81548160ff0219169083151502179055505b6000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806121da5750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806121f15750600e60009054906101000a900460ff165b156121ff57600090506122c5565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361225e5760095490506122c4565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036122bd57600a5490506122c3565b600b5490505b5b5b6000811115612305576000606482866122de91906138e7565b6122e89190613157565b905080856122f69190613929565b94506123038730836123d4565b505b6123108686866123d4565b5050505b505050565b60008147101561235e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612355906139a9565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1683604051612384906139fa565b60006040518083038185875af1925050503d80600081146123c1576040519150601f19603f3d011682016040523d82523d6000602084013e6123c6565b606091505b505090508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612443576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161243a906137c9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036124b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124a99061385b565b60405180910390fd5b6124bd838383612905565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612543576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253a90613a81565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125d69190612ff6565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161263a9190612b59565b60405180910390a361264d84848461290a565b50505050565b60004790506000600267ffffffffffffffff81111561267557612674613aa1565b5b6040519080825280602002602001820160405280156126a35781602001602082028036833780820191505090505b50905030816000815181106126bb576126ba613ad0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612762573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127869190613b14565b8160018151811061279a57612799613ad0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008430426040518663ffffffff1660e01b8152600401612838959493929190613c3a565b600060405180830381600087803b15801561285257600080fd5b505af1158015612866573d6000803e3d6000fd5b50505050600082476128789190613929565b90506128c581600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661231990919063ffffffff16565b507f957ad1fc6d4d41da6d1a8d37303289ef3c4b78e0285ff5df1e12070ef0e6299984826040516128f7929190612f0c565b60405180910390a150505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561294957808201518184015260208101905061292e565b60008484015250505050565b6000601f19601f8301169050919050565b60006129718261290f565b61297b818561291a565b935061298b81856020860161292b565b61299481612955565b840191505092915050565b600060208201905081810360008301526129b98184612966565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006129f1826129c6565b9050919050565b612a01816129e6565b8114612a0c57600080fd5b50565b600081359050612a1e816129f8565b92915050565b6000819050919050565b612a3781612a24565b8114612a4257600080fd5b50565b600081359050612a5481612a2e565b92915050565b60008060408385031215612a7157612a706129c1565b5b6000612a7f85828601612a0f565b9250506020612a9085828601612a45565b9150509250929050565b60008115159050919050565b612aaf81612a9a565b82525050565b6000602082019050612aca6000830184612aa6565b92915050565b6000819050919050565b6000612af5612af0612aeb846129c6565b612ad0565b6129c6565b9050919050565b6000612b0782612ada565b9050919050565b6000612b1982612afc565b9050919050565b612b2981612b0e565b82525050565b6000602082019050612b446000830184612b20565b92915050565b612b5381612a24565b82525050565b6000602082019050612b6e6000830184612b4a565b92915050565b600080600060608486031215612b8d57612b8c6129c1565b5b6000612b9b86828701612a45565b9350506020612bac86828701612a45565b9250506040612bbd86828701612a45565b9150509250925092565b600080600060608486031215612be057612bdf6129c1565b5b6000612bee86828701612a0f565b9350506020612bff86828701612a0f565b9250506040612c1086828701612a45565b9150509250925092565b600060ff82169050919050565b612c3081612c1a565b82525050565b6000602082019050612c4b6000830184612c27565b92915050565b612c5a816129e6565b82525050565b6000602082019050612c756000830184612c51565b92915050565b600060208284031215612c9157612c906129c1565b5b6000612c9f84828501612a0f565b91505092915050565b600060208284031215612cbe57612cbd6129c1565b5b6000612ccc84828501612a45565b91505092915050565b612cde81612a9a565b8114612ce957600080fd5b50565b600081359050612cfb81612cd5565b92915050565b60008060408385031215612d1857612d176129c1565b5b6000612d2685828601612a0f565b9250506020612d3785828601612cec565b9150509250929050565b60008060408385031215612d5857612d576129c1565b5b6000612d6685828601612a0f565b9250506020612d7785828601612a0f565b9150509250929050565b600060208284031215612d9757612d966129c1565b5b6000612da584828501612cec565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612df557607f821691505b602082108103612e0857612e07612dae565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612e4460208361291a565b9150612e4f82612e0e565b602082019050919050565b60006020820190508181036000830152612e7381612e37565b9050919050565b7f546f74616c20466565732063616e6e6f742065786365656420746865206d617860008201527f696d756d00000000000000000000000000000000000000000000000000000000602082015250565b6000612ed660248361291a565b9150612ee182612e7a565b604082019050919050565b60006020820190508181036000830152612f0581612ec9565b9050919050565b6000604082019050612f216000830185612b4a565b612f2e6020830184612b4a565b9392505050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000612f9160288361291a565b9150612f9c82612f35565b604082019050919050565b60006020820190508181036000830152612fc081612f84565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061300182612a24565b915061300c83612a24565b925082820190508082111561302457613023612fc7565b5b92915050565b7f54726164696e6720616c726561647920656e61626c65642e0000000000000000600082015250565b600061306060188361291a565b915061306b8261302a565b602082019050919050565b6000602082019050818103600083015261308f81613053565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006130f260258361291a565b91506130fd82613096565b604082019050919050565b60006020820190508181036000830152613121816130e5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061316282612a24565b915061316d83612a24565b92508261317d5761317c613128565b5b828204905092915050565b7f53776170546f6b656e734174416d6f756e74206d75737420626520677265617460008201527f6572207468616e20302e3030303125206f6620746f74616c20737570706c7900602082015250565b60006131e4603f8361291a565b91506131ef82613188565b604082019050919050565b60006020820190508181036000830152613213816131d7565b9050919050565b7f4d61726b6574696e672077616c6c657420697320616c7265616479207468617460008201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b600061327660288361291a565b91506132818261321a565b604082019050919050565b600060208201905081810360008301526132a581613269565b9050919050565b7f4d61726b6574696e672077616c6c65742063616e6e6f7420626520746865207a60008201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b6000613308602b8361291a565b9150613313826132ac565b604082019050919050565b60006020820190508181036000830152613337816132fb565b9050919050565b7f4163636f756e7420697320616c7265616479207468652076616c7565206f662060008201527f276578636c756465642700000000000000000000000000000000000000000000602082015250565b600061339a602a8361291a565b91506133a58261333e565b604082019050919050565b600060208201905081810360008301526133c98161338d565b9050919050565b7f73776170456e61626c656420616c72656164792061742074686973207374617460008201527f652e000000000000000000000000000000000000000000000000000000000000602082015250565b600061342c60228361291a565b9150613437826133d0565b604082019050919050565b6000602082019050818103600083015261345b8161341f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006134be60268361291a565b91506134c982613462565b604082019050919050565b600060208201905081810360008301526134ed816134b1565b9050919050565b7f4f776e65722063616e6e6f7420636c61696d20636f6e7472616374277320626160008201527f6c616e6365206f6620697473206f776e20746f6b656e73000000000000000000602082015250565b600061355060378361291a565b915061355b826134f4565b604082019050919050565b6000602082019050818103600083015261357f81613543565b9050919050565b60008151905061359581612a2e565b92915050565b6000602082840312156135b1576135b06129c1565b5b60006135bf84828501613586565b91505092915050565b60006040820190506135dd6000830185612c51565b6135ea6020830184612b4a565b9392505050565b60008151905061360081612cd5565b92915050565b60006020828403121561361c5761361b6129c1565b5b600061362a848285016135f1565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061368f60248361291a565b915061369a82613633565b604082019050919050565b600060208201905081810360008301526136be81613682565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061372160228361291a565b915061372c826136c5565b604082019050919050565b6000602082019050818103600083015261375081613714565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006137b360258361291a565b91506137be82613757565b604082019050919050565b600060208201905081810360008301526137e2816137a6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061384560238361291a565b9150613850826137e9565b604082019050919050565b6000602082019050818103600083015261387481613838565b9050919050565b7f54726164696e67206e6f742079657420656e61626c6564210000000000000000600082015250565b60006138b160188361291a565b91506138bc8261387b565b602082019050919050565b600060208201905081810360008301526138e0816138a4565b9050919050565b60006138f282612a24565b91506138fd83612a24565b925082820261390b81612a24565b9150828204841483151761392257613921612fc7565b5b5092915050565b600061393482612a24565b915061393f83612a24565b925082820390508181111561395757613956612fc7565b5b92915050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000613993601d8361291a565b915061399e8261395d565b602082019050919050565b600060208201905081810360008301526139c281613986565b9050919050565b600081905092915050565b50565b60006139e46000836139c9565b91506139ef826139d4565b600082019050919050565b6000613a05826139d7565b9150819050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613a6b60268361291a565b9150613a7682613a0f565b604082019050919050565b60006020820190508181036000830152613a9a81613a5e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613b0e816129f8565b92915050565b600060208284031215613b2a57613b296129c1565b5b6000613b3884828501613aff565b91505092915050565b6000819050919050565b6000613b66613b61613b5c84613b41565b612ad0565b612a24565b9050919050565b613b7681613b4b565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613bb1816129e6565b82525050565b6000613bc38383613ba8565b60208301905092915050565b6000602082019050919050565b6000613be782613b7c565b613bf18185613b87565b9350613bfc83613b98565b8060005b83811015613c2d578151613c148882613bb7565b9750613c1f83613bcf565b925050600181019050613c00565b5085935050505092915050565b600060a082019050613c4f6000830188612b4a565b613c5c6020830187613b6d565b8181036040830152613c6e8186613bdc565b9050613c7d6060830185612c51565b613c8a6080830184612b4a565b969550505050505056fea2646970667358221220db267e0bde30b72d23c659d97e0b3d014c03c4155d606d142670be88e6c5b36264736f6c63430008110033
Deployed Bytecode Sourcemap
15703:7412:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10989:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11902:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15788:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11309:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19168:620;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12079:573;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11209:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12660:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15836:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20183:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19035:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15944:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16188:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11425:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10176:148;;;;;;;;;;;;;:::i;:::-;;16074:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20218:223;;;;;;;;;;;;;:::i;:::-;;9962:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11097:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12883:413;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11560:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16027:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22153:304;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19796:379;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18737:290;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15984:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11743:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21966:179;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16114:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10332:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18264:465;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10989:100;11043:13;11076:5;11069:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10989:100;:::o;11902:169::-;11985:4;12002:39;12011:12;:10;:12::i;:::-;12025:7;12034:6;12002:8;:39::i;:::-;12059:4;12052:11;;11902:169;;;;:::o;15788:41::-;;;;;;;;;;;;;:::o;11309:108::-;11370:7;11397:12;;11390:19;;11309:108;:::o;19168:620::-;10099:12;:10;:12::i;:::-;10089:22;;:6;;;;;;;;;;;:22;;;10081:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19329:19:::1;19308:18;:40;;;;19379:18;19359:17;:38;;;;19433:23;19408:22;:48;;;;19498:2;19477:17;;:23;;19469:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;19582:2;19560:18;;:24;;19552:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;19670:2;19644:22;;:28;;19636:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;19731:49;19742:18;;19762:17;;19731:49;;;;;;;:::i;:::-;;;;;;;;19168:620:::0;;;:::o;12079:573::-;12219:4;12236:24;12263:11;:19;12275:6;12263:19;;;;;;;;;;;;;;;:33;12283:12;:10;:12::i;:::-;12263:33;;;;;;;;;;;;;;;;12236:60;;12331:17;12311:16;:37;12307:265;;12393:6;12373:16;:26;;12365:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;12488:57;12497:6;12505:12;:10;:12::i;:::-;12538:6;12519:16;:25;12488:8;:57::i;:::-;12307:265;12584:36;12594:6;12602:9;12613:6;12584:9;:36::i;:::-;12640:4;12633:11;;;12079:573;;;;;:::o;11209:92::-;11267:5;11292:1;11285:8;;11209:92;:::o;12660:215::-;12748:4;12765:80;12774:12;:10;:12::i;:::-;12788:7;12834:10;12797:11;:25;12809:12;:10;:12::i;:::-;12797:25;;;;;;;;;;;;;;;:34;12823:7;12797:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;12765:8;:80::i;:::-;12863:4;12856:11;;12660:215;;;;:::o;15836:29::-;;;;;;;;;;;;;:::o;20183:26::-;;;;;;;;;;;;;:::o;19035:125::-;19100:4;19124:19;:28;19144:7;19124:28;;;;;;;;;;;;;;;;;;;;;;;;;19117:35;;19035:125;;;:::o;15944:33::-;;;;:::o;16188:26::-;;;;;;;;;;;;;:::o;11425:127::-;11499:7;11526:9;:18;11536:7;11526:18;;;;;;;;;;;;;;;;11519:25;;11425:127;;;:::o;10176:148::-;10099:12;:10;:12::i;:::-;10089:22;;:6;;;;;;;;;;;:22;;;10081:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10283:1:::1;10246:40;;10267:6;;;;;;;;;;;10246:40;;;;;;;;;;;;10314:1;10297:6;;:19;;;;;;;;;;;;;;;;;;10176:148::o:0;16074:31::-;;;;;;;;;;;;;:::o;20218:223::-;10099:12;:10;:12::i;:::-;10089:22;;:6;;;;;;;;;;;:22;;;10081:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20281:14:::1;;;;;;;;;;;20280:15;20272:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;20352:4;20335:14;;:21;;;;;;;;;;;;;;;;;;20381:4;20367:11;;:18;;;;;;;;;;;;;;;;;;20403:30;20418:14;;;;;;;;;;;20403:30;;;;;;:::i;:::-;;;;;;;;20218:223::o:0;9962:79::-;10000:7;10027:6;;;;;;;;;;;10020:13;;9962:79;:::o;11097:104::-;11153:13;11186:7;11179:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11097:104;:::o;12883:413::-;12976:4;12993:24;13020:11;:25;13032:12;:10;:12::i;:::-;13020:25;;;;;;;;;;;;;;;:34;13046:7;13020:34;;;;;;;;;;;;;;;;12993:61;;13093:15;13073:16;:35;;13065:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;13186:67;13195:12;:10;:12::i;:::-;13209:7;13237:15;13218:16;:34;13186:8;:67::i;:::-;13284:4;13277:11;;;12883:413;;;;:::o;11560:175::-;11646:4;11663:42;11673:12;:10;:12::i;:::-;11687:9;11698:6;11663:9;:42::i;:::-;11723:4;11716:11;;11560:175;;;;:::o;16027:38::-;;;;:::o;22153:304::-;10099:12;:10;:12::i;:::-;10089:22;;:6;;;;;;;;;;;:22;;;10081:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22268:9:::1;22252:13;:11;:13::i;:::-;:25;;;;:::i;:::-;22240:9;:37;22232:113;;;;;;;;;;;;:::i;:::-;;;;;;;;;22377:9;22356:18;:30;;;;22404:45;22430:18;;22404:45;;;;;;:::i;:::-;;;;;;;;22153:304:::0;:::o;19796:379::-;10099:12;:10;:12::i;:::-;10089:22;;:6;;;;;;;;;;;:22;;;10081:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19910:15:::1;;;;;;;;;;;19890:35;;:16;:35;;::::0;19882:87:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;20016:1;19988:30;;:16;:30;;::::0;19980:85:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;20094:16;20076:15;;:34;;;;;;;;;;;;;;;;;;20128:39;20151:15;;;;;;;;;;;20128:39;;;;;;:::i;:::-;;;;;;;;19796:379:::0;:::o;18737:290::-;10099:12;:10;:12::i;:::-;10089:22;;:6;;;;;;;;;;;:22;;;10081:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18863:8:::1;18831:40;;:19;:28;18851:7;18831:28;;;;;;;;;;;;;;;;;;;;;;;;;:40;;::::0;18823:94:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;18959:8;18928:19;:28;18948:7;18928:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;19001:7;18985:34;;;19010:8;18985:34;;;;;;:::i;:::-;;;;;;;;18737:290:::0;;:::o;15984:34::-;;;;:::o;11743:151::-;11832:7;11859:11;:18;11871:5;11859:18;;;;;;;;;;;;;;;:27;11878:7;11859:27;;;;;;;;;;;;;;;;11852:34;;11743:151;;;;:::o;21966:179::-;10099:12;:10;:12::i;:::-;10089:22;;:6;;;;;;;;;;;:22;;;10081:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22057:8:::1;22042:23;;:11;;;;;;;;;;;:23;;::::0;22034:70:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;22129:8;22115:11;;:22;;;;;;;;;;;;;;;;;;21966:179:::0;:::o;16114:34::-;;;;:::o;10332:244::-;10099:12;:10;:12::i;:::-;10089:22;;:6;;;;;;;;;;;:22;;;10081:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10441:1:::1;10421:22;;:8;:22;;::::0;10413:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;10531:8;10502:38;;10523:6;;;;;;;;;;;10502:38;;;;;;;;;;;;10560:8;10551:6;;:17;;;;;;;;;;;;;;;;;;10332:244:::0;:::o;18264:465::-;10099:12;:10;:12::i;:::-;10089:22;;:6;;;;;;;;;;;:22;;;10081:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18360:4:::1;18343:22;;:5;:22;;::::0;18335:90:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;18457:3;18440:21;;:5;:21;;::::0;18436:127:::1;;18478:52;18508:21;18486:10;18478:29;;;;:52;;;;:::i;:::-;;18545:7;;18436:127;18573:17;18600:5;18573:33;;18617:15;18635:10;:20;;;18664:4;18635:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18617:53;;18681:10;:19;;;18701:10;18713:7;18681:40;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18324:405;;10159:1;18264:465:::0;:::o;9285:98::-;9338:7;9365:10;9358:17;;9285:98;:::o;15051:380::-;15204:1;15187:19;;:5;:19;;;15179:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15285:1;15266:21;;:7;:21;;;15258:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15369:6;15339:11;:18;15351:5;15339:18;;;;;;;;;;;;;;;:27;15358:7;15339:27;;;;;;;;;;;;;;;:36;;;;15407:7;15391:32;;15400:5;15391:32;;;15416:6;15391:32;;;;;;:::i;:::-;;;;;;;;15051:380;;;:::o;20449:1509::-;20562:1;20546:18;;:4;:18;;;20538:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20639:1;20625:16;;:2;:16;;;20617:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;20700:14;;;;;;;;;;;:43;;;;20718:19;:25;20738:4;20718:25;;;;;;;;;;;;;;;;;;;;;;;;;20700:43;:70;;;;20747:19;:23;20767:2;20747:23;;;;;;;;;;;;;;;;;;;;;;;;;20700:70;20692:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;20833:1;20823:6;:11;20819:93;;20851:28;20867:4;20873:2;20877:1;20851:15;:28::i;:::-;20894:7;;20819:93;20918:28;20949:24;20967:4;20949:9;:24::i;:::-;20918:55;;20986:12;21025:18;;21001:20;:42;;20986:57;;21060:7;:33;;;;;21085:8;;;;;;;;;;;21084:9;21060:33;:69;;;;;21116:13;;;;;;;;;;;21110:19;;:2;:19;;;21060:69;:97;;;;;21146:11;;;;;;;;;;;21060:97;21056:252;;;21195:4;21184:8;;:15;;;;;;;;;;;;;;;;;;21216:42;21237:20;21216;:42::i;:::-;21291:5;21280:8;;:16;;;;;;;;;;;;;;;;;;21056:252;21320:18;21353:19;:25;21373:4;21353:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;21382:19;:23;21402:2;21382:23;;;;;;;;;;;;;;;;;;;;;;;;;21353:52;:64;;;;21409:8;;;;;;;;;;;21353:64;21349:359;;;21447:1;21434:14;;21349:359;;;21478:13;;;;;;;;;;;21470:21;;:4;:21;;;21466:242;;21521:17;;21508:30;;21466:242;;;21566:13;;;;;;;;;;;21560:19;;:2;:19;;;21556:152;;21610:18;;21596:32;;21556:152;;;21674:22;;21661:35;;21556:152;21466:242;21349:359;21737:1;21724:10;:14;21720:183;;;21755:12;21794:3;21780:10;21771:6;:19;;;;:::i;:::-;21770:27;;;;:::i;:::-;21755:42;;21830:4;21821:6;:13;;;;:::i;:::-;21812:22;;21849:42;21865:4;21879;21886;21849:15;:42::i;:::-;21740:163;21720:183;21917:33;21933:4;21939:2;21943:6;21917:15;:33::i;:::-;20527:1431;;;20449:1509;;;;:::o;8979:266::-;9058:4;9107:6;9082:21;:31;;9074:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;9161:12;9179:9;:14;;9201:6;9179:33;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9160:52;;;9230:7;9223:14;;;8979:266;;;;:::o;13304:733::-;13462:1;13444:20;;:6;:20;;;13436:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;13546:1;13525:23;;:9;:23;;;13517:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13601:47;13622:6;13630:9;13641:6;13601:20;:47::i;:::-;13661:21;13685:9;:17;13695:6;13685:17;;;;;;;;;;;;;;;;13661:41;;13738:6;13721:13;:23;;13713:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;13859:6;13843:13;:22;13823:9;:17;13833:6;13823:17;;;;;;;;;;;;;;;:42;;;;13911:6;13887:9;:20;13897:9;13887:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;13952:9;13935:35;;13944:6;13935:35;;;13963:6;13935:35;;;;;;:::i;:::-;;;;;;;;13983:46;14003:6;14011:9;14022:6;13983:19;:46::i;:::-;13425:612;13304:733;;;:::o;22465:647::-;22535:22;22560:21;22535:46;;22594:21;22632:1;22618:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22594:40;;22663:4;22645;22650:1;22645:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;22689:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22679:4;22684:1;22679:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;22724:15;;;;;;;;;;;:66;;;22805:11;22831:1;22847:4;22874;22894:15;22724:186;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22923:18;22968:14;22944:21;:38;;;;:::i;:::-;22923:59;;22995:46;23030:10;23003:15;;;;;;;;;;;22995:34;;;;:46;;;;:::i;:::-;;23059:45;23080:11;23093:10;23059:45;;;;;;;:::i;:::-;;;;;;;;22524:588;;;22465:647;:::o;15439:125::-;;;;:::o;15572:124::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:152::-;3868:9;3901:37;3932:5;3901:37;:::i;:::-;3888:50;;3792:152;;;:::o;3950:183::-;4063:63;4120:5;4063:63;:::i;:::-;4058:3;4051:76;3950:183;;:::o;4139:274::-;4258:4;4296:2;4285:9;4281:18;4273:26;;4309:97;4403:1;4392:9;4388:17;4379:6;4309:97;:::i;:::-;4139:274;;;;:::o;4419:118::-;4506:24;4524:5;4506:24;:::i;:::-;4501:3;4494:37;4419:118;;:::o;4543:222::-;4636:4;4674:2;4663:9;4659:18;4651:26;;4687:71;4755:1;4744:9;4740:17;4731:6;4687:71;:::i;:::-;4543:222;;;;:::o;4771:619::-;4848:6;4856;4864;4913:2;4901:9;4892:7;4888:23;4884:32;4881:119;;;4919:79;;:::i;:::-;4881:119;5039:1;5064:53;5109:7;5100:6;5089:9;5085:22;5064:53;:::i;:::-;5054:63;;5010:117;5166:2;5192:53;5237:7;5228:6;5217:9;5213:22;5192:53;:::i;:::-;5182:63;;5137:118;5294:2;5320:53;5365:7;5356:6;5345:9;5341:22;5320:53;:::i;:::-;5310:63;;5265:118;4771:619;;;;;:::o;5396:::-;5473:6;5481;5489;5538:2;5526:9;5517:7;5513:23;5509:32;5506:119;;;5544:79;;:::i;:::-;5506:119;5664:1;5689:53;5734:7;5725:6;5714:9;5710:22;5689:53;:::i;:::-;5679:63;;5635:117;5791:2;5817:53;5862:7;5853:6;5842:9;5838:22;5817:53;:::i;:::-;5807:63;;5762:118;5919:2;5945:53;5990:7;5981:6;5970:9;5966:22;5945:53;:::i;:::-;5935:63;;5890:118;5396:619;;;;;:::o;6021:86::-;6056:7;6096:4;6089:5;6085:16;6074:27;;6021:86;;;:::o;6113:112::-;6196:22;6212:5;6196:22;:::i;:::-;6191:3;6184:35;6113:112;;:::o;6231:214::-;6320:4;6358:2;6347:9;6343:18;6335:26;;6371:67;6435:1;6424:9;6420:17;6411:6;6371:67;:::i;:::-;6231:214;;;;:::o;6451:118::-;6538:24;6556:5;6538:24;:::i;:::-;6533:3;6526:37;6451:118;;:::o;6575:222::-;6668:4;6706:2;6695:9;6691:18;6683:26;;6719:71;6787:1;6776:9;6772:17;6763:6;6719:71;:::i;:::-;6575:222;;;;:::o;6803:329::-;6862:6;6911:2;6899:9;6890:7;6886:23;6882:32;6879:119;;;6917:79;;:::i;:::-;6879:119;7037:1;7062:53;7107:7;7098:6;7087:9;7083:22;7062:53;:::i;:::-;7052:63;;7008:117;6803:329;;;;:::o;7138:::-;7197:6;7246:2;7234:9;7225:7;7221:23;7217:32;7214:119;;;7252:79;;:::i;:::-;7214:119;7372:1;7397:53;7442:7;7433:6;7422:9;7418:22;7397:53;:::i;:::-;7387:63;;7343:117;7138:329;;;;:::o;7473:116::-;7543:21;7558:5;7543:21;:::i;:::-;7536:5;7533:32;7523:60;;7579:1;7576;7569:12;7523:60;7473:116;:::o;7595:133::-;7638:5;7676:6;7663:20;7654:29;;7692:30;7716:5;7692:30;:::i;:::-;7595:133;;;;:::o;7734:468::-;7799:6;7807;7856:2;7844:9;7835:7;7831:23;7827:32;7824:119;;;7862:79;;:::i;:::-;7824:119;7982:1;8007:53;8052:7;8043:6;8032:9;8028:22;8007:53;:::i;:::-;7997:63;;7953:117;8109:2;8135:50;8177:7;8168:6;8157:9;8153:22;8135:50;:::i;:::-;8125:60;;8080:115;7734:468;;;;;:::o;8208:474::-;8276:6;8284;8333:2;8321:9;8312:7;8308:23;8304:32;8301:119;;;8339:79;;:::i;:::-;8301:119;8459:1;8484:53;8529:7;8520:6;8509:9;8505:22;8484:53;:::i;:::-;8474:63;;8430:117;8586:2;8612:53;8657:7;8648:6;8637:9;8633:22;8612:53;:::i;:::-;8602:63;;8557:118;8208:474;;;;;:::o;8688:323::-;8744:6;8793:2;8781:9;8772:7;8768:23;8764:32;8761:119;;;8799:79;;:::i;:::-;8761:119;8919:1;8944:50;8986:7;8977:6;8966:9;8962:22;8944:50;:::i;:::-;8934:60;;8890:114;8688:323;;;;:::o;9017:180::-;9065:77;9062:1;9055:88;9162:4;9159:1;9152:15;9186:4;9183:1;9176:15;9203:320;9247:6;9284:1;9278:4;9274:12;9264:22;;9331:1;9325:4;9321:12;9352:18;9342:81;;9408:4;9400:6;9396:17;9386:27;;9342:81;9470:2;9462:6;9459:14;9439:18;9436:38;9433:84;;9489:18;;:::i;:::-;9433:84;9254:269;9203:320;;;:::o;9529:182::-;9669:34;9665:1;9657:6;9653:14;9646:58;9529:182;:::o;9717:366::-;9859:3;9880:67;9944:2;9939:3;9880:67;:::i;:::-;9873:74;;9956:93;10045:3;9956:93;:::i;:::-;10074:2;10069:3;10065:12;10058:19;;9717:366;;;:::o;10089:419::-;10255:4;10293:2;10282:9;10278:18;10270:26;;10342:9;10336:4;10332:20;10328:1;10317:9;10313:17;10306:47;10370:131;10496:4;10370:131;:::i;:::-;10362:139;;10089:419;;;:::o;10514:223::-;10654:34;10650:1;10642:6;10638:14;10631:58;10723:6;10718:2;10710:6;10706:15;10699:31;10514:223;:::o;10743:366::-;10885:3;10906:67;10970:2;10965:3;10906:67;:::i;:::-;10899:74;;10982:93;11071:3;10982:93;:::i;:::-;11100:2;11095:3;11091:12;11084:19;;10743:366;;;:::o;11115:419::-;11281:4;11319:2;11308:9;11304:18;11296:26;;11368:9;11362:4;11358:20;11354:1;11343:9;11339:17;11332:47;11396:131;11522:4;11396:131;:::i;:::-;11388:139;;11115:419;;;:::o;11540:332::-;11661:4;11699:2;11688:9;11684:18;11676:26;;11712:71;11780:1;11769:9;11765:17;11756:6;11712:71;:::i;:::-;11793:72;11861:2;11850:9;11846:18;11837:6;11793:72;:::i;:::-;11540:332;;;;;:::o;11878:227::-;12018:34;12014:1;12006:6;12002:14;11995:58;12087:10;12082:2;12074:6;12070:15;12063:35;11878:227;:::o;12111:366::-;12253:3;12274:67;12338:2;12333:3;12274:67;:::i;:::-;12267:74;;12350:93;12439:3;12350:93;:::i;:::-;12468:2;12463:3;12459:12;12452:19;;12111:366;;;:::o;12483:419::-;12649:4;12687:2;12676:9;12672:18;12664:26;;12736:9;12730:4;12726:20;12722:1;12711:9;12707:17;12700:47;12764:131;12890:4;12764:131;:::i;:::-;12756:139;;12483:419;;;:::o;12908:180::-;12956:77;12953:1;12946:88;13053:4;13050:1;13043:15;13077:4;13074:1;13067:15;13094:191;13134:3;13153:20;13171:1;13153:20;:::i;:::-;13148:25;;13187:20;13205:1;13187:20;:::i;:::-;13182:25;;13230:1;13227;13223:9;13216:16;;13251:3;13248:1;13245:10;13242:36;;;13258:18;;:::i;:::-;13242:36;13094:191;;;;:::o;13291:174::-;13431:26;13427:1;13419:6;13415:14;13408:50;13291:174;:::o;13471:366::-;13613:3;13634:67;13698:2;13693:3;13634:67;:::i;:::-;13627:74;;13710:93;13799:3;13710:93;:::i;:::-;13828:2;13823:3;13819:12;13812:19;;13471:366;;;:::o;13843:419::-;14009:4;14047:2;14036:9;14032:18;14024:26;;14096:9;14090:4;14086:20;14082:1;14071:9;14067:17;14060:47;14124:131;14250:4;14124:131;:::i;:::-;14116:139;;13843:419;;;:::o;14268:224::-;14408:34;14404:1;14396:6;14392:14;14385:58;14477:7;14472:2;14464:6;14460:15;14453:32;14268:224;:::o;14498:366::-;14640:3;14661:67;14725:2;14720:3;14661:67;:::i;:::-;14654:74;;14737:93;14826:3;14737:93;:::i;:::-;14855:2;14850:3;14846:12;14839:19;;14498:366;;;:::o;14870:419::-;15036:4;15074:2;15063:9;15059:18;15051:26;;15123:9;15117:4;15113:20;15109:1;15098:9;15094:17;15087:47;15151:131;15277:4;15151:131;:::i;:::-;15143:139;;14870:419;;;:::o;15295:180::-;15343:77;15340:1;15333:88;15440:4;15437:1;15430:15;15464:4;15461:1;15454:15;15481:185;15521:1;15538:20;15556:1;15538:20;:::i;:::-;15533:25;;15572:20;15590:1;15572:20;:::i;:::-;15567:25;;15611:1;15601:35;;15616:18;;:::i;:::-;15601:35;15658:1;15655;15651:9;15646:14;;15481:185;;;;:::o;15672:250::-;15812:34;15808:1;15800:6;15796:14;15789:58;15881:33;15876:2;15868:6;15864:15;15857:58;15672:250;:::o;15928:366::-;16070:3;16091:67;16155:2;16150:3;16091:67;:::i;:::-;16084:74;;16167:93;16256:3;16167:93;:::i;:::-;16285:2;16280:3;16276:12;16269:19;;15928:366;;;:::o;16300:419::-;16466:4;16504:2;16493:9;16489:18;16481:26;;16553:9;16547:4;16543:20;16539:1;16528:9;16524:17;16517:47;16581:131;16707:4;16581:131;:::i;:::-;16573:139;;16300:419;;;:::o;16725:227::-;16865:34;16861:1;16853:6;16849:14;16842:58;16934:10;16929:2;16921:6;16917:15;16910:35;16725:227;:::o;16958:366::-;17100:3;17121:67;17185:2;17180:3;17121:67;:::i;:::-;17114:74;;17197:93;17286:3;17197:93;:::i;:::-;17315:2;17310:3;17306:12;17299:19;;16958:366;;;:::o;17330:419::-;17496:4;17534:2;17523:9;17519:18;17511:26;;17583:9;17577:4;17573:20;17569:1;17558:9;17554:17;17547:47;17611:131;17737:4;17611:131;:::i;:::-;17603:139;;17330:419;;;:::o;17755:230::-;17895:34;17891:1;17883:6;17879:14;17872:58;17964:13;17959:2;17951:6;17947:15;17940:38;17755:230;:::o;17991:366::-;18133:3;18154:67;18218:2;18213:3;18154:67;:::i;:::-;18147:74;;18230:93;18319:3;18230:93;:::i;:::-;18348:2;18343:3;18339:12;18332:19;;17991:366;;;:::o;18363:419::-;18529:4;18567:2;18556:9;18552:18;18544:26;;18616:9;18610:4;18606:20;18602:1;18591:9;18587:17;18580:47;18644:131;18770:4;18644:131;:::i;:::-;18636:139;;18363:419;;;:::o;18788:229::-;18928:34;18924:1;18916:6;18912:14;18905:58;18997:12;18992:2;18984:6;18980:15;18973:37;18788:229;:::o;19023:366::-;19165:3;19186:67;19250:2;19245:3;19186:67;:::i;:::-;19179:74;;19262:93;19351:3;19262:93;:::i;:::-;19380:2;19375:3;19371:12;19364:19;;19023:366;;;:::o;19395:419::-;19561:4;19599:2;19588:9;19584:18;19576:26;;19648:9;19642:4;19638:20;19634:1;19623:9;19619:17;19612:47;19676:131;19802:4;19676:131;:::i;:::-;19668:139;;19395:419;;;:::o;19820:221::-;19960:34;19956:1;19948:6;19944:14;19937:58;20029:4;20024:2;20016:6;20012:15;20005:29;19820:221;:::o;20047:366::-;20189:3;20210:67;20274:2;20269:3;20210:67;:::i;:::-;20203:74;;20286:93;20375:3;20286:93;:::i;:::-;20404:2;20399:3;20395:12;20388:19;;20047:366;;;:::o;20419:419::-;20585:4;20623:2;20612:9;20608:18;20600:26;;20672:9;20666:4;20662:20;20658:1;20647:9;20643:17;20636:47;20700:131;20826:4;20700:131;:::i;:::-;20692:139;;20419:419;;;:::o;20844:225::-;20984:34;20980:1;20972:6;20968:14;20961:58;21053:8;21048:2;21040:6;21036:15;21029:33;20844:225;:::o;21075:366::-;21217:3;21238:67;21302:2;21297:3;21238:67;:::i;:::-;21231:74;;21314:93;21403:3;21314:93;:::i;:::-;21432:2;21427:3;21423:12;21416:19;;21075:366;;;:::o;21447:419::-;21613:4;21651:2;21640:9;21636:18;21628:26;;21700:9;21694:4;21690:20;21686:1;21675:9;21671:17;21664:47;21728:131;21854:4;21728:131;:::i;:::-;21720:139;;21447:419;;;:::o;21872:242::-;22012:34;22008:1;22000:6;21996:14;21989:58;22081:25;22076:2;22068:6;22064:15;22057:50;21872:242;:::o;22120:366::-;22262:3;22283:67;22347:2;22342:3;22283:67;:::i;:::-;22276:74;;22359:93;22448:3;22359:93;:::i;:::-;22477:2;22472:3;22468:12;22461:19;;22120:366;;;:::o;22492:419::-;22658:4;22696:2;22685:9;22681:18;22673:26;;22745:9;22739:4;22735:20;22731:1;22720:9;22716:17;22709:47;22773:131;22899:4;22773:131;:::i;:::-;22765:139;;22492:419;;;:::o;22917:143::-;22974:5;23005:6;22999:13;22990:22;;23021:33;23048:5;23021:33;:::i;:::-;22917:143;;;;:::o;23066:351::-;23136:6;23185:2;23173:9;23164:7;23160:23;23156:32;23153:119;;;23191:79;;:::i;:::-;23153:119;23311:1;23336:64;23392:7;23383:6;23372:9;23368:22;23336:64;:::i;:::-;23326:74;;23282:128;23066:351;;;;:::o;23423:332::-;23544:4;23582:2;23571:9;23567:18;23559:26;;23595:71;23663:1;23652:9;23648:17;23639:6;23595:71;:::i;:::-;23676:72;23744:2;23733:9;23729:18;23720:6;23676:72;:::i;:::-;23423:332;;;;;:::o;23761:137::-;23815:5;23846:6;23840:13;23831:22;;23862:30;23886:5;23862:30;:::i;:::-;23761:137;;;;:::o;23904:345::-;23971:6;24020:2;24008:9;23999:7;23995:23;23991:32;23988:119;;;24026:79;;:::i;:::-;23988:119;24146:1;24171:61;24224:7;24215:6;24204:9;24200:22;24171:61;:::i;:::-;24161:71;;24117:125;23904:345;;;;:::o;24255:223::-;24395:34;24391:1;24383:6;24379:14;24372:58;24464:6;24459:2;24451:6;24447:15;24440:31;24255:223;:::o;24484:366::-;24626:3;24647:67;24711:2;24706:3;24647:67;:::i;:::-;24640:74;;24723:93;24812:3;24723:93;:::i;:::-;24841:2;24836:3;24832:12;24825:19;;24484:366;;;:::o;24856:419::-;25022:4;25060:2;25049:9;25045:18;25037:26;;25109:9;25103:4;25099:20;25095:1;25084:9;25080:17;25073:47;25137:131;25263:4;25137:131;:::i;:::-;25129:139;;24856:419;;;:::o;25281:221::-;25421:34;25417:1;25409:6;25405:14;25398:58;25490:4;25485:2;25477:6;25473:15;25466:29;25281:221;:::o;25508:366::-;25650:3;25671:67;25735:2;25730:3;25671:67;:::i;:::-;25664:74;;25747:93;25836:3;25747:93;:::i;:::-;25865:2;25860:3;25856:12;25849:19;;25508:366;;;:::o;25880:419::-;26046:4;26084:2;26073:9;26069:18;26061:26;;26133:9;26127:4;26123:20;26119:1;26108:9;26104:17;26097:47;26161:131;26287:4;26161:131;:::i;:::-;26153:139;;25880:419;;;:::o;26305:224::-;26445:34;26441:1;26433:6;26429:14;26422:58;26514:7;26509:2;26501:6;26497:15;26490:32;26305:224;:::o;26535:366::-;26677:3;26698:67;26762:2;26757:3;26698:67;:::i;:::-;26691:74;;26774:93;26863:3;26774:93;:::i;:::-;26892:2;26887:3;26883:12;26876:19;;26535:366;;;:::o;26907:419::-;27073:4;27111:2;27100:9;27096:18;27088:26;;27160:9;27154:4;27150:20;27146:1;27135:9;27131:17;27124:47;27188:131;27314:4;27188:131;:::i;:::-;27180:139;;26907:419;;;:::o;27332:222::-;27472:34;27468:1;27460:6;27456:14;27449:58;27541:5;27536:2;27528:6;27524:15;27517:30;27332:222;:::o;27560:366::-;27702:3;27723:67;27787:2;27782:3;27723:67;:::i;:::-;27716:74;;27799:93;27888:3;27799:93;:::i;:::-;27917:2;27912:3;27908:12;27901:19;;27560:366;;;:::o;27932:419::-;28098:4;28136:2;28125:9;28121:18;28113:26;;28185:9;28179:4;28175:20;28171:1;28160:9;28156:17;28149:47;28213:131;28339:4;28213:131;:::i;:::-;28205:139;;27932:419;;;:::o;28357:174::-;28497:26;28493:1;28485:6;28481:14;28474:50;28357:174;:::o;28537:366::-;28679:3;28700:67;28764:2;28759:3;28700:67;:::i;:::-;28693:74;;28776:93;28865:3;28776:93;:::i;:::-;28894:2;28889:3;28885:12;28878:19;;28537:366;;;:::o;28909:419::-;29075:4;29113:2;29102:9;29098:18;29090:26;;29162:9;29156:4;29152:20;29148:1;29137:9;29133:17;29126:47;29190:131;29316:4;29190:131;:::i;:::-;29182:139;;28909:419;;;:::o;29334:410::-;29374:7;29397:20;29415:1;29397:20;:::i;:::-;29392:25;;29431:20;29449:1;29431:20;:::i;:::-;29426:25;;29486:1;29483;29479:9;29508:30;29526:11;29508:30;:::i;:::-;29497:41;;29687:1;29678:7;29674:15;29671:1;29668:22;29648:1;29641:9;29621:83;29598:139;;29717:18;;:::i;:::-;29598:139;29382:362;29334:410;;;;:::o;29750:194::-;29790:4;29810:20;29828:1;29810:20;:::i;:::-;29805:25;;29844:20;29862:1;29844:20;:::i;:::-;29839:25;;29888:1;29885;29881:9;29873:17;;29912:1;29906:4;29903:11;29900:37;;;29917:18;;:::i;:::-;29900:37;29750:194;;;;:::o;29950:179::-;30090:31;30086:1;30078:6;30074:14;30067:55;29950:179;:::o;30135:366::-;30277:3;30298:67;30362:2;30357:3;30298:67;:::i;:::-;30291:74;;30374:93;30463:3;30374:93;:::i;:::-;30492:2;30487:3;30483:12;30476:19;;30135:366;;;:::o;30507:419::-;30673:4;30711:2;30700:9;30696:18;30688:26;;30760:9;30754:4;30750:20;30746:1;30735:9;30731:17;30724:47;30788:131;30914:4;30788:131;:::i;:::-;30780:139;;30507:419;;;:::o;30932:147::-;31033:11;31070:3;31055:18;;30932:147;;;;:::o;31085:114::-;;:::o;31205:398::-;31364:3;31385:83;31466:1;31461:3;31385:83;:::i;:::-;31378:90;;31477:93;31566:3;31477:93;:::i;:::-;31595:1;31590:3;31586:11;31579:18;;31205:398;;;:::o;31609:379::-;31793:3;31815:147;31958:3;31815:147;:::i;:::-;31808:154;;31979:3;31972:10;;31609:379;;;:::o;31994:225::-;32134:34;32130:1;32122:6;32118:14;32111:58;32203:8;32198:2;32190:6;32186:15;32179:33;31994:225;:::o;32225:366::-;32367:3;32388:67;32452:2;32447:3;32388:67;:::i;:::-;32381:74;;32464:93;32553:3;32464:93;:::i;:::-;32582:2;32577:3;32573:12;32566:19;;32225:366;;;:::o;32597:419::-;32763:4;32801:2;32790:9;32786:18;32778:26;;32850:9;32844:4;32840:20;32836:1;32825:9;32821:17;32814:47;32878:131;33004:4;32878:131;:::i;:::-;32870:139;;32597:419;;;:::o;33022:180::-;33070:77;33067:1;33060:88;33167:4;33164:1;33157:15;33191:4;33188:1;33181:15;33208:180;33256:77;33253:1;33246:88;33353:4;33350:1;33343:15;33377:4;33374:1;33367:15;33394:143;33451:5;33482:6;33476:13;33467:22;;33498:33;33525:5;33498:33;:::i;:::-;33394:143;;;;:::o;33543:351::-;33613:6;33662:2;33650:9;33641:7;33637:23;33633:32;33630:119;;;33668:79;;:::i;:::-;33630:119;33788:1;33813:64;33869:7;33860:6;33849:9;33845:22;33813:64;:::i;:::-;33803:74;;33759:128;33543:351;;;;:::o;33900:85::-;33945:7;33974:5;33963:16;;33900:85;;;:::o;33991:158::-;34049:9;34082:61;34100:42;34109:32;34135:5;34109:32;:::i;:::-;34100:42;:::i;:::-;34082:61;:::i;:::-;34069:74;;33991:158;;;:::o;34155:147::-;34250:45;34289:5;34250:45;:::i;:::-;34245:3;34238:58;34155:147;;:::o;34308:114::-;34375:6;34409:5;34403:12;34393:22;;34308:114;;;:::o;34428:184::-;34527:11;34561:6;34556:3;34549:19;34601:4;34596:3;34592:14;34577:29;;34428:184;;;;:::o;34618:132::-;34685:4;34708:3;34700:11;;34738:4;34733:3;34729:14;34721:22;;34618:132;;;:::o;34756:108::-;34833:24;34851:5;34833:24;:::i;:::-;34828:3;34821:37;34756:108;;:::o;34870:179::-;34939:10;34960:46;35002:3;34994:6;34960:46;:::i;:::-;35038:4;35033:3;35029:14;35015:28;;34870:179;;;;:::o;35055:113::-;35125:4;35157;35152:3;35148:14;35140:22;;35055:113;;;:::o;35204:732::-;35323:3;35352:54;35400:5;35352:54;:::i;:::-;35422:86;35501:6;35496:3;35422:86;:::i;:::-;35415:93;;35532:56;35582:5;35532:56;:::i;:::-;35611:7;35642:1;35627:284;35652:6;35649:1;35646:13;35627:284;;;35728:6;35722:13;35755:63;35814:3;35799:13;35755:63;:::i;:::-;35748:70;;35841:60;35894:6;35841:60;:::i;:::-;35831:70;;35687:224;35674:1;35671;35667:9;35662:14;;35627:284;;;35631:14;35927:3;35920:10;;35328:608;;;35204:732;;;;:::o;35942:831::-;36205:4;36243:3;36232:9;36228:19;36220:27;;36257:71;36325:1;36314:9;36310:17;36301:6;36257:71;:::i;:::-;36338:80;36414:2;36403:9;36399:18;36390:6;36338:80;:::i;:::-;36465:9;36459:4;36455:20;36450:2;36439:9;36435:18;36428:48;36493:108;36596:4;36587:6;36493:108;:::i;:::-;36485:116;;36611:72;36679:2;36668:9;36664:18;36655:6;36611:72;:::i;:::-;36693:73;36761:3;36750:9;36746:19;36737:6;36693:73;:::i;:::-;35942:831;;;;;;;;:::o
Swarm Source
ipfs://db267e0bde30b72d23c659d97e0b3d014c03c4155d606d142670be88e6c5b362
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.